@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,600&family=Playfair+Display:ital,wght@1,500&display=swap");
/* ===== Property GPS · site-wide design system (prototype) ===== */
:root {
  --bg:#f6f4f0; --card:#fff; --ink:#1c1c1c; --muted:#666; --soft:#8c8c8c;
  --gold:#b8873a; --gold-2:#a77a32; --gold-soft:#f8f1e5; --gold-line:#ecdcc0;
  --line:#ebe6dd; --dark:#1b1b1b; --dark-2:#242424;
  --wa:#25d366; --wa-2:#1ebe5a; --heart:#e0493c;
  --radius:12px; --pad:24px; --gap:16px; --max:1160px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow-h:0 14px 30px rgba(0,0,0,.09);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Inter","Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button, input, select { font-family:inherit; }
img { display:block; max-width:100%; }
svg.i { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
svg.wa { width:17px; height:17px; fill:currentColor; flex:0 0 auto; }
.inner { max-width:var(--max); margin:0 auto; padding:0 28px; }
[hidden] { display:none !important; }
.sample { position:absolute; left:8px; bottom:8px; z-index:3; background:rgba(0,0,0,.55); color:#fff; font-size:10px; padding:2px 6px; border-radius:4px; }

/* ---------- buttons ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:8px; padding:12px 18px; font-weight:600; font-size:14px; cursor:pointer; border:1px solid transparent; transition:transform .2s var(--ease), box-shadow .2s, background .2s, color .2s; white-space:nowrap; }
.btn:hover { transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.08); }
.btn-gold { background:var(--gold); color:#fff; border-color:var(--gold); } .btn-gold:hover { background:var(--gold-2); }
.btn-line { background:#fff; color:var(--ink); border-color:var(--gold); } .btn-line svg { color:var(--gold); }
.btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); } .btn-ghost:hover { background:rgba(255,255,255,.1); }
.btn-wa { background:var(--wa); color:#fff; border-color:var(--wa); } .btn-wa:hover { background:var(--wa-2); }
.btn-sm { padding:9px 14px; font-size:13px; }
.link-gold { color:var(--gold); font-weight:600; font-size:14px; display:inline-flex; gap:6px; align-items:center; }
.link-gold i { font-style:normal; transition:transform .2s; } .link-gold:hover i { transform:translateX(3px); }

/* ---------- header ---------- */
.hdr { position:sticky; top:0; z-index:90; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.hdr .inner { display:flex; align-items:center; justify-content:space-between; height:72px; gap:20px; }
.hdr .logo img { height:58px; margin-left:-10px; }
.nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:500; }
.nav > a, .dd > span { position:relative; padding:6px 0; cursor:pointer; transition:color .2s; display:inline-flex; gap:4px; align-items:center; }
.nav > a::after, .dd > span::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .25s var(--ease); }
.nav > a:hover, .nav > a.on, .dd:hover > span, .dd.on > span { color:var(--gold); }
.nav > a.on::after, .dd.on > span::after { transform:scaleX(1); }
.dd { position:relative; }
.dd-menu { position:absolute; top:100%; left:-16px; margin-top:10px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.1); padding:8px; min-width:250px; opacity:0; transform:translateY(6px); pointer-events:none; transition:.22s var(--ease); }
.dd::before { content:""; position:absolute; left:0; right:0; top:100%; height:12px; }
.dd:hover .dd-menu { opacity:1; transform:none; pointer-events:auto; }
.dd-menu a { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-radius:8px; font-size:14px; }
.dd-menu a:hover { background:var(--gold-soft); color:var(--gold-2); }
.dd-menu a em { font-style:normal; font-size:12px; color:var(--soft); }
.hdr-r { display:flex; align-items:center; gap:12px; }
.saved { position:relative; display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); color:var(--ink); transition:.2s; }
.saved:hover, .saved.on { border-color:var(--heart); color:var(--heart); }
.saved b { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 4px; border-radius:9px; background:var(--heart); color:#fff; font-size:10.5px; display:grid; place-items:center; }
.saved b.zero { display:none; }
.saved.bump { animation:bump .4s var(--ease); }
@keyframes bump { 50% { transform:scale(1.18); } }
.burger { display:none; width:40px; height:40px; border:0; background:none; cursor:pointer; color:var(--ink); }
.drawer { position:fixed; inset:0; z-index:150; pointer-events:none; }
.drawer .shade { position:absolute; inset:0; background:rgba(0,0,0,.4); opacity:0; transition:.3s; }
.drawer .panel { position:absolute; right:0; top:0; bottom:0; width:86%; max-width:360px; background:#fff; transform:translateX(100%); transition:transform .35s var(--ease); display:flex; flex-direction:column; padding:18px; }
.drawer.open { pointer-events:auto; } .drawer.open .shade { opacity:1; } .drawer.open .panel { transform:none; }
.drawer .top { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; } .drawer .top img { height:44px; margin-left:-8px; }
.drawer .x { width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; display:grid; place-items:center; }
.drawer nav a { display:flex; justify-content:space-between; align-items:center; padding:14px 4px; border-bottom:1px solid var(--line); font-size:15px; font-weight:600; }
.drawer nav a.sub { padding-left:16px; font-weight:500; font-size:14px; color:#444; }
.drawer nav a em { font-style:normal; font-size:12px; color:var(--soft); }
.drawer .foot-cta { margin-top:auto; display:grid; gap:10px; }

/* ---------- breadcrumb ---------- */
.crumb { font-size:13px; color:var(--muted); padding:22px 0 18px; display:flex; flex-wrap:wrap; align-items:center; }
.crumb a { border-bottom:1px solid transparent; transition:.2s; } .crumb a:hover { color:var(--gold); border-bottom-color:var(--gold); }
.crumb .sep { margin:0 10px; color:#bbb; } .crumb b { color:var(--ink); font-weight:600; }

/* ---------- section titles ---------- */
.sec { padding:64px 0; }
.sec.tight { padding:40px 0; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:0 0 10px; }
.h2 { font-size:32px; font-weight:800; letter-spacing:-.015em; margin:0 0 10px; line-height:1.2; }
.sub { color:var(--muted); font-size:15px; line-height:1.6; margin:0; max-width:620px; }
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:28px; }
.ttl { font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin:0 0 18px; display:flex; align-items:center; gap:8px; }
.ttl::before { content:""; width:3px; height:14px; background:var(--gold); border-radius:2px; }
.card { background:var(--card); border-radius:var(--radius); border:1px solid var(--line); padding:var(--pad); }

/* ---------- property card (one standard for the whole site) ---------- */
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pc { position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .3s, transform .3s var(--ease), border-color .3s; }
.pc:hover { box-shadow:var(--shadow-h); transform:translateY(-4px); }
.pc.featured { border-color:var(--gold-line); }
.pc-im { position:relative; aspect-ratio:16/10; overflow:hidden; background:#e9e5de; }
.pc-im img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.pc:hover .pc-im img { transform:scale(1.06); }
.pc-im .ph { position:absolute; inset:0; display:grid; place-items:center; color:#b9ae9a; background:linear-gradient(135deg,#efe9df,#e2d9ca); }
.pc-im .ph svg { width:56px; height:56px; stroke-width:1.1; }
.badges { position:absolute; top:12px; left:12px; display:flex; gap:6px; z-index:2; flex-wrap:wrap; }
.badge { color:#fff; font-size:11.5px; font-weight:700; padding:4px 8px; border-radius:4px; letter-spacing:.05em; }
.b-popular { background:#b03a2e; } .b-new { background:#2e7d4f; }
.b-feat { background:var(--gold); display:inline-flex; align-items:center; gap:4px; } .b-feat svg { width:10px; height:10px; fill:#fff; stroke:none; }
.hrt { position:absolute; right:10px; top:10px; z-index:3; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.94); border:0; display:grid; place-items:center; cursor:pointer; color:#555; transition:.2s; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.hrt:hover { color:var(--heart); transform:scale(1.06); }
.hrt.on, .fav.on { color:var(--heart); } .hrt.on svg, .fav.on svg { fill:var(--heart); animation:pop .35s var(--ease); }
@keyframes pop { 0% { transform:scale(.6); } 60% { transform:scale(1.25); } 100% { transform:scale(1); } }
.pc-cnt { position:absolute; right:10px; bottom:10px; z-index:2; background:rgba(0,0,0,.55); color:#fff; font-size:11.5px; padding:4px 8px; border-radius:6px; display:flex; gap:5px; align-items:center; backdrop-filter:blur(4px); }
.pc-cnt svg { width:13px; height:13px; }
.pc-b { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.pc-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:6px; min-height:20px; }
.pc-type { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.feat { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; color:var(--gold-2); background:var(--gold-soft); border:1px solid var(--gold-line); padding:2px 8px 2px 6px; border-radius:999px; }
.feat svg { width:12px; height:12px; fill:var(--gold); stroke:none; }
.pc-nm { font-size:17px; font-weight:700; margin:0 0 4px; transition:color .2s; line-height:1.3; }
.pc:hover .pc-nm { color:var(--gold-2); }
.pc-lc { font-size:13px; color:var(--muted); display:flex; gap:5px; align-items:center; } .pc-lc svg { width:14px; height:14px; color:var(--gold); }
.pc-pr { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-top:12px; }
.pc-pr b { color:var(--gold); font-size:19px; font-weight:800; letter-spacing:-.01em; } .pc-pr b small { color:var(--soft); font-weight:500; font-size:12px; margin-right:4px; letter-spacing:0; }
.pc-pr span { font-size:12px; color:var(--soft); white-space:nowrap; }
.pc-mf { display:flex; justify-content:space-between; gap:6px; /* equal space between the 3 facts, whatever their length (2026-10-07) */ margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.pc-mf div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.pc-mf small { font-size:11.5px; color:var(--soft); display:flex; gap:4px; align-items:center; white-space:nowrap; } .pc-mf small svg { width:13px; height:13px; color:var(--gold); }
.pc-mf span { font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-ft { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:14px; }
.st { font-size:11.5px; font-weight:600; color:#6b5a3a; background:#f4ede1; padding:4px 9px; border-radius:999px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-acts { display:flex; gap:8px; align-items:center; }
.pc-wa { width:34px; height:34px; border-radius:50%; background:#e9f9ef; color:#1c9e4f; display:grid; place-items:center; border:0; cursor:pointer; transition:.2s; }
.pc-wa:hover { background:var(--wa); color:#fff; }
.pc-go { font-size:13px; font-weight:600; color:var(--gold); display:flex; gap:4px; align-items:center; }
.pc-go i { font-style:normal; transition:transform .2s; } .pc:hover .pc-go i { transform:translateX(3px); }

/* carousel rows (related, featured on mobile) */
.row-scroll { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px) / 3); gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:4px 2px 12px; margin:0 -2px; }
.row-scroll::-webkit-scrollbar { display:none; }
.row-scroll > * { scroll-snap-align:start; }
.arrows { display:flex; gap:8px; }
.arw { width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; display:grid; place-items:center; color:var(--ink); transition:.2s; }
.arw:hover:not(:disabled) { border-color:var(--gold); color:var(--gold); } .arw:disabled { opacity:.35; cursor:default; }
.dots { display:none; justify-content:center; gap:6px; margin-top:8px; }
.dots i { width:6px; height:6px; border-radius:99px; background:#d6cfc3; transition:.3s var(--ease); } .dots i.on { width:18px; background:var(--gold); }

/* ---------- chips / forms ---------- */
.chip { border:1px solid var(--line); background:#fff; border-radius:999px; padding:8px 15px; font-size:13px; font-weight:600; cursor:pointer; color:#444; transition:.2s; white-space:nowrap; }
.chip:hover { border-color:var(--gold); color:var(--gold-2); } .chip.on { background:var(--gold); border-color:var(--gold); color:#fff; }
.chip em { font-style:normal; opacity:.75; font-weight:500; margin-left:4px; }
.sel { appearance:none; border:1px solid var(--line); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8873a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center/16px no-repeat; border-radius:8px; padding:11px 36px 11px 13px; font-size:14px; color:var(--ink); cursor:pointer; transition:border-color .2s, box-shadow .2s; min-width:0; }
.sel:focus { outline:0; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-soft); }
.inp { display:flex; align-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; transition:border-color .2s, box-shadow .2s; }
.inp:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-soft); }
.inp em { font-style:normal; color:var(--soft); font-size:13px; padding-left:12px; } .inp em.r { padding:0 12px 0 0; }
.inp input { flex:1; border:0; outline:0; background:transparent; font-size:14.5px; font-weight:600; padding:11px 12px; min-width:0; color:var(--ink); }
.inp svg { margin-left:12px; color:var(--soft); }

/* ---------- WhatsApp CTA banner (Enquiry B style, reused site-wide) ---------- */
.enq-b { position:relative; border-radius:var(--radius); overflow:hidden; color:#fff; min-height:260px; display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:24px; padding:40px; }
.enq-b .bgimg { position:absolute; inset:0; background-position:center; background-size:cover; transform:scale(1.05); }
.enq-b::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(18,16,12,.93) 0%, rgba(18,16,12,.8) 55%, rgba(18,16,12,.45) 100%); }
.enq-b > *:not(.bgimg) { position:relative; z-index:2; }
.enq-b .eyebrow { margin-bottom:8px; }
.enq-b h3 { font-size:26px; margin:0 0 10px; line-height:1.3; letter-spacing:-.01em; }
.enq-b p { color:#d7d2c8; font-size:14.5px; line-height:1.6; margin:0; }
.trust { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:16px; font-size:12.5px; color:#d7d2c8; }
.trust span { display:flex; gap:5px; align-items:center; } .trust svg { color:var(--gold); width:15px; height:15px; }
.glass { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); border-radius:14px; padding:18px; }
.who { display:flex; gap:10px; align-items:center; font-size:14px; } .who b { font-size:15px; } .who small { color:var(--soft); }
.glass .who small { color:#cfc8bb; }
.av { position:relative; width:52px; height:52px; flex:0 0 52px; } .av img { width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid var(--gold); }
.av i { position:absolute; right:1px; bottom:2px; width:12px; height:12px; border-radius:50%; background:var(--wa); border:2px solid #fff; }
.vbadge { width:17px; height:17px; flex:0 0 17px; vertical-align:-3px; }

/* ---------- footer ---------- */
.ftr { background:var(--dark); color:#aaa; padding:56px 0 28px; font-size:13.5px; margin-top:64px; }
.ftr .cols { display:grid; grid-template-columns:1.3fr .9fr 1fr .9fr 1.4fr; gap:28px; }
.ftr img { height:52px; margin-left:-8px; margin-bottom:10px; }
.ftr h5 { color:var(--gold); font-size:12px; letter-spacing:.12em; margin:6px 0 14px; font-weight:700; }
.ftr .l a { display:block; color:#ddd; padding:5px 0; transition:color .2s; } .ftr .l a:hover { color:var(--gold); }
.ftr .c div { display:flex; gap:10px; margin-bottom:12px; color:#ddd; line-height:1.5; } .ftr .c svg { color:var(--gold); margin-top:2px; }
.ftr .bot { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-top:1px solid #333; margin-top:36px; padding-top:20px; font-size:12.5px; }
.ftr .bot nav { display:flex; gap:24px; } .ftr .bot a:hover { color:var(--gold); }

/* ---------- floating ---------- */
.fab { position:fixed; right:22px; bottom:22px; z-index:120; display:flex; flex-direction:column; align-items:center; gap:12px; }
.totop { position:relative; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.96); border:0; box-shadow:0 4px 14px rgba(0,0,0,.12); display:grid; place-items:center; cursor:pointer; color:var(--ink); opacity:0; transform:translateY(10px); pointer-events:none; transition:.3s var(--ease); }
.totop.show { opacity:1; transform:none; pointer-events:auto; } .totop:hover { color:var(--gold); }
.totop .ring { position:absolute; inset:0; width:42px; height:42px; transform:rotate(-90deg); }
.totop .ring circle { fill:none; stroke-width:2; } .totop .ring .trk { stroke:#eee7da; }
.totop .ring .prg { stroke:var(--gold); stroke-linecap:round; stroke-dasharray:119.4; stroke-dashoffset:119.4; }
.totop svg.i { width:16px; height:16px; position:relative; }
.wa-fab { position:relative; display:flex; align-items:center; }
.wa-btn { width:58px; height:58px; border-radius:50%; background:var(--wa); display:grid; place-items:center; box-shadow:0 8px 22px rgba(37,211,102,.4); cursor:pointer; position:relative; transition:transform .25s var(--ease); border:0; }
.wa-btn svg { width:28px; height:28px; fill:#fff; } .wa-btn:hover { transform:scale(1.06); }
.wa-btn::after { content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--wa); animation:pulse 2.4s ease-out infinite; }
@keyframes pulse { 0% { transform:scale(1); opacity:.7; } 80%,100% { transform:scale(1.6); opacity:0; } }
.wa-pop { position:absolute; right:70px; bottom:0; width:280px; background:#fff; border-radius:14px; box-shadow:0 12px 34px rgba(0,0,0,.16); padding:14px; opacity:0; transform:translateX(10px) scale(.96); transform-origin:right bottom; pointer-events:none; transition:.28s var(--ease); }
.wa-pop.show { opacity:1; transform:none; pointer-events:auto; }
@media (hover:hover) and (pointer:fine) { .wa-fab:not(.noh):hover .wa-pop { opacity:1; transform:none; pointer-events:auto; } }
.wa-pop::after { content:""; position:absolute; right:-6px; bottom:22px; width:12px; height:12px; background:#fff; transform:rotate(45deg); }
.wa-pop .who { margin-bottom:10px; } .wa-pop .who b { font-size:14px; } .wa-pop .av, .wa-pop .av img { width:40px; height:40px; flex-basis:40px; }
.wa-pop .bub { margin:0 0 12px; font-size:13px; line-height:1.5; color:#333; background:#dcf8c6; border-radius:10px 0 10px 10px; padding:8px 10px; white-space:pre-line; }
.wa-pop .bub u { text-decoration:none; color:#1a6fb5; font-size:11.5px; word-break:break-all; }
.wa-pop .btn { width:100%; padding:9px; font-size:13px; }
.wa-pop .x { position:absolute; right:4px; top:4px; width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:50%; background:none; font-size:20px; line-height:1; color:#999; cursor:pointer; z-index:2; } .wa-pop .x:hover { background:#f2f2f2; color:#555; }
.toast { position:fixed; left:50%; bottom:30px; transform:translate(-50%,20px); background:#222; color:#fff; font-size:13px; padding:10px 16px; border-radius:8px; opacity:0; transition:.3s; z-index:500; pointer-events:none; white-space:nowrap; }
/* compare: warning when homes and business properties are mixed (2026-10-07) */
.mixwarn { position:fixed; left:50%; bottom:110px; transform:translate(-50%,24px); width:min(460px, calc(100% - 32px)); display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid #ecd3a2; border-left:6px solid #e0a020; border-radius:14px; padding:16px 18px; box-shadow:0 18px 50px rgba(0,0,0,.22); z-index:600; opacity:0; pointer-events:none; transition:.3s; }
.mixwarn.show { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.mixwarn .mw-ic { flex:0 0 32px; height:32px; border-radius:50%; background:#e0a020; color:#fff; font-weight:800; font-size:18px; display:grid; place-items:center; }
.mixwarn b { font-size:16px; } .mixwarn p { margin:4px 0 12px; font-size:14px; line-height:1.5; color:#444; } .mixwarn .mw-acts { display:flex; gap:8px; }
.toast.show { opacity:1; transform:translate(-50%,0); }

/* ---------- reveal ---------- */
.rv { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.rv.in { opacity:1; transform:none; }
.noanim .rv { opacity:1; transform:none; transition:none; }

/* ---------- empty state ---------- */
.empty { text-align:center; padding:56px 20px; }
.empty .ic { width:72px; height:72px; border-radius:50%; background:var(--gold-soft); color:var(--gold); display:grid; place-items:center; margin:0 auto 18px; }
.empty .ic svg { width:30px; height:30px; }
.empty h3 { font-size:21px; margin:0 0 8px; } .empty p { color:var(--muted); margin:0 auto 20px; max-width:420px; line-height:1.6; }
.empty .acts { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* ---------- mobile ---------- */
@media (max-width:760px) {
  :root { --pad:18px; }
  .inner { padding:0 16px; }
  .hdr .inner { height:62px; } .hdr .logo img { height:46px; }
  .nav, .hdr-r .btn { display:none; }
  .burger { display:grid; place-items:center; }
  .crumb { font-size:12px; padding:14px 0; } .crumb .sep { margin:0 7px; }
  .sec { padding:44px 0; } .sec.tight { padding:28px 0; }
  .h2 { font-size:25px; } .sub { font-size:14px; }
  .sec-head { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:20px; }
  .sec-head .arrows { display:none; }
  .grid3 { grid-template-columns:1fr; gap:16px; }
  .row-scroll { grid-auto-columns:84%; gap:12px; padding-right:16px; }
  .dots { display:flex; }
  .enq-b { grid-template-columns:1fr; padding:26px 20px; } .enq-b h3 { font-size:22px; }
  .ftr { padding:40px 0 100px; margin-top:44px; } .ftr .cols { grid-template-columns:1fr 1fr; gap:24px; } .ftr .cols > :first-child, .ftr .cols > :last-child { grid-column:1 / -1; }
  .ftr .bot { flex-direction:column; } .ftr .bot nav { gap:16px; flex-wrap:wrap; }
  .fab { right:14px; bottom:14px; gap:10px; } .wa-btn { width:54px; height:54px; } .wa-btn svg { width:26px; height:26px; }
  .totop, .totop .ring { width:38px; height:38px; }
  .wa-pop { width:240px; right:64px; }
}

/* =================== v7 additions =================== */
/* premium hover: soft layered shadow, warm tint */
.pc { box-shadow:0 1px 2px rgba(40,30,10,.04); }
.pc:hover { transform:translateY(-4px); border-color:#e6dccb; box-shadow:0 2px 4px rgba(40,30,10,.04), 0 12px 24px -8px rgba(80,56,20,.14), 0 28px 48px -20px rgba(80,56,20,.16); }

/* card photo carousel */
.pc-track { display:flex; width:100%; height:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.pc-track::-webkit-scrollbar { display:none; }
.pc-track img { flex:0 0 100%; width:100%; height:100%; object-fit:cover; scroll-snap-align:start; user-select:none; }
.pc:hover .pc-im img { transform:none; }
.pc-arw { position:absolute; top:50%; transform:translateY(-50%) scale(.9); z-index:3; width:32px; height:32px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--ink); display:grid; place-items:center; cursor:pointer; opacity:0; transition:.25s var(--ease); box-shadow:0 2px 8px rgba(0,0,0,.15); }
.pc-arw svg { width:16px; height:16px; } .pc-arw.l { left:10px; } .pc-arw.r { right:10px; }
.pc:hover .pc-arw { opacity:1; transform:translateY(-50%) scale(1); }
.pc-arw:hover { background:#fff; color:var(--gold); }
.pc-cnt { left:auto; right:10px; bottom:10px; font-size:11.5px; font-weight:600; padding:4px 9px; border-radius:999px; background:rgba(20,20,20,.55); letter-spacing:.02em; font-variant-numeric:tabular-nums; }
.pc-cnt b { font-weight:700; }
.pc-dots { position:absolute; left:50%; bottom:13px; transform:translateX(-50%); z-index:2; display:flex; gap:5px; }
.pc-dots i { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.55); transition:.25s; } .pc-dots i.on { background:#fff; transform:scale(1.25); }
.pc-im .ph { flex-direction:column; gap:8px; font-size:12.5px; font-weight:600; letter-spacing:.02em; width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.sample { left:10px; bottom:10px; }
.pc-tools { position:absolute; right:10px; top:10px; z-index:3; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.pc-tools .hrt { position:static; }
.cmpb { height:36px; min-width:36px; border-radius:18px; border:0; background:rgba(255,255,255,.94); color:#555; display:flex; align-items:center; justify-content:center; gap:6px; padding:0 9px; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.1); transition:.25s var(--ease); font-size:12px; font-weight:600; }
.cmpb svg { width:17px; height:17px; }
.cmpb em { font-style:normal; max-width:0; overflow:hidden; white-space:nowrap; transition:max-width .3s var(--ease); }
.pc:hover .cmpb em, .cmpb.on em { max-width:90px; }
.cmpb:hover { color:var(--gold-2); }
.cmpb.on { background:var(--gold); color:#fff; } .cmpb.on em { font-size:0; } .cmpb.on em::after { content:"Added"; font-size:12px; }
.por { color:var(--ink) !important; font-size:15px !important; font-weight:700 !important; }

/* card variants: A = full, B = clean (default), C = minimal */
.card-b .pc-est, .card-b .pc-wa { display:none; }
.card-c .pc-est, .card-c .pc-wa, .card-c .pc-top, .card-c .st { display:none; }
.card-c .pc-ft { padding-top:12px; justify-content:flex-end; }

/* compare tray */
.cmp-tray { position:fixed; left:50%; bottom:20px; z-index:110; transform:translate(-50%, 140%); transition:transform .4s var(--ease); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 50px rgba(0,0,0,.16); padding:10px 12px 10px 16px; display:flex; align-items:center; gap:16px; width:min(860px, calc(100% - 140px)); }
.cmp-tray.show { transform:translate(-50%, 0); }
.ct-l { display:flex; align-items:center; gap:8px; white-space:nowrap; } .ct-l svg { color:var(--gold); } .ct-n { font-size:12px; color:var(--soft); }
.ct-items { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; flex:1; min-width:0; }
.ct-it { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; padding:5px 8px 5px 5px; min-width:0; position:relative; }
.ct-it.empty { border-style:dashed; color:var(--soft); }
.ct-im { width:40px; height:30px; border-radius:6px; overflow:hidden; flex:0 0 40px; background:var(--gold-soft); display:grid; place-items:center; color:var(--gold); font-weight:700; }
.ct-im img { width:100%; height:100%; object-fit:cover; }
.ct-nm { font-size:12.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ct-x { margin-left:auto; border:0; background:none; color:#aaa; font-size:16px; cursor:pointer; } .ct-x:hover { color:var(--heart); }
.ct-r { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.ct-clear { border:0; background:none; color:var(--muted); font-size:12.5px; font-weight:600; cursor:pointer; padding:6px; }
#cmpGo.dis { background:#e9e3d8; border-color:#e9e3d8; color:#8c8273; }
body.has-tray .fab { bottom:96px; }
body.has-tray .ftr { padding-bottom:110px; }

/* dropdowns */
.dd2 { position:relative; }
.dd2-btn { width:100%; display:flex; align-items:center; gap:8px; background:none; border:0; cursor:pointer; text-align:left; padding:0; color:#3d3d3d; }
.dd2-btn small { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--soft); margin-bottom:3px; }
.dd2-btn .v { flex:1; font-size:14.5px; font-weight:600; color:#3d3d3d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dd2.set .dd2-btn .v { color:var(--gold-2); }
.dd2-btn .chev { width:16px; height:16px; color:var(--gold); transition:transform .25s; }
.dd2.open .chev { transform:rotate(180deg); }
.dd2-pan { position:absolute; top:calc(100% + 12px); left:-12px; z-index:60; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.14); min-width:240px; padding:8px; opacity:0; transform:translateY(-6px); pointer-events:none; transition:.22s var(--ease); }
.dd2-pan.wide { min-width:340px; }
.dd2.open .dd2-pan { opacity:1; transform:none; pointer-events:auto; }
.dd2-hd { display:none; }
.dd2-list { max-height:320px; overflow:auto; }
.dd2-o, .dd2-st { width:100%; display:flex; align-items:center; gap:10px; background:none; border:0; padding:10px 12px; border-radius:8px; font-size:14px; color:#333; cursor:pointer; text-align:left; }
.dd2-o:hover, .dd2-st:hover { background:var(--gold-soft); }
.dd2-o.on { color:var(--gold-2); font-weight:600; } .dd2-o svg { margin-left:auto; color:var(--gold); width:16px; height:16px; }
.dd2-o em, .dd2-st em { font-style:normal; margin-left:auto; font-size:12px; color:var(--soft); font-weight:500; }
.dd2-st { font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-2); margin-top:4px; }
.dd2-st em { text-transform:none; letter-spacing:0; }
.dd2-o.cbx { padding-left:22px; }
.cb { width:18px; height:18px; border-radius:5px; border:1.5px solid #cfc6b6; flex:0 0 18px; display:grid; place-items:center; transition:.15s; }
.on > .cb { background:var(--gold); border-color:var(--gold); }
.on > .cb::after { content:""; width:9px; height:5px; border:2px solid #fff; border-top:0; border-right:0; transform:rotate(-45deg) translate(1px,-1px); }
.dd2-search { display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:8px; padding:0 10px; margin:4px 4px 8px; }
.dd2-search svg { color:var(--soft); width:16px; height:16px; } .dd2-search input { flex:1; border:0; outline:0; padding:10px 0; font-size:14px; background:transparent; }
.dd2-ft { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:6px; padding:8px 4px 2px; }
.dd2-clear { border:0; background:none; color:var(--muted); font-weight:600; font-size:13px; cursor:pointer; }
.dd2-none { padding:16px; color:var(--soft); text-align:center; font-size:13px; }

@media (max-width:760px) {
  .pc-arw { display:none; }
  .cmpb em { display:none; }
  .cmp-tray { left:0; right:0; bottom:0; transform:translateY(110%); width:auto; border-radius:16px 16px 0 0; padding:10px 12px; gap:10px; flex-wrap:wrap; }
  .cmp-tray.show { transform:none; }
  .cmp-tray { flex-wrap:nowrap; } .ct-l b { display:none; } .ct-items { display:flex; gap:6px; flex:1; } .ct-it { padding:0; border:0; } .ct-it .ct-nm, .ct-it .ct-x { display:none; } .ct-it.empty { display:none; } .ct-im { width:34px; height:34px; flex-basis:34px; border-radius:8px; }
  .ct-r { margin-left:auto; }
  body.has-tray .fab { bottom:150px; }
  .dd2-pan, .dd2-pan.wide { position:fixed; left:0; right:0; top:auto; bottom:0; min-width:0; border-radius:18px 18px 0 0; transform:translateY(100%); padding:14px 14px 18px; max-height:80vh; display:flex; flex-direction:column; z-index:200; }
  .dd2.open .dd2-pan { transform:none; }
  .dd2-hd { display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:16px; padding:2px 4px 10px; }
  .dd2-hd button { border:1px solid var(--line); background:#fff; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; cursor:pointer; }
  .dd2-list { max-height:none; flex:1; }
  body.dd-lock::after { content:""; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:190; }
}

/* =================== v8 =================== */
/* card footer: compare checkbox */
.pc-cmp { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:#fff; border-radius:8px; padding:6px 10px; font-size:12.5px; font-weight:600; color:#555; cursor:pointer; transition:.2s; white-space:nowrap; }
.pc-cmp .cb { width:16px; height:16px; flex-basis:16px; border-radius:4px; }
.pc-cmp:hover { border-color:var(--gold); color:var(--gold-2); }
.pc-cmp.on { border-color:var(--gold); background:var(--gold-soft); color:var(--gold-2); }
.pc-cmp.on .cb { background:var(--gold); border-color:var(--gold); }
.pc-cmp.on .cb::after { content:""; width:8px; height:4px; border:2px solid #fff; border-top:0; border-right:0; transform:rotate(-45deg) translate(1px,-1px); }
.pc-ft .pc-acts { gap:8px; }

/* boxed fields: label above, value inside a clear box */
.dd2-lbl { display:block; font-size:12px; font-weight:700; letter-spacing:.04em; color:#8a7a5c; margin:0 0 7px 2px; }
.dd2 .dd2-btn { height:48px; border:1px solid #e3dccf; border-radius:10px; background:#fff; padding:0 12px; gap:10px; transition:border-color .2s, box-shadow .2s, background .2s; }
.dd2 .dd2-btn:hover { border-color:var(--gold); }
.dd2.open .dd2-btn { border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-soft); }
.dd2 .dd2-btn .lic { width:17px; height:17px; color:var(--gold); }
.dd2 .dd2-btn .v { font-size:14.5px; font-weight:500; color:#3d3d3d; }
.dd2.set .dd2-btn { background:#fdf9f2; border-color:var(--gold-line); } .dd2.set .dd2-btn .v { color:var(--gold-2); font-weight:600; }
.dd2-pan { top:calc(100% + 8px); left:0; }
.dd2-cnt { font-size:12.5px; color:var(--soft); }

/* mobile menu */
.mnav .m1 { display:flex; justify-content:space-between; align-items:center; width:100%; padding:15px 4px; border:0; border-bottom:1px solid var(--line); background:none; font:inherit; font-size:16px; font-weight:700; color:var(--ink); cursor:pointer; text-align:left; }
.mnav .m1 em { font-style:normal; font-size:12px; color:var(--soft); font-weight:500; }
.mnav .macc .chev { width:18px; height:18px; color:var(--gold); transition:transform .25s; }
.mnav .macc.open .chev { transform:rotate(180deg); }
.mnav .msub { display:none; margin:6px 0 10px; padding:4px 0 4px 14px; border-left:2px solid var(--gold-line); background:#fbf8f2; border-radius:0 8px 8px 0; }
.mnav .macc.open + .msub { display:block; }
.mnav .msub a { display:flex; justify-content:space-between; padding:10px 12px 10px 4px; font-size:14px; font-weight:500; color:#555; border:0; }
.mnav .msub a em { font-style:normal; font-size:12px; color:var(--soft); }

/* footer agency line */
.ftr .agency { margin-top:28px; padding-top:18px; border-top:1px solid #333; font-size:12px; color:#8d8d8d; line-height:1.6; }
.ftr .agency + .bot { border-top:0; margin-top:6px; padding-top:6px; }

/* gold heading style options */
.eb-2 .eyebrow { font-family:"Cormorant Garamond", Georgia, serif; font-style:italic; font-weight:600; font-size:21px; letter-spacing:.01em; text-transform:none; }
.eb-3 .eyebrow { display:flex; align-items:center; gap:12px; letter-spacing:.2em; font-size:11.5px; }
.eb-3 .eyebrow::before { content:""; width:32px; height:1px; background:currentColor; }
.eb-4 .eyebrow { font-family:"Playfair Display", Georgia, serif; font-style:italic; font-weight:500; font-size:17px; letter-spacing:0; text-transform:none; }

@media (max-width:760px) {
  .pc-cmp { padding:5px 9px; }
}

/* =================== v9 =================== */
.dd2-pan.show { opacity:1; transform:none; pointer-events:auto; }
#ddShade { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:399; opacity:0; pointer-events:none; transition:opacity .25s; }
#ddShade.on { opacity:1; pointer-events:auto; }
.dd2-pan.port { z-index:400; }
body.dd-lock::after { display:none; }

/* card compare: 3 styles */
.cmp-ic, .cmp-bar, .cmp-txt { display:none; }
.cmp-1 .cmp-txt { display:inline-flex; align-items:center; border:0; background:none; padding:6px 2px; font-size:13px; font-weight:600; color:var(--gold-2); cursor:pointer; white-space:nowrap; }
.cmp-1 .cmp-txt::before { content:"+ Compare"; }
.cmp-1 .cmp-txt:hover::before { text-decoration:underline; }
.cmp-1 .cmp-txt.on { color:#1f7a45; } .cmp-1 .cmp-txt.on::before { content:"✓ Comparing"; }
.cmp-2 .pc-tools { flex-direction:row; align-items:center; }
.cmp-2 .cmp-ic { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; border:0; background:rgba(255,255,255,.94); color:#555; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.1); transition:.2s; position:relative; }
.cmp-2 .cmp-ic svg { width:17px; height:17px; }
.cmp-2 .cmp-ic:hover { color:var(--gold-2); }
.cmp-2 .cmp-ic::after { content:"Compare"; position:absolute; top:calc(100% + 6px); right:0; background:#222; color:#fff; font-size:11px; padding:3px 7px; border-radius:4px; white-space:nowrap; opacity:0; pointer-events:none; transition:.2s; }
.cmp-2 .cmp-ic:hover::after { opacity:1; }
.cmp-2 .cmp-ic.on { background:var(--gold); color:#fff; } .cmp-2 .cmp-ic.on::after { content:"Added to compare"; }
.cmp-3 .cmp-bar { display:inline-flex; align-items:center; gap:6px; position:absolute; left:10px; bottom:10px; z-index:3; border:0; border-radius:999px; background:rgba(255,255,255,.95); color:var(--ink); font-size:12px; font-weight:600; padding:6px 11px 6px 9px; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.12); opacity:0; transform:translateY(6px); transition:.25s var(--ease); }
.cmp-3 .cmp-bar svg { width:15px; height:15px; color:var(--gold); }
.cmp-3 .cmp-bar span::before { content:"Add to compare"; }
.cmp-3 .pc:hover .cmp-bar, .cmp-3 .cmp-bar.on { opacity:1; transform:none; }
.cmp-3 .cmp-bar.on { background:var(--gold); color:#fff; } .cmp-3 .cmp-bar.on svg { color:#fff; } .cmp-3 .cmp-bar.on span::before { content:"Added"; }
.cmp-3 .sample { bottom:auto; top:46px; }

@media (max-width:760px) {
  .dd2-pan, .dd2-pan.wide { z-index:400; }
  .cmp-3 .cmp-bar { opacity:1; transform:none; padding:5px 9px 5px 7px; font-size:11px; }
  .cmp-3 .cmp-bar span::before { content:"Compare"; }
}

@media (max-width:760px) { .dd2-pan, .dd2-pan.wide { top:auto !important; left:0 !important; right:0 !important; bottom:0 !important; } }

/* =================== v10 =================== */
/* section labels: same gold bar + bold dark title as the property page */
.eyebrow { display:flex; align-items:center; gap:8px; font-family:inherit !important; font-style:normal !important; font-size:13px !important; font-weight:700; letter-spacing:.06em !important; text-transform:uppercase !important; color:var(--ink); margin:0 0 12px; }
.eyebrow::before { content:"" !important; display:block; width:3px !important; height:14px !important; background:var(--gold) !important; border-radius:2px; flex:0 0 3px; }
.dark .eyebrow, .enq-b .eyebrow, .hero .eyebrow, .cta-card .eyebrow { color:#fff; }

/* hover labels on the card icons */
.pc-tools .hrt, .pc-tools .cmp-ic { position:relative; }
.pc-tools .hrt::after, .cmp-2 .cmp-ic::after { position:absolute; top:calc(100% + 7px); right:0; background:rgba(20,20,20,.88); color:#fff; font-size:11px; font-weight:600; padding:4px 8px; border-radius:6px; white-space:nowrap; opacity:0; transform:translateY(-3px); pointer-events:none; transition:.2s var(--ease); }
.pc-tools .hrt::after { content:"Add to shortlist"; }
.pc-tools .hrt.on::after { content:"Shortlisted"; }
.cmp-2 .cmp-ic::after { content:"Add to compare"; }
.cmp-2 .cmp-ic.on::after { content:"Added to compare"; }
.pc-tools .hrt:hover::after, .cmp-2 .cmp-ic:hover::after { opacity:1; transform:none; }

/* badges never run into the icons: they wrap to a second line instead */
.pc-im .badges { right:100px; flex-wrap:wrap; align-items:flex-start; }

/* long values stay inside their box with "..." */
.dd2, .dd2-btn { min-width:0; }
.search .seg2, .fbar .seg2 { min-width:0; }

@media (max-width:760px) {
  .pc-tools .hrt::after, .cmp-2 .cmp-ic::after { display:none; }
  .pc-im .badges { right:96px; gap:5px; } .badge { font-size:11px; padding:3px 7px; }
}

/* =================== v11 =================== */
/* heart icon back in place (it inherited an offset from the old position) */
.pc-tools .hrt { top:auto; right:auto; }
/* every card the same height: one line per text row, fixed rows, footer pinned to the bottom */
.grid3, .row-scroll { align-items:stretch; }
.pc { height:100%; }
.pc-top { height:20px; }
.pc-type { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.pc-nm { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-lc { white-space:nowrap; overflow:hidden; } .pc-lc { text-overflow:ellipsis; }
.pc-pr { min-height:27px; }
.pc-mf { min-height:47px; }
.pc-mf .mf-none { grid-column:1 / -1; } .pc-mf .mf-none span { color:var(--soft); font-weight:500; }
.pc-ft { min-height:48px; }
/* back-to-top arrow exactly centred */
.totop { display:flex; align-items:center; justify-content:center; padding:0; }
.totop .ring { left:0; top:0; }
.totop svg.i { display:block; margin:0; }

/* v12: smaller card icons on phones */
@media (max-width:760px) {
  .pc-tools { gap:6px; right:8px; top:8px; }
  .pc-tools .hrt, .cmp-2 .cmp-ic { width:30px; height:30px; }
  .pc-tools .hrt svg, .cmp-2 .cmp-ic svg { width:15px; height:15px; }
  .pc-im .badges { right:80px; top:10px; left:10px; }
}

/* v13: phone card icons 32px, perfectly centred; smaller photo counter */
@media (max-width:760px) {
  .pc-tools .hrt, .cmp-2 .cmp-ic { width:32px; height:32px; padding:0; display:flex; align-items:center; justify-content:center; line-height:0; }
  .pc-tools .hrt svg, .cmp-2 .cmp-ic svg { width:16px; height:16px; display:block; margin:0; }
  .pc-im .badges { right:84px; }
  .pc-cnt { font-size:11px; padding:2px 7px; right:8px; bottom:8px; }
}

/* =================== v14 =================== */
/* budget slider */
.dd2-pan.bp { min-width:360px; padding:18px 18px 12px; }
.bp-val { display:flex; align-items:baseline; justify-content:center; gap:10px; margin:2px 0 16px; }
.bp-val b { font-size:20px; color:var(--gold-2); letter-spacing:-.01em; } .bp-val span { color:var(--soft); font-size:13px; }
.bp-rng { position:relative; height:28px; margin:0 10px; }
.bp-trk { position:absolute; left:0; right:0; top:12px; height:4px; border-radius:2px; background:#e6dfd2; }
.bp-trk i { position:absolute; top:0; height:100%; background:var(--gold); border-radius:2px; }
.bp-rng input { position:absolute; left:-11px; top:0; width:calc(100% + 22px); height:28px; margin:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none; outline:0; }
.bp-rng input::-webkit-slider-runnable-track { background:none; height:28px; }
.bp-rng input::-webkit-slider-thumb { -webkit-appearance:none; pointer-events:auto; width:24px; height:24px; margin-top:2px; border-radius:50%; background:#fff; border:2px solid var(--gold); box-shadow:0 2px 8px rgba(0,0,0,.18); cursor:grab; }
.bp-rng input::-moz-range-thumb { pointer-events:auto; width:20px; height:20px; border-radius:50%; background:#fff; border:2px solid var(--gold); cursor:grab; }
.bp-tk { position:relative; height:18px; margin:6px 10px 14px; font-size:11px; color:var(--soft); }
.bp-tk span { position:absolute; transform:translateX(-50%); white-space:nowrap; } .bp-tk span:first-child { transform:none; } .bp-tk span:last-child { transform:translateX(-100%); }
.bp-q { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px; }
.bp-q button { border:1px solid var(--line); background:#fff; border-radius:999px; padding:7px 12px; font-size:12.5px; font-weight:600; color:#444; cursor:pointer; transition:.2s; }
.bp-q button:hover { border-color:var(--gold); } .bp-q button.on { background:var(--gold); border-color:var(--gold); color:#fff; }

/* smart search box */
.psearch { position:relative; }
.psearch .box { display:flex; align-items:center; gap:10px; height:58px; background:#fff; border:1px solid #e3dccf; border-radius:14px; padding:0 7px 0 18px; box-shadow:0 12px 30px rgba(20,14,4,.06); transition:.2s; }
.psearch .box:focus-within { border-color:var(--gold); box-shadow:0 0 0 4px var(--gold-soft), 0 12px 30px rgba(20,14,4,.06); }
.psearch .box > svg { width:19px; height:19px; color:var(--gold); }
.psearch input { flex:1; border:0; outline:0; background:transparent; font-size:15.5px; color:var(--ink); min-width:0; }
.psearch .clr { border:0; background:#eee; width:22px; height:22px; border-radius:50%; cursor:pointer; color:#666; display:none; } .psearch.has .clr { display:block; }
.psearch .gob { height:44px; padding:0 20px; border-radius:10px; }
.psearch .hint { font-size:12.5px; color:var(--soft); margin:9px 2px 0; }
.psearch .hint button { border:0; background:none; color:var(--gold-2); font-weight:600; cursor:pointer; padding:0 3px; font-size:12.5px; }
.psearch .hint button:hover { text-decoration:underline; }
.sg { position:absolute; left:0; right:0; top:66px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 22px 50px rgba(0,0,0,.14); padding:8px; z-index:80; display:none; max-height:440px; overflow:auto; }
.sg.show { display:block; animation:fade .2s var(--ease); }
.sg .lab { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--soft); padding:8px 10px 4px; }
.sg .row { display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:10px; cursor:pointer; }
.sg .row:hover, .sg .row.act { background:var(--gold-soft); }
.sg .row .ic { width:38px; height:38px; border-radius:10px; background:var(--gold-soft); color:var(--gold); display:grid; place-items:center; flex:0 0 38px; }
.sg .row img { width:56px; height:40px; border-radius:7px; object-fit:cover; flex:0 0 56px; }
.sg .row b { font-size:14px; display:block; } .sg .row small { color:var(--muted); font-size:12.5px; }
.sg .row .go { margin-left:auto; color:var(--gold); }
.sg .chips { display:flex; gap:5px; flex-wrap:wrap; margin-top:4px; }
.sg .chips span { background:#fff; border:1px solid var(--gold-line); color:var(--gold-2); font-size:12px; font-weight:600; padding:2px 8px; border-radius:999px; }
.sg .none { padding:14px 10px; color:var(--muted); font-size:13.5px; }

/* category tiles (icon tabs) */
.ctabs { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.ctab2 { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px; cursor:pointer; transition:.2s; text-align:left; font:inherit; color:var(--ink); }
.ctab2 .ic { width:40px; height:40px; border-radius:10px; background:var(--gold-soft); color:var(--gold); display:grid; place-items:center; flex:0 0 40px; transition:.2s; }
.ctab2 b { font-size:13.5px; display:block; line-height:1.3; } .ctab2 small { color:var(--soft); font-size:12px; }
.ctab2:hover { border-color:var(--gold-line); transform:translateY(-1px); }
.ctab2.on { border-color:var(--gold); background:#fdf9f2; box-shadow:inset 0 0 0 1px var(--gold); }
.ctab2.on .ic { background:var(--gold); color:#fff; }

@media (max-width:760px) {
  .dd2-pan.bp { min-width:0; }
  .psearch .box { height:52px; padding-left:14px; } .psearch input { font-size:15px; } .psearch .gob { display:none; }
  .sg { position:fixed; left:12px; right:12px; top:auto; bottom:12px; max-height:70vh; z-index:400; }
  .ctabs { grid-template-columns:1fr 1fr; gap:8px; }
  .ctabs .ctab2:first-child { grid-column:1 / -1; }
  .ctab2 { gap:10px; padding:9px 10px; }
  .ctab2 .ic { width:32px; height:32px; flex-basis:32px; border-radius:8px; } .ctab2 .ic svg { width:16px; height:16px; }
  .ctab2 b { font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .ctab2 small { font-size:11px; }
  .ctab2 > span:last-child { min-width:0; }
  .search .dd2-btn { gap:7px; padding:0 10px; } .search .dd2-btn .v { font-size:12.5px; } .search .dd2-btn .lic { width:15px; height:15px; }
}

/* =================== v18 =================== */
.hdr-r { gap:10px; }
.hb { position:relative; }
.hb::after { content:attr(data-tip); position:absolute; top:calc(100% + 8px); left:50%; transform:translate(-50%,-3px); background:rgba(20,20,20,.9); color:#fff; font-size:11.5px; font-weight:600; padding:4px 9px; border-radius:6px; white-space:nowrap; opacity:0; pointer-events:none; transition:.2s var(--ease); z-index:5; }
.hb:hover::after { opacity:1; transform:translate(-50%,0); }
.hcmp b { background:var(--gold); }
.hcmp:hover, .hcmp.on { border-color:var(--gold); color:var(--gold-2); }
.hsep { width:1px; height:24px; background:var(--line); margin:0 4px; }
@media (max-width:760px) {
  .hdr-r { gap:6px; } .hsep { display:none; } .hb::after { display:none; }
  .hdr-r .saved { width:36px; height:36px; } .hdr-r .saved svg { width:17px; height:17px; }
}

/* hidden compare bar is fully invisible (not just moved off-screen) */
.cmp-tray { visibility:hidden; } .cmp-tray.show { visibility:visible; }

/* ---------- v2 (2026-10-03): header search + WhatsApp CTA ---------- */
.hsearch { position:relative; flex:0 1 280px; min-width:0; }
.hsearch > .ic { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--soft); display:grid; pointer-events:none; }
.hsearch > .ic svg { width:16px; height:16px; }
.hsearch input { width:100%; height:40px; border:1px solid var(--line); border-radius:999px; background:#faf8f4; padding:0 16px 0 38px; font:inherit; font-size:13.5px; color:var(--ink); outline:none; transition:.2s; }
.hsearch input::placeholder { color:var(--soft); }
.hsearch input:focus { background:#fff; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-soft); }
.hsearch input::-webkit-search-cancel-button { display:none; }
.hsearch .sg { top:50px; left:auto; right:0; width:min(420px, 92vw); }
.hsearch .sg .row img { width:46px; height:38px; object-fit:cover; border-radius:8px; flex:0 0 46px; }
.hsearch .sg .row > div { flex:1; min-width:0; } .hsearch .sg .row b { display:block; font-size:14px; } .hsearch .sg .row small { color:var(--muted); font-size:12px; }
.hsearch .sg .row .go { color:var(--gold); display:grid; } .hsearch .sg .row .go svg { width:15px; height:15px; }
.hsearch .sg .ic.wa { background:#e7f8ee; color:var(--wa); } .hsearch .sg .ic.wa svg { width:18px; height:18px; }
.hsearch-btn { display:none; cursor:pointer; background:#fff; }
.hwa { display:inline-flex; align-items:center; gap:7px; } .hwa svg.wa { width:16px; height:16px; }
@media (max-width:1180px) { .nav { gap:20px; } .hsearch { flex-basis:220px; } }
@media (max-width:980px) {
  .hsearch { display:none; } .hsearch-btn { display:inline-grid; }
  .hdr.sopen .hsearch { display:block; position:absolute; left:0; right:0; top:100%; padding:10px 16px 12px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 12px 24px rgba(0,0,0,.06); animation:fade .2s var(--ease); }
  .hdr.sopen .hsearch > .ic { left:30px; top:30px; transform:none; }
  .hdr.sopen .hsearch input { height:44px; font-size:16px; }
  .hdr.sopen .hsearch .sg { position:absolute; left:16px; right:16px; width:auto; top:62px; bottom:auto; max-height:70vh; z-index:95; }
  .hsearch-btn:focus { outline:none; } .hdr.sopen .hsearch-btn { border-color:var(--gold); color:var(--gold); background:var(--gold-soft); }
}

/* ---------- v2: bigger Properties search; header search appears on /properties only after scrolling past it ---------- */
.psearch .plab { display:block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-2); margin:0 0 8px 2px; }
.psearch .box { height:66px; border:1.5px solid #dcc59a; border-radius:16px; padding:0 8px 0 22px; box-shadow:0 16px 40px rgba(120,84,20,.10); }
.psearch .box > svg { width:22px; height:22px; }
.psearch input { font-size:16.5px; }
.psearch .gob { height:50px; padding:0 30px; font-size:15px; border-radius:11px; }
.psearch .hint { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:12px; font-size:12.5px; }
.psearch .hint button { border:1px solid var(--gold-line); background:#fff; border-radius:999px; padding:4px 11px; font-size:12.5px; }
.psearch .hint button:hover { background:var(--gold-soft); text-decoration:none; }
.hdr.hs-auto:not(.hs-show) .hsearch, .hdr.hs-auto:not(.hs-show) .hsearch-btn { display:none !important; }
@media (max-width:760px) {
  .psearch .box { height:58px; padding:0 6px 0 16px; }
  .psearch .gob { display:inline-flex !important; height:46px; padding:0 16px; font-size:14px; }
  .psearch .plab { font-size:11px; }
}
@media (max-width:760px) { .psearch .hint button:nth-of-type(4) { display:none; } }

/* v2.1 (2026-10-03): "Popular:" clickable chips; smaller mobile placeholder so the full hint fits */
.psearch .hint .hl { font-weight:700; color:var(--ink); margin-right:2px; }
.psearch .hint button { color:var(--ink); font-weight:600; }
.psearch .hint button { display:inline-flex; align-items:center; }
.psearch .hint button::before { content:""; width:11px; height:11px; margin-right:5px; flex:0 0 11px; background:var(--gold); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 8.5l5-5M4.5 3.5h4v4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 8.5l5-5M4.5 3.5h4v4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width:760px) {
  .psearch .box { gap:7px; padding-left:12px; } .psearch .box > svg { width:18px; height:18px; }
  .psearch input::placeholder { font-size:12px; letter-spacing:-.01em; }
  .psearch .gob { padding:0 13px; }
}

/* ---------- Viewing trip modal ---------- */
html.tp-lock { overflow:hidden; }
.tp { position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px; }
.tp-shade { position:absolute; inset:0; background:rgba(20,16,10,.45); opacity:0; transition:opacity .25s; }
.tp-box { position:relative; width:min(560px,100%); max-height:min(860px,100%); display:flex; flex-direction:column; background:#fff; border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.25); transform:translateY(16px); opacity:0; transition:.28s var(--ease); }
.tp.show .tp-shade { opacity:1; } .tp.show .tp-box { transform:none; opacity:1; }
.tp-hd { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:22px 24px 14px; border-bottom:1px solid var(--line); }
.tp-hd .eyebrow { margin-bottom:6px; } .tp-hd h3 { margin:0; font-size:21px; font-weight:800; letter-spacing:-.01em; }
.tp-x { border:0; background:#f3f0ea; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:#555; flex:0 0 34px; } .tp-x svg { width:16px; height:16px; }
.tp-body { overflow:auto; padding:6px 24px 18px; overscroll-behavior:contain; }
.tp-q { margin:18px 0 10px; } .tp-q b { display:block; font-size:14.5px; } .tp-q small { color:var(--muted); font-size:12.5px; }
.tp-list { display:grid; gap:8px; }
.tp-p { display:flex; align-items:center; gap:12px; border:1.5px solid var(--line); border-radius:12px; padding:8px 12px 8px 8px; cursor:pointer; transition:.15s; }
.tp-p input { position:absolute; opacity:0; pointer-events:none; }
.tp-p img { width:58px; height:44px; object-fit:cover; border-radius:8px; background:#eee; flex:0 0 58px; }
.tp-p span { flex:1; min-width:0; } .tp-p b { display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .tp-p small { color:var(--muted); font-size:12px; }
.tp-p i { width:24px; height:24px; border-radius:50%; border:1.5px solid #d6cfc2; display:grid; place-items:center; color:transparent; flex:0 0 24px; } .tp-p i svg { width:14px; height:14px; }
.tp-p:has(input:checked) { border-color:var(--gold); background:var(--gold-soft); } .tp-p:has(input:checked) i { background:var(--gold); border-color:var(--gold); color:#fff; }
.tp-add select { width:100%; margin-top:8px; height:42px; border:1px dashed var(--gold-line); border-radius:10px; background:#fff; padding:0 12px; font:inherit; font-size:13.5px; color:var(--gold-2); cursor:pointer; }
.tp-days { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.tp-days button { flex:0 0 58px; border:1.5px solid var(--line); background:#fff; border-radius:12px; padding:8px 0; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:1px; font:inherit; transition:.15s; }
.tp-days button b { font-size:18px; } .tp-days button small { font-size:11px; color:var(--muted); }
.tp-days button.on { border-color:var(--gold); background:var(--gold); color:#fff; } .tp-days button.on small { color:#fff; }
.tp-opts { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; } .tp-opts.two { grid-template-columns:1fr 1fr; }
.tp-opts button { border:1.5px solid var(--line); background:#fff; border-radius:12px; padding:10px; cursor:pointer; font:inherit; text-align:left; display:flex; gap:10px; align-items:center; transition:.15s; }
.tp-opts button b { display:block; font-size:13px; } .tp-opts button small { display:block; font-size:11.5px; color:var(--muted); margin-top:2px; }
.tp-opts button svg { width:20px; height:20px; color:var(--gold); flex:0 0 20px; }
.tp-opts button.on { border-color:var(--gold); background:var(--gold-soft); }
.tp-in { width:100%; height:44px; border:1.5px solid var(--line); border-radius:10px; padding:0 14px; font:inherit; font-size:16px; outline:none; } .tp-in:focus { border-color:var(--gold); }
.tp-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; } .tp-tags button { border:1px dashed var(--gold-line); background:#fff; color:var(--gold-2); font:inherit; font-size:12.5px; font-weight:600; padding:6px 11px; border-radius:999px; cursor:pointer; transition:.15s; } .tp-tags button:hover { background:var(--gold-soft); } .tp-tags button.on { border-style:solid; border-color:var(--gold); background:var(--gold-soft); }
.tp-note { height:auto; min-height:84px; padding:11px 14px; line-height:1.5; resize:vertical; font-size:15px; } .tp-cnt { display:block; text-align:right; font-size:11px; color:var(--soft); margin-top:4px; }
.tp-ft { border-top:1px solid var(--line); padding:14px 24px 18px; display:grid; gap:8px; }
.tp-ft p { margin:0; font-size:13px; color:var(--muted); } .tp-ft p b { color:var(--ink); }
.tp-ft .btn { width:100%; padding:14px; font-size:15px; } .tp-ft .btn:disabled { opacity:.5; cursor:not-allowed; }
.tp-ft > small { color:var(--soft); font-size:11.5px; text-align:center; }
@media (max-width:760px) {
  .tp { padding:0; align-items:flex-end; }
  .tp-box { width:100%; max-height:92vh; border-radius:18px 18px 0 0; transform:translateY(40px); }
  .tp-hd { padding:18px 16px 12px; } .tp-body { padding:4px 16px 14px; } .tp-ft { padding:12px 16px calc(14px + env(safe-area-inset-bottom)); }
  .tp-opts { grid-template-columns:1fr 1fr; } .tp-opts.two { grid-template-columns:1fr; }
}
.dd-menu a.dd-areas { border-top:1px solid var(--line); margin-top:6px; padding-top:12px; border-radius:0 0 8px 8px; justify-content:flex-start; gap:8px; color:var(--gold-2); font-weight:600; } .dd-menu a.dd-areas svg { width:16px; height:16px; }
#tpTime button { flex-direction:column; align-items:flex-start; justify-content:center; gap:0; }
.hdr .hsearch > .ic { width:auto; height:auto; background:none; border-radius:0; flex:none; }
/* dark button */
.btn-dark { background:var(--dark); color:#fff; border-color:var(--dark); } .btn-dark svg { color:var(--gold); } .btn-dark:hover { background:#000; }
/* Buyer's Guide menu (2026-10-04) */
.dd-rich { min-width:300px; } .dd-rich a { justify-content:flex-start; gap:12px; padding:10px 12px; }
.dd-rich a i { width:36px; height:36px; flex:0 0 36px; border-radius:10px; background:var(--gold-soft); color:var(--gold); display:grid; place-items:center; } .dd-rich a i svg { width:18px; height:18px; }
.dd-rich a b { display:block; font-size:14px; color:var(--ink); } .dd-rich a small { display:block; font-size:12px; color:var(--muted); font-weight:400; margin-top:1px; } .dd-rich a:hover b { color:var(--gold-2); }
.mnav .msub-g a span small { display:block; font-size:12px; color:var(--soft); font-weight:400; margin-top:2px; }

/* ---------- 2026-10-07 UX review fixes ---------- */
/* location picker: townships sit under their town (Klang > Kota Bayuemas); towns with no match for the chosen type fade */
.dd2-o.sub { padding-left:34px; font-size:13.5px; } .dd2-o.sub .cb { width:14px; height:14px; }
.dd2-o.zero { opacity:.45; }
/* "no match" page: closest options under the empty card */
.near-h { margin:26px 0 4px; } .near-h .eyebrow { margin:0 0 4px; } .near-h h3 { margin:0; font-size:20px; }
@media (max-width:760px) {
  /* phones: back-to-top covered card facts, and the WhatsApp bubble covered the hero search; the bubble now appears after a short scroll */
  .totop { display:none !important; }
  .wa-fab { transition:opacity .25s, transform .25s; }
  body:not(.fab-on) .wa-fab { opacity:0; transform:translateY(16px); pointer-events:none; }
}
/* narrow phones / large text (288px wide): let grid and flex children shrink instead of pushing the page sideways (2026-10-07) */
.phead > *, .psearch, .psearch .box, .ctabs > *, .ctab2 > span { min-width:0; }
.psearch .box input { min-width:0; } .ctab2 b { white-space:normal; overflow-wrap:anywhere; }
@media (max-width:330px) { .ctabs { grid-template-columns:1fr; } .ctabs .ctab2:first-child { grid-column:auto; } }
@media (max-width:760px) { .cmp-tray { max-width:100vw; overflow:hidden; } .cmp-tray .ct-items { min-width:0; } }

/* ---------- location picker look (2026-10-07): no square checkboxes; a tick shows what is picked ---------- */
.locpan .cb { display:none; }
.locpan .dd2-o.cbx { padding:11px 14px; font-size:15px; font-weight:500; border-radius:10px; color:#2b2b2b; }
.locpan .dd2-o em { min-width:28px; height:22px; padding:0 8px; border-radius:999px; background:#f3eee4; color:#7a6c55; display:inline-grid; place-items:center; font-weight:600; font-size:12px; }
.locpan .dd2-o.on { background:#fbf3e3; color:var(--gold-2); font-weight:700; }
.locpan .dd2-o.on em { background:var(--gold); color:transparent; position:relative; }
.locpan .dd2-o.on em::before { content:""; position:absolute; inset:0; margin:auto; width:12px; height:12px; background:#fff; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.locpan .dd2-st { padding:12px 14px 6px; }
/* A: one clean list; townships sit under their town on a thin guide line */
.loc-a .dd2-o.sub { margin-left:24px; width:calc(100% - 24px); padding:9px 14px 9px 16px; font-size:14px; font-weight:400; color:#555; border-left:2px solid #ece3d2; border-radius:0 10px 10px 0; }
.loc-a .dd2-o.sub.on { color:var(--gold-2); font-weight:600; border-left-color:var(--gold); }
/* township already included because its town is picked */
.loc-a .dd2-o.sub.inc { color:var(--gold-2); border-left-color:var(--gold); }
/* phone category tabs (2026-10-07): full names on one line; each tile takes the width its name needs, then they share the rest */
@media (max-width:760px) {
  .ctabs { display:flex; flex-wrap:wrap; }
  .ctabs .ctab2 { flex:1 1 auto; padding:9px 12px 9px 9px; gap:9px; }
  .ctabs .ctab2:first-child { flex-basis:100%; }
  .ctabs .ctab2 .ic { width:30px; height:30px; flex:0 0 30px; } .ctabs .ctab2 .ic svg { width:16px; height:16px; }
  .ctabs .ctab2 b { white-space:nowrap; overflow-wrap:normal; font-size:14.5px; }
}
@media (max-width:760px) {
  .ctabs .ctab2 { padding:8px 10px 8px 8px; gap:7px; }
  .ctabs .ctab2 .ic { width:26px; height:26px; flex-basis:26px; border-radius:7px; } .ctabs .ctab2 .ic svg { width:14px; height:14px; }
  .ctabs .ctab2 b { font-size:13.5px; } .ctabs .ctab2 small { font-size:11.5px; }
}
/* very small phones: drop the tile icons so the names still fit on one line */
@media (max-width:345px) { .ctabs .ctab2:not(:first-child) .ic { display:none; } }
/* footer: "Check REN" button to the official LPEPH register (2026-10-07) */
.ftr .ren-chk { display:inline-flex; align-items:center; gap:10px; margin-top:6px; padding:10px 14px; border:1px solid rgba(226,191,133,.45); border-radius:12px; color:#fff; text-decoration:none; background:rgba(226,191,133,.08); transition:.2s; }
.ftr .ren-chk:hover { background:rgba(226,191,133,.18); border-color:#e2bf85; }
.ftr .ren-chk svg { width:20px; height:20px; color:#e2bf85; flex:0 0 auto; margin:0; } .ftr .ren-chk svg:last-child { width:14px; height:14px; }
.ftr .ren-chk b { display:block; font-size:14px; } .ftr .ren-chk small { display:block; font-size:12px; color:#bbb; }
