:root{
  /* ===== AlameinGo design system — single source of truth for colour, type, radius, shadow, spacing =====
     Brand: Primary Deep Navy (ink) · Secondary Sea Teal (accent) · Bright Cyan · Warm Sand.
     Type: Playfair Display for page and section titles, Inter for everything else, Caveat for hand-written notes. */
  --ink:#0A2F4E;         /* Primary — brand, headings, primary buttons, selected states */
  --ink-deep:#061F36;    /* Deep Navy — hover on primary, darkest overlays */
  --ink-soft:#E6F2F6;    /* Navy tint — selected rows, soft chips */
  --accent:#0C6E91;      /* Secondary — links, focus, informational accents */
  --accent-soft:#E3F3F8; /* Secondary tint — info pills, selected items */
  --accent-text:#0A5874; /* Secondary, darkened for text on its tint (AA) */
  --gold:#C2A265;        /* Accent — premium highlights, Make-an-Offer */
  --gold-soft:#FBF8F1;   /* Accent tint — premium badges */
  --gold-text:#85652F;   /* Accent, darkened for text on its tint (AA) */
  /* surfaces */
  --bg:#FFFFFF;          /* page */
  --stone:#F8F4EC;       /* secondary surface: bands, inputs, empty states */
  --card:#FFFFFF;        /* cards, dialogs */
  --line:#E2E8F0;        /* borders */
  --line-strong:#CFD8E3; /* hover / emphasised borders */
  /* text */
  --text:#2B3B52;        /* primary text */
  --muted:#5B6B80;       /* secondary text (AA on white) */
  --text-faint:#8A98AB;  /* placeholders, timestamps */
  /* semantic */
  --danger:#B3261E;      --danger-soft:#FBEAE9; --danger-text:#8F1D17;
  --success:#1E7A48;     --success-soft:#E6F6EC; --success-text:#166534;
  --warning:#B7791F;     --warning-soft:#FFF4DB; --warning-text:#7A4E0A;
  --info:#0C6E91;        --info-soft:#E3F3F8;    --info-text:#0A5874;
  --good:var(--success); /* legacy alias */
  /* typography */
  --display:"Inter", "Segoe UI", "Helvetica Neue", Arial, system-ui, -apple-system, sans-serif;
  --serif:"Playfair Display", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --script:"Caveat", "Segoe Script", "Bradley Hand", cursive;
  --cyan:#35C6D9;        /* bright sea accent: hero highlight, primary hero button */
  --sand:#F8F4EC;        /* warm section background */
  --body:"Inter", "Segoe UI", "Helvetica Neue", Arial, system-ui, -apple-system, sans-serif;
  --fs-xs:.78rem; --fs-sm:.875rem; --fs-md:1rem; --fs-lg:1.125rem; --fs-xl:1.35rem; --fs-2xl:1.75rem;
  --fs-3xl:clamp(1.9rem,3vw,2.4rem); --fs-hero:clamp(2.2rem,5vw,4.2rem);
  --lh-tight:1.15; --lh-body:1.55;
  /* radius scale */
  --r-xs:8px; --r-sm:10px; --r-md:12px; --r-lg:14px; --r-xl:16px; --r-2xl:20px; --r-pill:999px;
  --radius-lg:var(--r-xl); --radius:var(--r-lg); --radius-sm:var(--r-md); /* legacy aliases */
  /* elevation */
  --shadow-sm:0 1px 2px rgba(11,37,69,.06), 0 2px 8px rgba(11,37,69,.06);
  --shadow-md:0 6px 24px rgba(11,37,69,.10);
  --shadow-lg:0 18px 48px rgba(11,37,69,.16);
  --shadow-float:0 12px 32px rgba(11,37,69,.18);
  --ring:0 0 0 3px var(--accent-soft);
  /* spacing scale (4px base) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
:root[lang="ar"]{
  --display:"Cairo","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  --body:"Cairo","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  --serif:"Cairo","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5}
img,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.1;margin:0;font-weight:700;letter-spacing:-.015em}
:root[lang="ar"] h1,:root[lang="ar"] h2,:root[lang="ar"] h3{letter-spacing:0;line-height:1.3}

/* header */
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
/* Every direct child of the header row keeps its natural size (flex-shrink:0) — with justify-content:
   space-between and no wrapping, letting any of these shrink is what causes the logo/nav text to
   overlap instead of just running out of extra space; see the .hide-sm / span[display:none] breakpoints
   below, which drop content in stages instead so the row never has more than it can hold. */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo img{height:44px;width:auto;display:block;flex-shrink:0}
.logo-stacked img{height:auto;width:min(200px,60vw);max-width:100%}
.logo-stacked span{display:none}
.logo span{font-family:var(--display);font-weight:700;font-size:1.4rem;color:var(--ink);white-space:nowrap;letter-spacing:-.02em}
.nav{display:flex;gap:8px;align-items:center}
.top .wrap>.nav{flex-shrink:0}
.navlinks{display:flex;gap:22px;align-items:center;font-weight:600;font-size:.92rem;flex-shrink:0}
.navlinks a{color:var(--text);text-decoration:none;white-space:nowrap;position:relative;padding:4px 0}
.navlinks a::after{content:'';position:absolute;inset-inline:0;bottom:-2px;height:2px;background:var(--ink);transform:scaleX(0);transition:transform .2s var(--ease);transform-origin:center}
.navlinks a:hover{color:var(--ink)}
.navlinks a:hover::after{transform:scaleX(1)}
.avatar-sm{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.76rem;flex:none}
.acct-trigger{display:inline-flex;align-items:center;gap:8px}
.lang-trigger{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.85rem}
.flag-badge{width:20px;height:20px;border-radius:50%;overflow:hidden;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--stone);box-shadow:inset 0 0 0 1px var(--line)}
.flag-badge span{font-size:1.35rem;line-height:1;transform:scale(1.35)}
.btn{border:0;border-radius:var(--r-pill);padding:10px 18px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);line-height:1.25}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn[hidden]{display:none}
.btn-ink{background:var(--ink);color:var(--bg)}
.btn-ink:hover{background:var(--ink-deep);box-shadow:var(--shadow-md)}
.btn-ghost{background:transparent;border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:var(--stone)}
.btn-gold{background:var(--gold);color:var(--ink-deep)}
.btn-gold:hover{background:#c9a75f;box-shadow:var(--shadow-md)}
.btn-light{background:var(--card);color:var(--ink)}
.btn-light:hover{background:var(--stone)}
.btn-sm{padding:6px 12px;font-size:.85rem}
.btn:disabled{opacity:.5;cursor:not-allowed}
/* The primary nav links ("Find a stay" / "List your property" / "Favorites") need real room next to
   the logo and the account/language/currency cluster on the right — some of the 16 supported locales
   (Russian and Greek measured worst) need close to the full 1140px content width (.wrap caps at
   1180px) for all of it to fit on one line without shrinking, which is what caused the logo and
   nav-link text to visually overlap. Below that, they're dropped entirely rather than squeezed. */
@media (max-width:1180px){.hide-sm{display:none}}
/* ...but never just dropped: whenever the primary links are hidden, the ☰ menu (#navMenuWrap, built in
   app.js) takes their place and lists every header link that's currently hidden, so they stay one tap
   away. Two triggers put the header in that collapsed state, with identical rules:
    - the 1180px breakpoint above (the no-JS baseline, and every phone/tablet);
    - header.top.nav-collapsed, set by syncNavMenu() in app.js when the one-row header would overflow at
      the current width in the current language. Whether the row fits depends on the language's label
      widths, not just the viewport (Greek needs ~1600px for the row English fits in 1180), so no single
      breakpoint can be right for all 16 locales.
   Host Portal and Guest Register collapse into the menu too — with them in the row the signed-out header
   overflowed on phones; Guest Sign In stays, and the sign-in modal itself links to account creation. */
.nav-menu{display:none}
@media (max-width:1180px){.nav-menu{display:block}#navHostPortal,#navArea #navRegister{display:none}}
header.top.nav-collapsed .hide-sm,header.top.nav-collapsed #navHostPortal,header.top.nav-collapsed #navArea #navRegister{display:none}
header.top.nav-collapsed .nav-menu{display:block}
/* After the display:block rules above (same specificity), so "nothing left to list" always wins. */
header.top .nav-menu[hidden]{display:none}
/* syncNavMenu() measures with the row forced onto one line — the wrapping safety net below would otherwise
   hide the very overflow it's looking for. */
header.top.nav-measuring .wrap,header.top.nav-measuring .wrap>.nav{flex-wrap:nowrap}
.nav-menu-btn{padding:10px 12px;font-size:1.05rem;line-height:1}
.nav-menu-list{min-width:210px}
/* Phones and small tablets: the row may wrap onto a second line as a last resort. flex-wrap only wraps
   when the content doesn't fit, so in most languages this stays one 64px row; in the widest (Russian or
   Greek "Guest Sign In" next to the globe, currency and ☰ on a 390px phone) the buttons drop below the
   logo instead of running off-screen. margin-inline-start:auto keeps that second line end-aligned
   (space-between alone would start-align a lone item). */
@media (max-width:860px){
  .top .wrap{flex-wrap:wrap;height:auto;row-gap:8px;padding-block:10px}
  /* max-width:100%: a flex item that keeps its max-content width would overflow the line instead of
     letting its own children wrap (Russian at 320px was 2px wide of the screen). */
  .top .wrap>.nav{flex-wrap:wrap;row-gap:8px;justify-content:flex-end;margin-inline-start:auto;max-width:100%}
}
/* Slightly tighter spacing so the signed-in row (globe + currency + bell + avatar + ☰) stays on one line
   down to ~390px. padding-inline, not the padding shorthand, so the padding-block above survives. */
@media (max-width:480px){
  .top .wrap{padding-inline:14px;gap:10px}
  .top .wrap>.nav{gap:6px}
  /* Compact pills so the signed-out row stays on one line in more languages before the wrap above kicks in. */
  .top .wrap>.nav #navArea .btn,.top .wrap>.nav #navHostPortal{padding:8px 12px;font-size:.82rem}
}
/* Below ~860px the logo + language trigger + currency + bell + account chip (or, signed out, "Guest
   Sign In") + ☰ no longer fit on one line either — drop the language name, keep the globe icon. */
@media (max-width:860px){#langTriggerLabel{display:none}.lang-trigger{padding:10px 12px}}
.currency-trigger{font-weight:700;font-size:.85rem}
.currency-list{width:220px}
.currency-option{display:flex!important;align-items:center;justify-content:space-between;gap:8px}
.currency-option .lo-check{color:var(--accent);font-weight:800;flex:none;width:18px;text-align:center;visibility:hidden}
.currency-option[aria-selected="true"]{background:var(--accent-soft)}
.currency-option[aria-selected="true"] .lo-check{visibility:visible}
.currency-disclaimer{color:var(--muted);font-size:.76rem;line-height:1.35;padding:8px 10px 2px;margin:2px 0 0;border-top:1px solid var(--line)}
/* Even icon-only, the nav cluster (globe + currency + bell + account chip) still doesn't leave room
   for the full "AlameinGo" wordmark on narrow phones — it collided with the language button. Drop the
   wordmark too and keep just the logo mark, same pattern as above. */
@media (max-width:520px){.logo span{display:none}}
/* On the narrowest phones (~360px and below) even the icon-only logo + fully-collapsed nav cluster
   don't quite fit with the header's normal spacing — tighten the gaps and side padding just for the
   header row (not .wrap globally, which every section relies on) rather than let anything crowd or
   run off-screen. */
@media (max-width:380px){
  .top .wrap{padding-inline:12px;gap:8px}
  .top .wrap>.nav{gap:4px}
}

/* hero */
.hero{
  position:relative;padding:72px 0 56px;overflow:hidden;color:#fff;
  background:linear-gradient(180deg, rgba(7,22,43,.42) 0%, rgba(7,22,43,.55) 55%, rgba(7,22,43,.82) 100%), url('/hero-beach.jpg') center 40%/cover no-repeat;
  background-image:linear-gradient(180deg, rgba(7,22,43,.42) 0%, rgba(7,22,43,.55) 55%, rgba(7,22,43,.82) 100%), image-set(url('/hero-beach.webp') type('image/webp'), url('/hero-beach.jpg') type('image/jpeg'));
}
@media (max-width:640px){.hero{padding:44px 0 36px;background-image:linear-gradient(180deg, rgba(7,22,43,.48) 0%, rgba(7,22,43,.62) 55%, rgba(7,22,43,.86) 100%), image-set(url('/hero-beach-sm.webp') type('image/webp'), url('/hero-beach.jpg') type('image/jpeg'))}}
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-eyebrow{margin:0 0 14px;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
:root[lang="ar"] .hero-eyebrow{letter-spacing:.04em}
.hero h1{font-size:clamp(2.2rem,4.8vw,3.6rem);font-weight:700;max-width:18ch;color:#fff;text-shadow:0 2px 24px rgba(7,22,43,.35)}
.hero p.lede{max-width:56ch;color:rgba(255,255,255,.88);font-size:1.06rem;line-height:1.55;margin:14px 0 0}
/* search card */
.search-card{width:100%;max-width:1000px;margin:30px auto 0;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:8px 10px 10px;text-align:start;position:relative;z-index:2;color:var(--text)}
.hero-mode-tabs{display:flex;flex-wrap:wrap;gap:2px;margin:0 6px 4px;border-bottom:1px solid var(--line)}
.hero-mode-tab{background:none;border:0;color:var(--muted);padding:10px 12px;font-weight:600;font-size:.86rem;cursor:pointer;position:relative;border-radius:8px 8px 0 0;transition:color .18s var(--ease)}
.hero-mode-tab:hover{color:var(--ink)}
.hero-mode-tab::after{content:'';position:absolute;inset-inline:12px;bottom:-1px;height:2px;background:var(--ink);opacity:0;transition:opacity .18s var(--ease)}
.hero-mode-tab[aria-selected="true"]{color:var(--ink)}
.hero-mode-tab[aria-selected="true"]::after{opacity:1}
.search{width:100%;display:grid;grid-template-columns:1.35fr 1fr 1fr .8fr auto;gap:4px;margin:6px 0 0;position:relative}
.field{display:flex;flex-direction:column;padding:8px 14px;border-radius:var(--r-md);transition:background .15s var(--ease)}
.field:hover{background:var(--stone)}
.field label{font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:uppercase}
:root[lang="ar"] .field label{letter-spacing:0;text-transform:none}
.field input,.field select{border:0;background:transparent;padding:3px 0 0;outline:none;min-width:0;font-weight:600;color:var(--ink);font-size:1rem}
.field:focus-within{background:var(--stone);box-shadow:inset 0 0 0 2px var(--accent)}
.field:has(input[type="date"]){cursor:pointer}
input[type="date"]{cursor:pointer}
.search .btn{border-radius:var(--r-md);padding:0 24px;font-size:1rem;justify-content:center;min-height:56px;gap:8px}
.search-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 8px 0}
.search-foot .hero-filters-btn{margin:0;background:transparent;border-color:var(--line);color:var(--text)}
.search-foot .hero-filters-btn:hover{background:var(--stone);border-color:var(--ink)}
.search-foot .hero-filters-btn .filters-count-badge{background:var(--ink);color:#fff}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:18px 0 0;padding:0;font-size:.86rem;color:rgba(255,255,255,.88);font-weight:600}
.hero-trust li{white-space:nowrap}
@media (max-width:960px){.search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.search .area-f{grid-column:1/-1}.search .btn{grid-column:1/-1;padding:14px}}
@media (max-width:640px){
  .hero h1{font-size:2rem}
  .hero p.lede{font-size:.98rem}
  .search-card{padding:6px 8px 8px}
  .hero-mode-tab{padding:9px 8px;font-size:.8rem}
  .search{grid-template-columns:minmax(0,1fr)}
  .search .field{padding:8px 12px}
  .search-foot{padding:8px 4px 0;gap:8px}
  .search-foot .flex-label{flex-basis:100%;margin:0 0 -2px}
  .hero-trust{gap:6px 14px;font-size:.8rem}
}
.search .field{min-width:0}
.search .field input[type="date"]{width:100%}
/* homepage sections */
.home-section{padding:56px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.section-head h2{font-size:clamp(1.55rem,2.6vw,2.05rem)}
.section-head p{margin:8px 0 0;color:var(--muted);max-width:56ch;line-height:1.55}
.section-link{color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:8px 0}
.section-link:hover{text-decoration:underline;text-underline-offset:4px}
/* destination tiles */
.destinations{padding-top:52px}
.dest-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dest-tile{position:relative;display:block;width:100%;border:0;padding:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;cursor:pointer;text-align:start;color:#fff;background:var(--ink);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.dest-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.dest-tile svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .6s var(--ease)}
.dest-tile:hover svg{transform:scale(1.04)}
.dest-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,22,43,0) 40%,rgba(7,22,43,.72) 100%)}
.dest-tile-body{position:absolute;inset-inline:18px;bottom:16px;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.dest-tile-body b{display:block;font-family:var(--display);font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.dest-tile-body small{display:block;color:rgba(255,255,255,.82);font-size:.84rem;margin-top:2px}
.dest-tile-arrow{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;flex:none;font-size:1rem;transition:background .2s var(--ease)}
.dest-tile:hover .dest-tile-arrow{background:var(--gold);color:var(--ink-deep);border-color:var(--gold)}
.dest-tile.dest-tile-all{aspect-ratio:auto;background:var(--stone);color:var(--ink);border:1px solid var(--line);box-shadow:none;display:flex;align-items:center;justify-content:center;padding:24px}
.dest-tile.dest-tile-all::after{display:none}
.dest-tile.dest-tile-all .dest-tile-body{position:static;flex-direction:column;align-items:center;text-align:center;gap:10px}
.dest-tile.dest-tile-all small{color:var(--muted)}
.dest-tile.dest-tile-all .dest-tile-arrow{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:860px){.dest-tiles{grid-template-columns:repeat(2,1fr);gap:12px}}
@media (max-width:480px){.dest-tiles{grid-template-columns:1fr 1fr;gap:10px}.dest-tile{aspect-ratio:4/3}.dest-tile-body{inset-inline:12px;bottom:12px}.dest-tile-body b{font-size:1.02rem}.dest-tile-body small{font-size:.76rem}.dest-tile-arrow{width:28px;height:28px}}
/* ways to book */
.ways{background:var(--stone)}
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.way-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm)}
.way-card h3{font-size:1.15rem}
.way-card p{margin:0;color:var(--muted);line-height:1.55;flex:1}
.way-card .btn{align-self:flex-start;margin-top:8px}
.way-num{font-family:var(--display);font-weight:700;color:var(--gold-text);letter-spacing:.08em;font-size:.82rem}
.way-card-featured .way-num{color:var(--gold)}
.way-card-featured{background:var(--ink);color:#fff;border-color:var(--ink)}
.way-card-featured h3{color:#fff}
.way-card-featured p{color:rgba(255,255,255,.78)}
@media (max-width:860px){.ways-grid{grid-template-columns:1fr}}
/* discover + host band */
.discover-band{padding-top:0}
.discover-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.discover-card{border-radius:var(--radius-lg);padding:38px 34px;display:flex;align-items:flex-end;min-height:300px;position:relative;overflow:hidden}
.discover-card h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:8px}
.discover-card p{margin:0 0 18px;max-width:46ch;line-height:1.55}
.card-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px!important;color:var(--gold)}
:root[lang="ar"] .card-eyebrow{letter-spacing:.02em}
.discover-photo{color:#fff;background:linear-gradient(180deg,rgba(7,22,43,.25),rgba(7,22,43,.85)),url('/hero-beach.jpg') center 65%/cover no-repeat;background-image:linear-gradient(180deg,rgba(7,22,43,.25),rgba(7,22,43,.85)),image-set(url('/hero-beach.webp') type('image/webp'),url('/hero-beach.jpg') type('image/jpeg'))}
.discover-photo h2{color:#fff}
.discover-photo p{color:rgba(255,255,255,.85)}
.host-card{background:var(--gold-soft);border:1px solid #efe1c2}
.host-card .card-eyebrow{color:var(--gold-text)}
.host-card p{color:var(--muted)}
@media (max-width:860px){.discover-grid{grid-template-columns:1fr}.discover-card{min-height:240px;padding:28px 22px}}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:48px 0 28px;color:var(--muted);font-size:.9rem;background:var(--bg)}
.footer-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
.footer-brand p{margin:12px 0 0;max-width:38ch;line-height:1.55}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-col b{color:var(--ink);font-family:var(--display);font-size:.92rem;margin-bottom:4px}
.footer-col a{color:var(--muted);text-decoration:none;transition:color .15s var(--ease)}
.footer-col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:34px;padding-top:18px;font-size:.84rem}
.footer-secure{display:inline-flex;align-items:center;gap:6px}
@media (max-width:860px){.footer-cols{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:420px){.footer-cols{grid-template-columns:1fr}}

/* filters */
.row2{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:2px;color:var(--muted);font-size:.95rem}
.row2 label{display:flex;align-items:center;gap:8px}
.row2 select{border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px;background:var(--card)}
input[type=range]{accent-color:var(--accent)}
input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}

/* results */
.results-head{display:flex;justify-content:space-between;align-items:baseline;margin:34px 0 14px;gap:12px;flex-wrap:wrap}
.results-head h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px 22px}
.grid[hidden]{display:none}
.listing{cursor:pointer;background:none;border:0;padding:0;text-align:start;border-radius:var(--r-lg);transition:transform .18s ease}
.listing:hover{transform:translateY(-2px)}
.listing:hover .pic img{transform:scale(1.04)}
.listing:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.pic{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3.2;background:var(--stone);box-shadow:var(--shadow-sm)}
.pic img{transition:transform .35s ease}
.meta .l1 span:last-child{white-space:nowrap}
.pic svg{width:100%;height:100%}
.fav{position:absolute;top:10px;inset-inline-end:10px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);cursor:pointer;display:grid;place-items:center;font-size:1.1rem;color:var(--ink)}
.fav[aria-pressed="true"]{color:var(--ink)}
.badge{position:absolute;inset-inline-start:10px;top:10px;background:rgba(255,255,255,.92);color:var(--ink);font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:var(--r-pill)}
.badge.archived{background:rgba(179,38,30,.14);color:var(--danger)}
.meta{padding:10px 2px 0}
.meta .l1{display:flex;justify-content:space-between;gap:8px;font-weight:600}
.meta .sub{color:var(--muted);font-size:.93rem}
.meta .price{margin-top:4px}
.meta .price b{font-family:var(--display);font-size:1.1rem;color:var(--ink)}
.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:var(--r-lg);padding:40px;text-align:center;color:var(--muted)}

/* make an offer: multi-property select */
.offer-match-card{display:block;cursor:pointer;background:none;border:0;padding:0;text-align:start}
.offer-match-card input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.offer-select-mark{position:absolute;top:10px;inset-inline-start:10px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);border:2px solid var(--line);display:grid;place-items:center;font-size:.95rem;color:transparent;z-index:1}
.offer-match-card.selected .offer-select-mark{background:var(--ink);border-color:var(--ink);color:#fff}
.offer-match-card.selected .pic{outline:3px solid var(--ink);outline-offset:2px}
.offer-match-card.offer-sent{opacity:.55;pointer-events:none}
.offer-selection-bar{position:sticky;bottom:16px;margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;box-shadow:var(--shadow-float)}
.offer-selection-bar[hidden]{display:none}
.offer-selection-bar #offerSendErr{flex:1 1 100%;order:3;margin:0}
#offerSendResults{display:flex;flex-direction:column;gap:4px}
.offer-result-ok{color:var(--ink)}
.offer-result-fail{color:var(--danger)}

/* discover (homepage teaser section for the Discover Alamein page) */


/* modal */
dialog{border:0;padding:0;border-radius:var(--r-2xl);width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:var(--bg);color:var(--text)}
dialog::backdrop{background:color-mix(in srgb, var(--ink-deep) 70%, transparent)}
.m-body{padding:22px 24px 26px}
.m-close{position:absolute;top:12px;inset-inline-end:12px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:var(--ink);font-size:1.3rem;cursor:pointer}

/* Filters trigger (homepage, staged before a search; results page, refines an existing one) and the
   shared panel both live here — kept off the always-visible search area per the "Search first →
   optional Filters → results" design goal. */
.filters-trigger-row{margin-top:14px}
.filters-trigger-btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-pill)}
.filters-trigger-icon{font-size:.95em;line-height:1}
.filters-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-size:.72rem;font-weight:700}
.filters-count-badge[hidden]{display:none}
.hero-filters-btn{margin:14px auto 0;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);color:#fff}
.hero-filters-btn:hover{background:rgba(255,255,255,.22)}
.hero-filters-btn .filters-count-badge{background:var(--gold);color:var(--ink-deep)}

.filters-modal{width:min(600px,calc(100% - 24px));max-height:min(720px,calc(100dvh - 48px))}
.filters-modal-inner{display:flex;flex-direction:column;max-height:inherit}
.filters-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);flex:none}
.filters-modal-head h3{font-size:1.25rem}
.filters-modal-body{padding:18px 22px;overflow-y:auto;flex:1 1 auto}
.filters-modal-body .row2{gap:14px 18px}
.filters-section-h{font-size:.92rem;color:var(--muted);margin:18px 0 8px;font-family:var(--body);font-weight:700}
.filters-modal-foot{display:flex;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid var(--line);flex:none;background:var(--bg)}
.filters-modal-foot .btn{flex:1;justify-content:center}
@media (max-width:640px){
  .filters-modal{width:100%;max-width:100%;height:100%;max-height:100dvh;border-radius:0;margin:0}
  .filters-modal::backdrop{background:color-mix(in srgb, var(--ink-deep) 70%, transparent)}
  .filters-modal-foot{position:sticky;bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:min(420px,46vw);border-radius:var(--r-lg);overflow:hidden;cursor:pointer}
.gallery div:first-child{grid-row:1/3}
.gallery div{overflow:hidden}
.gallery svg{width:100%;height:100%}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-more{position:absolute;bottom:14px;inset-inline-end:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:8px 14px;font-weight:700;font-size:.85rem;cursor:pointer;box-shadow:0 8px 20px -10px color-mix(in srgb, var(--ink-deep) 35%, transparent)}
.m-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;margin-top:20px}
@media (max-width:760px){.m-grid{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:1fr;grid-template-rows:1fr}.gallery div:not(:first-child){display:none}.gallery div:first-child{grid-row:auto}}
.m-grid h3{font-size:1.8rem}
.facts{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted);margin:8px 0 16px}
.amen li::before{content:"✓ ";color:var(--accent);font-weight:700}
.avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--ink);display:grid;place-items:center;font-weight:700}
.book{border:1px solid var(--line);border-radius:var(--r-xl);padding:18px;align-self:start;background:var(--card);display:flex;flex-direction:column}
.book #bookGate,.book #bookRoleBlock{order:10;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
#listingPage .book{position:sticky;top:80px}
@media (max-width:760px){#listingPage .book{position:static}}
.book .big{font-family:var(--display);font-size:1.6rem;color:var(--ink)}
.book .two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.book label{display:flex;flex-direction:column;font-size:.8rem;font-weight:600;color:var(--muted);gap:3px}
.book input{border:1px solid var(--line);border-radius:var(--r-sm);padding:9px;background:var(--stone);width:100%}
.lines{margin:14px 0;font-size:.95rem}
.lines div{display:flex;justify-content:space-between;padding:3px 0}
.lines .tot{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:700}
.err{color:var(--danger);font-size:.88rem;min-height:1.2em}
.done{background:var(--accent-soft);border-radius:var(--r-md);padding:14px;margin-top:10px}
.done pre{white-space:pre-wrap;font-family:var(--body);font-size:.88rem;margin:8px 0}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.88rem}
.form-grid label[hidden]{display:none}
.form-grid[hidden]{display:none}
.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;background:var(--card);width:100%}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ===== auth tabs ===== */
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}
.tab{background:none;border:0;padding:10px 4px;margin-inline-end:16px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.tab[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.radio-row{display:flex;flex-direction:column;gap:8px}
.radio-row[hidden]{display:none}
.radio-pill{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;cursor:pointer;font-weight:600;font-size:.92rem}
.radio-pill:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.radio-pill input{width:auto}

/* ===== views / dashboard ===== */
[data-view]{display:block}
[data-view][hidden]{display:none}
.view-pad{padding:36px 0 60px}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.section-h{font-size:1.3rem;margin:0 0 14px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg)}
table.dtable{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px}
table.dtable td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
table.dtable tr:last-child td{border-bottom:0}
table.dtable .muted{color:var(--muted);font-size:.85rem}
.status-pill{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:.78rem;font-weight:700}
/* Host booking table money column (server/commission.js figures): subtotal / platform fee / payout / payment status. */
.fin-row{display:flex;justify-content:space-between;gap:14px;font-size:.85rem;color:var(--muted);white-space:nowrap}
.fin-row.fin-hold{white-space:normal;font-size:.78rem;color:var(--gold-text);margin-top:2px}
.fin-row.fin-total{color:var(--text);font-weight:700;border-top:1px solid var(--line);margin-top:2px;padding-top:2px}
.pay-paid{background:var(--success-soft);color:var(--success-text)} .pay-unpaid,.pay-refund_pending{background:var(--gold-soft);color:var(--gold-text)}
.pay-failed,.pay-cancelled{background:var(--danger-soft);color:var(--danger-text)} .pay-refunded,.pay-partially_refunded{background:var(--accent-soft);color:var(--accent)}
.status-requested{background:var(--warning-soft);color:var(--warning-text)}
.status-confirmed{background:var(--success-soft);color:var(--success-text)}
.status-declined,.status-cancelled{background:var(--danger-soft);color:var(--danger-text)}
.status-active{background:var(--accent-soft);color:var(--ink)}
.status-archived{background:var(--stone);color:var(--muted)}
.status-pending{background:var(--warning-soft);color:var(--warning-text)}
.status-countered{background:var(--accent-soft);color:var(--accent-text)}
.status-accepted{background:var(--success-soft);color:var(--success-text)}
.status-expired,.status-unavailable{background:var(--stone);color:var(--muted)}
.status-open{background:var(--warning-soft);color:var(--warning-text)}
.status-investigating{background:var(--accent-soft);color:var(--accent-text)}
.status-resolved{background:var(--success-soft);color:var(--success-text)}
.status-dismissed{background:var(--stone);color:var(--muted)}
.status-succeeded,.status-paid{background:var(--success-soft);color:var(--success-text)}
.status-failed{background:var(--danger-soft);color:var(--danger-text)}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}

/* ===== calendar ===== */
.cal-labels{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.cal-labels div{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px}
.cal-labels span{display:block;font-size:.72rem;font-weight:600;color:var(--muted)}
.cal-labels b{font-family:var(--display);color:var(--ink);font-size:.95rem}
.cal{width:100%}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cal-head b{font-family:var(--display);color:var(--ink)}
.cal-head button{background:none;border:1px solid var(--line);border-radius:var(--r-xs);width:30px;height:30px;cursor:pointer;color:var(--ink)}
.cal-head button:disabled{opacity:.35;cursor:not-allowed}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-dow{text-align:center;color:var(--muted);font-weight:700;font-size:.72rem;padding:4px 0}
.cal-day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;background:var(--card);gap:1px;padding:0;color:inherit;font:inherit;min-width:0}
.cal-day:not(.blocked):not(.past):not(.selected):hover{background:var(--stone)}
.cal-day.blank{visibility:hidden;cursor:default}
.cal-day .num{font-size:.85rem;font-weight:600}
.cal-day .p{font-size:.6rem;color:var(--muted)}
.cal-day.blocked{background:var(--stone);color:var(--muted);cursor:not-allowed}
.cal-day.blocked .num{text-decoration:line-through}
.cal-day.past{opacity:.45;cursor:not-allowed}
.cal-day:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.cal-day.selected{background:var(--ink);color:var(--bg)}
.cal-day.selected .p{color:var(--bg)}
.cal-day.in-range{background:var(--accent-soft)}
.cal-day.override .num{color:var(--gold)}
.cal-day:not(.blank):not(.blocked):not(.past):hover{border-color:var(--ink)}
.cal-actionbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cal-actionbar span{font-size:.85rem;color:var(--muted);margin-inline-end:auto}
.cal-actionbar input{border:1px solid var(--line);border-radius:var(--r-xs);padding:7px 10px;width:120px;background:var(--card)}

/* ===== photo upload ===== */

/* ===== dropzone + reorderable photo grid ===== */
.dropzone{border:2px dashed var(--line);border-radius:var(--r-lg);padding:28px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}
.dropzone .dz-icon{font-size:1.6rem;margin-bottom:6px}
.dropzone .dz-hint{color:var(--muted);font-size:.88rem}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:14px}
.photo-tile{position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--stone);cursor:grab;border:2px solid transparent}
.photo-tile img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.photo-tile.dragging{opacity:.4}
.photo-tile.drag-over{border-color:var(--accent)}
.photo-tile .cover-tag{position:absolute;bottom:4px;inset-inline-start:4px;background:var(--ink);color:#fff;font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:var(--r-pill)}
.photo-tile .rm{position:absolute;top:4px;inset-inline-end:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;line-height:1}
.photo-tile.uploading::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.7)}
.photo-tile.uploading::before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--ink);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;z-index:1}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== dashboard: stats, tabs, cards, dropdown menu ===== */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0 28px}
.dash-quicklinks{display:flex;flex-wrap:wrap;gap:10px 18px}
.dash-quicklink{color:var(--ink);font-weight:600;text-decoration:none;padding:8px 4px}
.dash-quicklink:hover{text-decoration:underline}
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px}
.stat-card .stat-label{display:block;color:var(--muted);font-size:.8rem;font-weight:600;margin-bottom:6px}
.stat-card .stat-value{font-family:var(--display);font-size:1.7rem;color:var(--ink);font-weight:800}
.dash-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}
.dtab{background:none;border:0;padding:10px 4px;margin-inline-end:22px;font-weight:700;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;font-size:.98rem}
.dtab[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.filter-tabs button{border:1px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--muted)}
.filter-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

.listing-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.host-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);display:flex;gap:0}
.host-card .hc-pic{width:120px;flex:none;position:relative;overflow:hidden;border-start-start-radius:16px;border-end-start-radius:16px}
.host-card .hc-pic img,.host-card .hc-pic svg{width:100%;height:100%;object-fit:cover;display:block}
.host-card.status-archived .hc-pic{opacity:.5}
.host-card .hc-body{padding:14px 16px;flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.host-card .hc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.host-card .hc-top b{font-size:1rem;display:block;line-height:1.3}
.host-card .hc-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.host-card .tag{background:var(--gold-soft);color:var(--ink);font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:var(--r-pill)}
.host-card .hc-price{font-family:var(--display);color:var(--ink);font-weight:700;margin-top:auto}
.host-card .hc-price span{font-family:var(--body);font-weight:400;color:var(--muted);font-size:.85rem}

.menu{position:relative}
.menu-trigger{background:none;border:1px solid var(--line);border-radius:var(--r-xs);width:32px;height:32px;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--ink)}
.menu-trigger:hover{background:var(--stone)}
.menu-list{position:absolute;top:calc(100% + 4px);inset-inline-end:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-float);min-width:170px;z-index:30;padding:6px;display:flex;flex-direction:column;gap:2px}
.acct-menu{max-height:min(70vh,560px);overflow-y:auto;min-width:220px}
.acct-menu .menu-sep{height:1px;background:var(--line);margin:6px 4px}
.acct-menu .menu-role-tag{padding:6px 10px 2px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}
.menu-list[hidden]{display:none}
.menu-list button{background:none;border:0;text-align:start;padding:9px 10px;border-radius:var(--r-xs);cursor:pointer;font-size:.9rem;color:var(--text);width:100%}
.menu-list button:hover{background:var(--stone)}
.menu-list button.danger{color:var(--danger)}

/* ===== trust & safety ===== */
.trust{padding-top:0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 20px;text-align:start;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow-sm);transition:border-color .2s var(--ease),transform .2s var(--ease)}
.trust-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.trust-card .ti{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent);margin-bottom:14px}
.trust-card .ti svg{width:21px;height:21px}
.trust-card b{display:block;font-family:var(--display);font-size:.96rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.trust-card span{color:var(--muted);font-size:.84rem;line-height:1.5}
.howVerifyLink{display:block;text-align:center;margin-top:30px;font-weight:700;color:var(--ink);text-decoration:none;font-size:.92rem}
.howVerifyLink:hover{text-decoration:underline}
@media (max-width:860px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.trust-grid{grid-template-columns:1fr;gap:12px}.trust-card{padding:20px 18px}}

/* ===== footer ===== */

/* ===== legal / static pages ===== */
.legal-page{max-width:760px;margin:0 auto}
.legal-page h2{font-size:clamp(1.7rem,3.6vw,2.3rem);margin-bottom:6px}
.legal-page .updated{color:var(--muted);font-size:.85rem;margin-bottom:26px;display:block}
.legal-page h3{font-size:1.15rem;margin:26px 0 8px}
.legal-page p,.legal-page li{color:var(--text);line-height:1.7}
.legal-page ul{padding-inline-start:20px}
.legal-page .contact-box{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;background:var(--card);margin-top:8px}
.legal-page .contact-box a{color:var(--ink)}

/* ===== listing (property) page ===== */
.lp-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-weight:600;margin-bottom:14px}
.lp-back:hover{color:var(--ink)}
.lp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.lp-head h1{font-size:clamp(1.5rem,3.2vw,2.1rem)}
.lp-head .sub{color:var(--muted);margin-top:6px}
.icon-amen{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;list-style:none}
.icon-amen li{display:flex;align-items:center;gap:10px}
.icon-amen .ic{font-size:1.15rem;width:26px;text-align:center;flex:none}
.section-block{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.section-block h4{font-size:1.15rem;margin:0 0 12px}
.policy-box{background:var(--stone);border-radius:var(--r-md);padding:16px 18px;color:var(--text);font-size:.92rem;line-height:1.6}
.nearby-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.nearby-list li{display:flex;gap:10px;align-items:flex-start;color:var(--text);font-size:.92rem}
.map-embed{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:14px}
.map-embed iframe{width:100%;height:260px;border:0;display:block}
.map-note{color:var(--muted);font-size:.82rem;margin-top:8px}
.host-block{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:20px 0}
.verified-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--ink);font-size:.74rem;font-weight:700;padding:2px 9px;border-radius:var(--r-pill);margin-inline-start:6px}
/* Distinct color from the host's own .verified-badge — Host Verification and Property Verification
   are separate records and should never look like the same check at a glance. */
.property-verified-badge{background:var(--gold-soft);color:var(--ink-deep);margin-inline-start:0}
.report-link{background:none;border:0;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;margin-top:18px}
.deposit-line{color:var(--muted);font-size:.82rem;display:flex;justify-content:space-between;padding:6px 0;border-top:1px dashed var(--line);margin-top:6px}
.tax-note{color:var(--muted);font-size:.78rem;margin-top:8px}

/* ===== reviews ===== */
.review-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
.review-summary .rv-score{font-family:var(--display);font-size:1.6rem;color:var(--ink)}
.review-list{display:flex;flex-direction:column;gap:16px}
.review-item{border-bottom:1px solid var(--line);padding-bottom:14px}
.review-item .rv-top{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:.9rem}
.review-item .rv-date{color:var(--muted);font-weight:400;font-size:.8rem}
.review-item .rv-stars{color:var(--gold);letter-spacing:1px;margin:2px 0 6px}
.review-item p{color:var(--text);font-size:.92rem;margin:0}
.star-picker{display:flex;gap:6px;font-size:1.6rem}
.star-picker button{background:none;border:0;cursor:pointer;color:var(--line);padding:0;line-height:1}
.star-picker button.on{color:var(--gold)}
.review-cat-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.review-cat-row .star-picker{font-size:1.2rem}

/* ===== photo lightbox ===== */
.lightbox-body{padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox-body img{max-height:78vh;max-width:100%;object-fit:contain;border-radius:var(--r-sm)}
.lightbox-nav{display:flex;gap:10px;align-items:center}
.lightbox-nav button{border:1px solid var(--line);background:var(--card);border-radius:var(--r-xs);width:34px;height:34px;cursor:pointer;font-size:1rem}
.lightbox-count{color:var(--muted);font-size:.85rem}

/* ===== OTP verification ===== */
.otp-boxes{display:flex;gap:8px;direction:ltr;margin:14px 0}
.otp-box{flex:1;min-width:0;aspect-ratio:1;text-align:center;font-size:1.4rem;font-weight:700;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
.otp-box:focus{border-color:var(--accent)}
.link-btn{background:none;border:0;color:var(--ink);font-weight:700;font-size:.86rem;cursor:pointer;padding:0;text-decoration:underline;display:inline-block}
.auth-switch-line{text-align:center;margin:18px 0 2px;font-size:.9rem;color:var(--muted)}
.rv-translate-btn{margin-top:8px}
.translated-note{color:var(--muted);font-size:.8rem;font-style:italic;margin-top:-8px}

/* ===== hero mode tabs + stay requests ===== */
/* flex-wrap: three pills side by side overflowed a 390px phone in Russian and Greek. */
.ro-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.ro-row:first-of-type{border-top:0;padding-top:10px}
.ro-pic{width:88px;height:66px;flex:none;border-radius:var(--r-sm);overflow:hidden;background:var(--stone)}
.ro-pic img{width:100%;height:100%;object-fit:cover;display:block}
.ro-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.oc-listing a{color:inherit;text-decoration:none}
.oc-listing a:hover{text-decoration:underline}
.link-btn:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}
.otp-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}
.otp-channel-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;cursor:pointer;width:100%;background:var(--card);text-align:start}
.otp-channel-option:hover{border-color:var(--accent);background:var(--accent-soft)}
.otp-channel-option .oc-icon{font-size:1.3rem;flex:none}
.otp-channel-option .oc-label{font-weight:700;font-size:.92rem;display:block}
.otp-channel-option .oc-value{color:var(--muted);font-size:.82rem;direction:ltr;display:block;text-align:start}

/* ===== language selector ===== */
dialog.lang-modal{width:min(760px,calc(100% - 24px))}
.lang-search{width:100%;border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px;background:var(--stone);font-size:.95rem;margin-bottom:14px}
.lang-grid{display:grid;grid-template-columns:1fr;gap:6px;max-height:56vh;overflow-y:auto;padding-inline-end:4px}
@media (min-width:480px){.lang-grid{grid-template-columns:1fr 1fr}}
@media (min-width:720px){.lang-grid{grid-template-columns:1fr 1fr 1fr}}
.lang-option{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:var(--r-md);padding:9px 12px;cursor:pointer;background:none;text-align:start;width:100%}
.lang-option:hover{background:var(--stone)}
.lang-option .flag-badge{width:26px;height:26px}
.lang-option .flag-badge span{font-size:1.7rem}
.lang-option .lo-names{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.lang-option .lo-native{font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang-option .lo-english{color:var(--muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang-option .lo-check{color:var(--accent);font-weight:800;flex:none;width:18px;text-align:center;visibility:hidden}
.lang-option[aria-selected="true"]{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 2px 10px -6px color-mix(in srgb, var(--ink) 40%, transparent)}
.lang-option[aria-selected="true"] .lo-check{visibility:visible}
.lang-no-match{color:var(--muted);text-align:center;padding:20px 0}

/* ===== notifications ===== */
.notif-trigger{position:relative;font-size:1.15rem;line-height:1;padding:9px 12px}
.notif-badge{position:absolute;top:2px;inset-inline-end:2px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:800;min-width:16px;height:16px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;padding:0 3px}
.notif-badge[hidden]{display:none}
.notif-list{width:min(360px,86vw);max-height:70vh;overflow-y:auto;padding:0}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);gap:10px}
.notif-head b{font-size:.92rem}
.notif-item{display:block;width:100%;text-align:start;padding:12px 14px;border-bottom:1px solid var(--line);background:none;border-inline:0;border-top:0;cursor:pointer;font-size:.86rem;line-height:1.5;color:var(--text)}
.notif-item:last-child{border-bottom:0}
.notif-item:hover{background:var(--stone)}
.notif-item.unread{background:var(--accent-soft)}
.notif-item .ni-time{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}
.notif-view-all{display:block;width:100%;text-align:center;padding:11px 14px;font-size:.84rem}
.notif-empty{padding:24px 14px;text-align:center;color:var(--muted);font-size:.88rem}

/* ===== make an offer / offers ===== */
.offer-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.offer-settings-label{display:block;font-weight:600;font-size:.88rem;margin-bottom:8px}
.offer-cards{display:flex;flex-direction:column;gap:14px}
.offer-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.offer-card .oc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.offer-card .oc-listing{font-weight:700}
.offer-card .oc-sub{color:var(--muted);font-size:.85rem;margin-top:2px}
.offer-card .oc-price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;background:var(--stone);border-radius:var(--r-md);padding:12px 14px}
.offer-card .oc-price-grid span{display:block;color:var(--muted);font-size:.72rem;font-weight:600}
.offer-card .oc-price-grid b{font-family:var(--display);color:var(--ink);font-size:1rem}
.offer-card .oc-counter-note{background:var(--gold-soft);border-radius:var(--r-md);padding:10px 14px;font-size:.86rem}
.oc-hold{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--ink)}
.oc-hold .countdown{font-family:var(--display);color:var(--danger);font-variant-numeric:tabular-nums;direction:ltr;display:inline-block}
.empty-note{color:var(--muted);font-size:.9rem;padding:20px;text-align:center;border:1px dashed var(--line);border-radius:var(--r-md)}

.msg-thread{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;padding:4px}
.msg-bubble{max-width:70%;padding:10px 14px;border-radius:var(--r-md);background:var(--stone);align-self:flex-start}
.msg-bubble.mine{background:var(--ink);color:var(--bg);align-self:flex-end}
.msg-bubble img{max-width:220px;border-radius:var(--r-xs);display:block;margin-top:6px}
.msg-bubble .msg-meta{font-size:.7rem;opacity:.7;margin-top:4px}
.msg-composer{display:flex;gap:8px;align-items:center;margin-top:14px}
.msg-composer input[type="text"]{flex:1;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;background:var(--card)}
.evidence-row{font-size:.85rem;margin-top:4px}
.evidence-row a{color:var(--accent);text-decoration:underline}

.compare-check{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);margin-top:6px;cursor:pointer}
.compare-bar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;
  background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:var(--r-pill);box-shadow:var(--shadow-float);z-index:40}
.compare-bar[hidden]{display:none}
dialog.compare-modal{width:min(1100px,calc(100% - 24px))}
.compare-table{border-collapse:collapse;width:100%}
.compare-table td,.compare-table th{padding:10px 14px;border-bottom:1px solid var(--line);text-align:center;vertical-align:top}
.compare-table th{text-align:start;color:var(--muted);font-weight:600;white-space:nowrap}
.compare-head-row td{text-align:start;min-width:160px}


/* ===== Search split layout: listings + interactive map ===== */
.search-split-wrap{margin-top:28px}
.search-split{display:flex;flex-direction:column;gap:24px}
.search-list-pane{min-width:0}

.search-map-pane{
  position:fixed;inset:0;z-index:50;background:var(--bg);
  display:flex;flex-direction:column;
  transform:translateY(100%);transition:transform .25s ease;
}
.search-map-pane.map-pane-open{transform:translateY(0)}
.map-pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.search-as-move-toggle{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);cursor:pointer;white-space:nowrap;user-select:none}
.search-as-move-toggle input{margin:0}
.map-canvas-wrap{position:relative;flex:1;min-height:0}
.leaflet-canvas{position:absolute;inset:0;background:var(--stone)}
.map-hint{font-size:.8rem;margin:8px 16px 12px;color:var(--muted)}

.mobile-map-fab{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:30;
  display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);
  border:0;border-radius:var(--r-pill);padding:12px 22px;font-weight:700;font-size:.92rem;
  box-shadow:var(--shadow-float);cursor:pointer;
}

/* custom Leaflet price markers (L.divIcon with iconSize/iconAnchor [0,0] — this translate anchors the
   pin's bottom-center on the actual lat/lng point), plus the hover/select sync state with .listing cards */
.map-price-pin{
  background:var(--ink);color:var(--bg);border:2px solid var(--bg);border-radius:var(--r-pill) 999px 999px 4px;
  padding:5px 11px;font-size:.78rem;font-weight:700;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.3);
  cursor:pointer;transform:translate(-50%,-100%);transform-origin:bottom center;
  transition:transform .12s ease,background .12s ease;
}
.map-price-pin.is-active{background:var(--accent);transform:translate(-50%,-100%) scale(1.14);z-index:1000!important}

.map-preview-card{
  /* Leaflet's own panes/controls run z-index up to 1000 (see vendor/leaflet/leaflet.css) and share this
     stacking context since .leaflet-container doesn't open its own — this must clear all of them. */
  position:absolute;left:12px;right:12px;bottom:12px;z-index:1001;
  display:flex;gap:12px;background:var(--card);border-radius:var(--r-lg);border:1px solid var(--line);
  box-shadow:var(--shadow-float);padding:10px;max-width:340px;
}
.map-preview-card[hidden]{display:none}
.map-preview-card img{width:88px;height:88px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0;background:var(--stone)}
.map-preview-card .mpc-body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}
.map-preview-card .mpc-name{font-weight:700;color:var(--ink);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-preview-card .mpc-price{font-weight:700;color:var(--ink);font-size:.88rem}
.map-preview-card .mpc-rating{font-size:.8rem;color:var(--muted)}
.map-preview-card .mpc-close{position:absolute;top:4px;inset-inline-end:4px;background:none;border:0;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:6px}

@media (min-width:960px){
  .search-split{flex-direction:row;align-items:flex-start;gap:28px}
  .search-list-pane{flex:1 1 56%;min-width:0}
  .search-map-pane{
    position:sticky;top:80px;inset:auto;z-index:1;
    flex:1 1 44%;min-width:360px;height:calc(100vh - 100px);
    transform:none;transition:none;
    border-radius:var(--r-xl);border:1px solid var(--line);overflow:hidden;
  }
  .map-close-btn{display:none}
  .map-pane-head{justify-content:flex-end}
  .mobile-map-fab{display:none}
}

.trip-details{margin-top:10px;font-size:.85rem}
.trip-details summary{cursor:pointer;font-weight:600;color:var(--ink)}
.trip-details[open] summary{margin-bottom:4px}

.booking-stepper{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.bstep{white-space:nowrap}
.bstep.done{color:var(--ink)}
.bstep.active{color:var(--ink);font-weight:700}
.bstep-arrow{color:var(--line)}

/* ===== RTL number/contact fields stay left-to-right ===== */
:root[dir="rtl"] input[type="tel"],
:root[dir="rtl"] input[type="email"],
:root[dir="rtl"] input[type="number"],
:root[dir="rtl"] input[type="date"]{direction:ltr;text-align:right}

/* ===== account security page ===== */
.sec-block{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:20px 22px;margin-top:20px}
.sec-block h3{margin:0 0 6px}
.sec-block-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sec-block-head h3{margin:0}
.sec-pill{display:inline-block;padding:2px 9px;border-radius:var(--r-pill);font-size:.72rem;font-weight:700}
.sec-pill-current{background:var(--accent-soft);color:var(--accent)}
.sec-pill-new{background:var(--warning-soft);color:var(--warning-text)}
.sec-pill-ok{background:var(--success-soft);color:var(--success-text)}
.sec-pill-warn{background:var(--danger-soft);color:var(--danger-text)}
.sec-highlight{outline:2px solid var(--gold);outline-offset:2px}
.btn-ghost.danger{color:var(--danger);border-color:rgba(179,38,30,.35)}
.sec-verify-grid{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.sec-verify-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--stone);border-radius:var(--r-md);padding:10px 14px;font-size:.9rem}
.sec-verify-panel{display:flex;flex-direction:column;gap:8px;margin-top:12px}
#secVerifyChoose{display:flex;gap:8px;align-items:center}
#secVerifyCode{width:120px;letter-spacing:.2em;text-align:center}

/* ---- Phase 1 upgrades: reviews, favourites on the listing page, calendar sync ---- */
.lp-fav{background:var(--card);border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;cursor:pointer;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.lp-fav[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.review-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 18px;margin:8px 0 14px;font-size:.88rem}
.review-cats div{display:flex;justify-content:space-between;gap:8px}
.rv-cats{color:var(--muted);font-size:.78rem;margin-top:4px}
.rv-actions{display:flex;gap:12px;margin-top:4px}
.cal-day.imported{background:var(--info-soft);color:var(--info-text);cursor:not-allowed}
.cal-day.imported .num{text-decoration:line-through}
.cal-legend{display:flex;flex-wrap:wrap;gap:12px}
.cal-key{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;background:var(--stone)}
.cal-key-booked{background:var(--gold)}
.cal-key-imported{background:color-mix(in srgb,var(--accent) 30%,#fff)}
.cal-sync{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.cal-sync-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cal-sync-head h4{margin:0;font-size:1rem}
.cal-feed-list{list-style:none;padding:0;margin:8px 0}
.cal-feed-list li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;margin-bottom:6px;font-size:.85rem}
.cal-feed-list .feed-url{color:var(--muted);font-size:.75rem;word-break:break-all;flex-basis:100%}
.cal-feed-form{display:grid;grid-template-columns:1fr 2fr auto;gap:8px}
@media (max-width:640px){.cal-feed-form{grid-template-columns:1fr}}
.host-guest-badge{display:inline-block;font-size:.72rem;border-radius:var(--r-pill);padding:1px 7px;background:var(--success-soft);color:var(--success-text);margin-inline-start:4px}

/* ---- Modernization pass: toasts, confirm dialog, skeletons, sort chips, skip link, show more ---- */
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-sm);font-weight:600;text-decoration:none;transition:top .15s}
.skip-link:focus{top:12px}
.toast-area{position:fixed;inset-inline-end:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px));pointer-events:none}
.toast{pointer-events:auto;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--r-md);box-shadow:var(--shadow-float);font-size:.92rem;display:flex;gap:10px;align-items:flex-start;animation:toast-in .22s ease}
.toast.good{background:var(--good)}
.toast.error{background:var(--danger)}
.toast button{background:none;border:0;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:0;margin-inline-start:auto;opacity:.8}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.confirm-modal{width:min(440px,calc(100% - 24px))}
.report-reasons{display:grid;gap:6px}
.report-reasons label{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;font-size:.92rem}
.report-reasons label:has(input:checked){border-color:var(--ink);background:var(--stone)}
.report-reasons input{width:auto;margin:0}
.skeleton{border-radius:var(--r-lg);background:linear-gradient(90deg,var(--stone) 25%,#eef0f4 37%,var(--stone) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}
.skeleton-card .pic{aspect-ratio:4/3.2}
.skeleton-card .line{height:12px;margin:10px 4px 0;width:70%}
.skeleton-card .line.short{width:40%}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.results-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:64px;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);padding:10px 0;margin-top:6px}
.sort-chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:7px 14px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--text)}
.chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.show-more-row{display:flex;justify-content:center;margin:24px 0 8px}
.show-more-row [hidden]{display:none}
@media (max-width:640px){.sort-chips{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:2px}.toast-area{inset-inline:16px;max-width:none}}

/* ---- Modernization pass 2: results search bar, mobile reserve bar, RTL glyphs, gold text contrast ---- */
.rv-stars,.star-picker .on,.cal-day.override .num{color:var(--gold-text)}
.results-search{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr auto;gap:8px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 12px;margin-top:22px;box-shadow:var(--shadow-md)}
.rs-field{display:flex;flex-direction:column;gap:2px;font-size:.75rem;font-weight:600;color:var(--muted);min-width:0}
.rs-field input,.rs-field select{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;background:var(--bg);font-size:.92rem;font-weight:500;color:var(--text);min-width:0}
.results-search .btn{align-self:end;justify-content:center;padding:10px 18px}
@media (max-width:860px){.results-search{grid-template-columns:1fr 1fr}.results-search .rs-field:first-child,.results-search .btn{grid-column:1/-1}}
.mobile-reserve-bar{position:fixed;inset-inline:0;bottom:0;z-index:25;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,31,58,.10)}
.mobile-reserve-bar[hidden]{display:none}
.mrb-price b{font-family:var(--display);font-size:1.15rem;color:var(--ink)}
.mrb-price span{color:var(--muted);font-size:.85rem}
@media (max-width:760px){.mobile-reserve-bar:not([hidden]){display:flex}body.has-reserve-bar{padding-bottom:78px}}
:root[dir="rtl"] .rtl-flip{display:inline-block;transform:scaleX(-1)}
:root[dir="rtl"] .cal-head button{transform:scaleX(-1)}
body.has-compare-bar .mobile-map-fab{bottom:88px}
.bstep-arrow{color:var(--muted)}
.lp-back{display:inline-flex;align-items:center;gap:4px}

/* ---- Modernization pass 3: section headings, mobile card layout for wide tables ---- */
.section-block .sec-h{font-size:1.15rem;font-family:var(--display);color:var(--ink);margin:0 0 8px}
@media (max-width:900px){
  #hostBookingsTable,#secActivityTable{min-width:0}
  #hostBookingsTable thead,#secActivityTable thead{display:none}
  #hostBookingsTable tr,#secActivityTable tr{display:block;padding:12px 14px;border-bottom:1px solid var(--line)}
  #hostBookingsTable tr:last-child,#secActivityTable tr:last-child{border-bottom:0}
  #hostBookingsTable td,#secActivityTable td{display:block;padding:4px 0;border:0}
  #hostBookingsTable td .row-actions{margin-top:8px}
}

/* View all destinations page */
.destinations-page{max-width:1040px;margin:0 auto}
.destinations-page h2{font-size:clamp(1.7rem,3.6vw,2.3rem);margin-bottom:6px}
.destinations-page .lede-sub{color:var(--muted);margin:0 0 22px;line-height:1.6}
.destinations-page h3{font-size:1.05rem;margin:26px 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.dest-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.dest-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--gold)}
.dest-grid-featured .dest-card{background:linear-gradient(135deg,var(--ink-deep),#1D3350);color:#fff;border-color:transparent}
.dest-grid-featured .dest-card .dest-cta{color:var(--gold)}
.dest-name{font-weight:700;font-size:1.1rem}
.dest-cta{font-size:.85rem;color:var(--muted);font-weight:600}
@media (max-width:560px){.dest-grid{grid-template-columns:repeat(2,1fr);gap:10px}.dest-card{min-height:96px;padding:14px}}

/* ====== Optional features (features.js): flexible dates, top badge, trips, loyalty, alerts, split stay ====== */
.flex-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;position:relative;z-index:2}
.flex-label{color:var(--muted);font-size:.8rem;font-weight:700;margin-inline-end:4px}
.flex-chip{background:var(--card);border-color:var(--line);color:var(--text);padding:5px 12px;font-size:.8rem}
.flex-chip:hover{border-color:var(--ink)}
.flex-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.rs-flex select{min-width:0}
body.has-flex .results-search{grid-template-columns:1.4fr 1fr 1fr .7fr .9fr auto}
@media (max-width:860px){body.has-flex .results-search{grid-template-columns:1fr 1fr}}
.flex-box{margin-top:8px;border:1px solid var(--line);border-radius:var(--r-md);padding:8px 10px;background:var(--bg)}
.flex-box-alt{border-style:dashed}
.flex-title{font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:6px}
.flex-alts{display:flex;flex-wrap:wrap;gap:6px}
.flex-alt{border:1px solid var(--line);background:var(--card);border-radius:var(--r-pill);padding:4px 10px;font-size:.78rem;cursor:pointer;color:var(--text)}
.flex-alt:hover{border-color:var(--gold)}
.badge.badge-top{top:auto;bottom:10px;background:var(--gold);color:var(--ink-deep)}
.top-pill{display:inline-flex;align-items:center;gap:4px;background:var(--gold);color:var(--ink-deep);font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:var(--r-pill);white-space:nowrap}
.lp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.lp-actions #lpExtraActions{display:contents}
.dest-follow-btn{white-space:nowrap}
.dest-follow-btn[aria-pressed="true"]{background:var(--accent-soft);border-color:transparent}
/* group trips */
.trip-create{display:flex;gap:8px;margin:14px 0 18px;max-width:560px}
.trip-create input,.trip-pick-new input,.trip-comment-form input{flex:1;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;background:var(--card);color:var(--text);min-width:0}
.trip-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.trip-card{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:16px 18px;color:var(--ink);text-decoration:none}
.trip-card:hover{border-color:var(--gold)}
.trip-role{font-size:.75rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 9px;white-space:nowrap}
.trip-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:10px}
.trip-share-hint{font-size:.85rem;margin:6px 0 16px}
.trip-items{display:flex;flex-direction:column;gap:14px}
.trip-item{display:grid;grid-template-columns:200px 1fr;gap:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:14px;overflow:hidden}
.trip-item-pic{border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3;background:var(--stone);cursor:pointer}
.trip-item-pic img{width:100%;height:100%;object-fit:cover;display:block}
.trip-item-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.trip-item-title{cursor:pointer}
.trip-item-price{text-align:end}
.trip-reactions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}
.react-chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.react-chip.danger{color:var(--danger)}
.trip-added-by{font-size:.8rem;margin-inline-start:4px}
.trip-comments{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:6px}
.trip-comment{font-size:.9rem;display:flex;gap:6px;align-items:baseline}
.trip-comment-del{border:0;background:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1}
.trip-comment-form{display:flex;gap:6px;margin-top:4px}
.trip-pick-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;max-height:40vh;overflow:auto}
.trip-pick{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);padding:10px 12px;cursor:pointer;text-align:start;color:var(--text)}
.trip-pick:hover{border-color:var(--gold)}
.trip-pick-new{display:flex;gap:6px}
/* loyalty */
.loyalty-hero{display:flex;gap:18px;align-items:center;border-radius:var(--r-xl);padding:22px;margin-top:16px;background:linear-gradient(135deg,var(--ink-deep),#1D3350);color:#fff}
.loyalty-hero .muted{color:rgba(255,255,255,.75)}
.loyalty-hero h3{color:#fff}
.loyalty-hero.level-gold{background:linear-gradient(135deg,#8a6a1c,#c9a24a)}
.loyalty-hero.level-silver{background:linear-gradient(135deg,#5b6672,#9aa5b1)}
.loyalty-medal{font-size:2.6rem;line-height:1}
.loyalty-discount{margin-top:6px;font-weight:700;color:var(--gold)}
.loyalty-hero.level-gold .loyalty-discount,.loyalty-hero.level-silver .loyalty-discount{color:#fff}
.loyalty-progress{margin:16px 0}
.loyalty-bar{height:10px;border-radius:var(--r-pill);background:var(--stone);overflow:hidden;margin-bottom:6px}
.loyalty-bar span{display:block;height:100%;background:var(--gold);border-radius:var(--r-pill);transition:width .4s}
.loyalty-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.loyalty-level{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;background:var(--card)}
.loyalty-level.current{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 35%,transparent)}
.loyalty-level-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.loyalty-pct{font-weight:700;margin:6px 0}
.loyalty-level ul{margin:0;padding-inline-start:18px;color:var(--muted);font-size:.9rem;line-height:1.6}
/* alerts */
.pref-row{display:flex;gap:10px;align-items:center;padding:8px 0;cursor:pointer}
.pref-row input{width:18px;height:18px}
.alerts-list{display:flex;flex-direction:column;gap:8px}
.alert-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px}
.alert-row a{color:var(--ink);text-decoration:none}
.price-drop{color:var(--success);font-weight:700}
/* split stay */
.split-stay{margin:22px 0}
.split-head h3{margin:0 0 4px}
.split-combos{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.split-combo{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);padding:14px}
.split-segments{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}
.split-seg{display:grid;grid-template-columns:110px 1fr;gap:10px;border:1px solid var(--line);border-radius:var(--r-md);padding:8px;background:var(--bg);text-align:start;cursor:pointer;color:var(--text)}
.split-seg:hover{border-color:var(--gold)}
.split-seg-pic{border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1;background:var(--stone)}
.split-seg-pic img{width:100%;height:100%;object-fit:cover;display:block}
.split-seg-step{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.split-arrow{display:flex;align-items:center;font-size:1.4rem;color:var(--muted)}
.split-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:.92rem}
.split-switch{color:var(--ink);font-weight:600}
@media (max-width:760px){
  .split-segments{grid-template-columns:1fr}
  .split-arrow{justify-content:center;transform:rotate(90deg)}
  [dir="rtl"] .split-arrow .rtl-flip{transform:none} /* stacked layout: the arrow points down in both directions */
  .trip-item{grid-template-columns:1fr}
  .trip-item-pic{aspect-ratio:16/9}
  .flex-row{justify-content:flex-start}
  .loyalty-hero{flex-direction:column;align-items:flex-start}
}

/* ====== Mobile-first pass: touch targets, iOS/Android behaviour, bottom navigation, safe areas ====== */
html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
button,[role="button"],a.btn,.chip,.fav,.lp-fav{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (max-width:860px){
  /* No control smaller than 40px tall; the most-used ones reach 44–48px. 16px inputs stop iOS Safari zooming on focus. */
  .btn{min-height:44px;padding-block:10px}
  .btn-sm{min-height:40px;padding:8px 12px}
  .sort-chips .chip,.filter-tabs button{white-space:nowrap;flex:none}
  .chip,.filter-tabs button,.flex-alt,.react-chip,.sort-chips .chip{min-height:40px;padding-block:8px}
  .fav{width:42px;height:42px}
  .link-btn{padding:8px 0;min-height:40px;display:inline-flex;align-items:center}
  .lp-back{min-height:44px;align-items:center;margin-bottom:6px}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px}
  .field input,.field select{font-size:16px}
  .field{min-height:56px;justify-content:center}
  .top .wrap>.nav .btn,.lang-trigger,.currency-trigger,.notif-trigger,.nav-menu-btn,.acct-trigger{min-height:42px}
  .m-close{width:44px;height:44px}
  /* dialogs become bottom sheets: reachable with one hand, dismissable by the visible close button */
  dialog:not(.lang-modal):not(.compare-modal){width:100%;max-width:100%;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:min(92dvh,calc(100dvh - 40px));overflow:auto;padding-bottom:env(safe-area-inset-bottom)}
  dialog::backdrop{background:color-mix(in srgb, var(--ink-deep) 60%, transparent)}
  .m-body{padding:20px 18px calc(22px + env(safe-area-inset-bottom))}
  /* host portal */
  .dash-head{align-items:center}
  .dash-head h2{font-size:1.45rem}
  .dash-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}
  .dash-tabs::-webkit-scrollbar{display:none}
  .dtab{white-space:nowrap;margin-inline-end:16px;font-size:.92rem;min-height:44px}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}
  .stat-card{padding:12px 14px;border-radius:var(--r-md)}
  .stat-card .stat-value{font-size:1.35rem}
  .stat-card .stat-label{font-size:.74rem;margin-bottom:2px}
  .filter-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .filter-tabs::-webkit-scrollbar{display:none}
  .filter-tabs button{white-space:nowrap}
  table.dtable .btn,table.dtable button{min-height:40px}
  /* property page: title first, actions as a compact row beneath it */
  .lp-head{flex-direction:column;align-items:stretch;gap:8px}
  .lp-head h1{font-size:1.5rem}
  .lp-actions{justify-content:flex-start;gap:8px}
  .lp-fav{padding:8px 12px;font-size:.86rem;min-height:40px}
  .booking-stepper{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hero-mode-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hero-mode-tabs::-webkit-scrollbar{display:none}
  .hero-mode-tab{white-space:nowrap;min-height:44px}
  .cal-head button{width:44px;height:44px;border-radius:var(--r-md)}
  .report-link{padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
  .booking-stepper::-webkit-scrollbar{display:none}
}
/* On narrow phones the header's Guest Sign In pill wrapped the row onto two lines; the bottom bar
   carries Sign in, so the pill steps aside there. */
@media (max-width:480px){#navArea #navSignIn{display:none}}
/* bottom navigation */
.bottom-nav{display:none}
@media (max-width:860px){
  .bottom-nav:not([hidden]){display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset-inline:0;bottom:0;z-index:26;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(11,31,58,.06)}
  body:not(.bn-hidden){padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  body.bn-hidden .bottom-nav{display:none}
  .bn-item{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;border-radius:var(--r-md);color:var(--muted);font-size:.68rem;font-weight:600;cursor:pointer;min-width:0}
  .bn-item .bn-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}
  .bn-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .bn-item[aria-current="page"]{color:var(--ink)}
  .bn-item[aria-current="page"] .bn-ic{background:var(--accent-soft);border-radius:var(--r-pill);padding:2px 10px}
  .bn-item:active{transform:scale(.96)}
  /* other fixed/sticky bars sit above the bottom navigation */
  body:not(.bn-hidden) .mobile-map-fab{bottom:calc(84px + env(safe-area-inset-bottom))}
  body:not(.bn-hidden) .compare-bar{bottom:calc(78px + env(safe-area-inset-bottom))}
  body:not(.bn-hidden) .offer-selection-bar{bottom:calc(72px + env(safe-area-inset-bottom))}
  body:not(.bn-hidden) .toast-area{bottom:calc(84px + env(safe-area-inset-bottom))}
  .mobile-reserve-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
/* safe areas on notched phones (viewport-fit=cover) */
@supports (padding:max(0px)){
  header.top .wrap{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}
  .mobile-reserve-bar{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
}
/* standalone (installed) mode: no browser chrome, so a touch more breathing room at the top */
@media (display-mode:standalone){header.top{padding-top:env(safe-area-inset-top)}}
/* hero: prefer AVIF where supported */
@supports (background-image:image-set(url('a.avif') type('image/avif'))){
  .hero{background-image:linear-gradient(180deg, rgba(7,22,43,.42) 0%, rgba(7,22,43,.55) 55%, rgba(7,22,43,.82) 100%), image-set(url('/hero-beach.avif') type('image/avif'), url('/hero-beach.webp') type('image/webp'), url('/hero-beach.jpg') type('image/jpeg'))}
  @media (max-width:640px){.hero{background-image:linear-gradient(180deg, rgba(7,22,43,.48) 0%, rgba(7,22,43,.62) 55%, rgba(7,22,43,.86) 100%), image-set(url('/hero-beach-sm.avif') type('image/avif'), url('/hero-beach-sm.webp') type('image/webp'), url('/hero-beach.jpg') type('image/jpeg'))}}
}

/* ====== Premium polish: more air, larger imagery, calmer typography (CSS-only, no new assets) ====== */
h1,h2,h3{letter-spacing:-.02em}
.wrap{max-width:1240px;padding:0 24px}
/* hero: taller, image-led, content centred */
@media (min-width:861px){
  .hero{padding:0;min-height:min(78vh,760px);display:flex;align-items:center}
  .hero-inner{padding:96px 0 72px;width:100%}
  .hero h1{font-size:clamp(2.8rem,5.4vw,4.4rem);line-height:1.02;max-width:17ch}
  .hero p.lede{font-size:1.15rem;margin-top:18px}
  .hero-eyebrow{font-size:.8rem;letter-spacing:.24em;margin-bottom:18px}
  .search-card{margin-top:38px;max-width:1040px;padding:10px 12px 12px;border-radius:var(--r-2xl)}
  .field{padding:12px 16px}
  .search .btn{min-height:62px;padding:0 28px}
  .hero-trust{margin-top:22px;gap:10px 28px;font-size:.9rem}
}
/* sections: generous rhythm, editorial headings */
@media (min-width:861px){
  .home-section{padding:88px 0}
  .destinations{padding-top:80px}
  .section-head{margin-bottom:34px;align-items:flex-end}
  .section-head h2{font-size:clamp(1.9rem,3vw,2.5rem)}
  .section-head p{font-size:1.05rem;margin-top:10px}
  .dest-tiles{gap:20px}
  .dest-tile{aspect-ratio:4/3;border-radius:var(--r-xl)}
  .dest-tile-body{inset-inline:22px;bottom:20px}
  .dest-tile-body b{font-size:1.45rem}
  .dest-tile-body small{font-size:.9rem;margin-top:4px}
  .trust-grid{gap:18px}
  .trust-card{padding:28px 26px;border-radius:var(--r-xl)}
  .trust-card .ti{width:46px;height:46px;border-radius:var(--r-md);margin-bottom:18px}
  .trust-card b{font-size:1.05rem}
  .trust-card span{font-size:.92rem}
  .ways-grid{gap:20px}
  .way-card{padding:34px 30px;border-radius:var(--r-xl);gap:12px}
  .way-card h3{font-size:1.3rem}
  .way-card p{font-size:.98rem}
  .way-num{font-size:.88rem;letter-spacing:.14em}
  .discover-card{min-height:360px;padding:44px 40px;border-radius:var(--r-2xl)}
  .discover-card h2{font-size:clamp(1.7rem,2.8vw,2.3rem)}
  .site-footer{padding:64px 0 32px}
}
/* search results: larger pictures, stronger hierarchy */
.grid{gap:34px 24px}
.pic{border-radius:var(--r-xl);aspect-ratio:4/3}
.meta{padding:12px 2px 0}
.meta .l1{font-size:1.02rem}
.meta .l1 span:first-child{color:var(--ink)}
.meta .sub{font-size:.95rem;margin-top:2px}
.price{margin-top:8px;font-size:1.05rem}
.price b{font-size:1.15rem}
@media (min-width:1100px){.grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}}
/* property page: bigger gallery and title, more breathing room between sections */
@media (min-width:861px){
  .gallery{height:min(540px,50vw);border-radius:var(--r-xl);gap:8px}
  .lp-head{margin-bottom:22px}
  .lp-head h1{font-size:clamp(1.9rem,3.4vw,2.7rem)}
  .lp-head .sub{font-size:1.05rem;margin-top:8px}
  .m-grid{gap:48px;margin-top:30px}
  .facts{gap:8px 20px;font-size:1.02rem;margin:12px 0 22px}
  #lDesc{font-size:1.05rem;line-height:1.7;max-width:68ch}
  .section-block{padding-top:30px;margin-top:30px}
  .section-block .sec-h{font-size:1.3rem;margin-bottom:12px}
  .book{padding:24px;border-radius:var(--r-2xl);box-shadow:var(--shadow-md)}
  .book .big{font-size:1.9rem}
}
/* buttons: slightly larger, calmer */
.btn-ink,.btn-gold,.btn-light{padding:12px 22px}
.btn-ink:hover{box-shadow:0 12px 28px -14px rgba(11,31,58,.5)}

/* honeypot field (signup): off-screen, never focusable */
.hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

/* share sheet + property-page skeleton */
.share-row{display:flex;gap:8px;flex-wrap:wrap}
.share-row .btn{flex:1;justify-content:center;min-height:46px}
.share-link{width:100%;margin-top:10px;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;background:var(--stone);font-size:.9rem;color:var(--muted)}
.lp-skeleton .line{height:14px;border-radius:var(--r-xs);margin-bottom:10px}
.lp-skeleton .gallery div{background:var(--stone)}
@media (max-width:760px){.lp-skeleton .gallery{height:46vw}}

/* ===== check-in guide secrets: masked by default, revealed on demand (host form + guest modal) ===== */
.secret-field{position:relative}
.secret-field .is-masked{-webkit-text-security:disc}
textarea.is-masked{color:transparent;text-shadow:0 0 7px rgba(23,32,51,.55)}
textarea.is-masked::selection{color:transparent}
.secret-toggle{position:absolute;inset-inline-end:8px;bottom:8px;min-height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.secret-toggle[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.secret-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 10px}
.secret-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;letter-spacing:.06em;background:var(--stone);padding:6px 12px;border-radius:var(--r-sm);color:var(--ink);word-break:break-all}
.secret-row .btn-sm{min-height:36px}
.secret-locked{display:flex;gap:10px;align-items:flex-start;background:var(--stone);border-radius:var(--r-md);padding:12px 14px;margin:6px 0 12px;font-size:.9rem;color:var(--muted)}
.secret-locked b{color:var(--ink)}

/* ===== password strength meter (sign-up, reset, change password) ===== */
.pw-meter{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:.78rem;color:var(--muted);min-height:16px}
.pw-meter:empty{display:none}
.pw-bar{flex:1;height:5px;border-radius:var(--r-pill);background:var(--line);overflow:hidden}
.pw-bar i{display:block;height:100%;width:0;border-radius:var(--r-pill);background:var(--danger);transition:width .25s var(--ease,ease),background .25s}
.pw-meter[data-level="1"] i{width:34%;background:var(--danger)}
.pw-meter[data-level="2"] i{width:67%;background:var(--warning)}
.pw-meter[data-level="3"] i{width:100%;background:var(--success)}
.pw-meter[data-level="1"] .pw-label{color:var(--danger)}
.pw-meter[data-level="3"] .pw-label{color:var(--success)}

/* ===== account deletion ===== */
.sec-danger{border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}
.sec-danger h3{color:var(--danger)}
.btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}
.btn-danger:hover{background:var(--danger-text)}

/* ===== Host listing wizard (public/wizard.js) ===== */
.wiz{min-height:100dvh;background:var(--bg);padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.wiz-head{position:sticky;top:0;z-index:20;background:var(--card);border-bottom:1px solid var(--line);padding:10px 16px 8px}
.wiz-head .link-btn{font-size:.85rem}
.wiz-progress{height:4px;border-radius:var(--r-pill);background:var(--line);overflow:hidden;margin:8px 0 6px}
.wiz-progress-fill{height:100%;width:0;background:var(--ink);border-radius:var(--r-pill);transition:width .3s var(--ease)}
.wiz-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wiz-progress-label{font-size:.82rem;font-weight:700;color:var(--ink)}
.wiz-score-pill{font-size:.75rem;font-weight:700;color:var(--gold-text);background:var(--gold-soft);border-radius:var(--r-pill);padding:3px 10px}
.wiz-dots{display:flex;gap:6px;margin-top:8px}
.wiz-dot{flex:1;height:6px;border-radius:var(--r-pill);border:0;background:var(--line);cursor:pointer;padding:0;min-height:6px}
.wiz-dot.done{background:var(--muted)}
.wiz-dot.on{background:var(--ink)}
.wiz-main{max-width:720px;margin:0 auto;padding:22px 16px 40px}
.wiz-step h2{font-size:clamp(1.4rem,4.5vw,1.9rem);letter-spacing:-.02em;margin:0 0 6px}
.wiz-step > .muted{margin:0 0 18px;line-height:1.55}
.wiz-field{margin:0 0 18px}
.wiz-field > label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.wiz-field input[type=text],.wiz-field input[type=number],.wiz-field input[type=password],.wiz-field input[type=time],.wiz-field select,.wiz-field textarea{width:100%;min-height:48px;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;font:inherit;background:var(--card)}
.wiz-field textarea{min-height:0}
.wiz-field small{display:block;margin-top:6px;font-size:.8rem}
.wiz-req{color:var(--gold-text);margin-inline-start:4px;font-size:.8rem}
.wiz-opt{color:var(--muted);font-weight:500;font-size:.78rem;margin-inline-start:6px}
.wiz-enc{color:var(--muted);font-weight:500;font-size:.75rem;margin-inline-start:6px}
.wiz-counter{font-size:.78rem;color:var(--muted);margin-top:6px}
.wiz-count{font-weight:500;color:var(--muted);font-size:.8rem;margin-inline-start:6px}
.wiz-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wiz-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:420px){.wiz-row3{grid-template-columns:1fr}.wiz-row2{grid-template-columns:1fr}}
.wiz-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wiz-cards-2{grid-template-columns:1fr 1fr}
.wiz-cards-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:520px){.wiz-cards{grid-template-columns:1fr 1fr}.wiz-cards-2,.wiz-cards-3{grid-template-columns:1fr}}
.wiz-card{position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:14px;cursor:pointer;background:var(--card);min-height:72px;transition:border-color .15s,box-shadow .15s}
.wiz-card input{position:absolute;opacity:0;pointer-events:none}
.wiz-card.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}
.wiz-card b{font-size:.95rem}
.wiz-card small{color:var(--muted);font-size:.8rem;line-height:1.4}
.wiz-card-ic{font-size:1.4rem}
.wiz-card-lg{min-height:120px}
.wiz-badge{position:absolute;top:10px;inset-inline-end:10px;background:var(--gold-soft);color:var(--gold-text);font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase}
.wiz-mode-note{font-size:.85rem;margin:8px 0 0}
.wiz-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--card)}
.wiz-stepper button{width:48px;min-height:48px;border:0;background:var(--stone);font-size:1.3rem;cursor:pointer;color:var(--ink)}
.wiz-stepper input{flex:1;border:0 !important;text-align:center;min-width:0;font-weight:700;border-radius:0 !important}
.wiz-toggles{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.wiz-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 14px;font-weight:600;font-size:.9rem;cursor:pointer;min-height:44px;background:var(--card)}
.wiz-toggle input{width:20px;height:20px;accent-color:var(--ink)}
.wiz-toggle:has(input:checked){border-color:var(--ink);background:var(--stone)}
.wiz-chips{display:flex;flex-wrap:wrap;gap:8px}
.wiz-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 14px;min-height:44px;font-size:.88rem;font-weight:600;cursor:pointer;background:var(--card)}
.wiz-chip input{position:absolute;opacity:0;pointer-events:none}
.wiz-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.wiz-sub{margin:0 0 18px;padding:12px 14px;background:var(--stone);border-radius:var(--r-md)}
.wiz-sub .wiz-field:last-child{margin-bottom:0}
.wiz-details{border:1px solid var(--line);border-radius:var(--r-lg);padding:0 14px;margin:0 0 18px;background:var(--card)}
.wiz-details summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none}
.wiz-details summary::-webkit-details-marker{display:none}
.wiz-details[open] summary{border-bottom:1px solid var(--line);margin-bottom:14px}
.wiz-hint{display:flex;gap:10px;align-items:flex-start;background:var(--gold-soft);border-radius:var(--r-md);padding:12px 14px;margin:0 0 18px;font-size:.9rem;color:var(--ink)}
.wiz-tips{background:var(--stone);border-radius:var(--r-lg);padding:14px 16px;margin:16px 0;font-size:.88rem}
.wiz-tips ul{margin:6px 0 0;padding-inline-start:18px;color:var(--muted)}
.wiz-prompts{margin:8px 0 0;padding-inline-start:18px;color:var(--muted);font-size:.84rem}
.wiz-photo-count{font-size:.9rem;margin:0 0 10px;color:var(--muted)}
.wiz-photo-count b.min{color:var(--ink)} .wiz-photo-count b.ok{color:var(--success)}
.wiz-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (min-width:600px){.wiz-photos{grid-template-columns:repeat(4,1fr)}}
.wiz-tile{cursor:default}
.wiz-tile-actions{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;background:linear-gradient(to top,rgba(11,31,58,.75),transparent);padding:4px}
.wiz-tile-actions button{width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.1rem;cursor:pointer;line-height:1}
.wiz-tile-actions button:disabled{opacity:.35}
.wiz-add-photo,.wiz-slot{aspect-ratio:1;border-radius:var(--r-md);border:2px dashed var(--line);background:var(--card)}
.wiz-add-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:inherit;color:var(--ink)}
.wiz-add-photo span{font-size:1.6rem;line-height:1}
.wiz-add-photo small{font-size:.75rem;color:var(--muted)}
.wiz-spinner{position:absolute;inset:0;margin:auto;width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:wizspin .8s linear infinite}
@keyframes wizspin{to{transform:rotate(360deg)}}
.wiz-step-err{margin:0 0 12px;padding:10px 14px;background:var(--danger-soft);border-radius:var(--r-md);color:var(--danger-text);font-weight:600}
.wiz-bar{position:fixed;inset-inline:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,31,58,.10)}
.wiz-bar[hidden]{display:none}
.wiz-bar .btn{min-height:48px;padding:0 22px}
.wiz-save-state{flex:1;text-align:center;font-size:.78rem;color:var(--muted)}
.wiz-save-state[data-state="saved"]{color:var(--success)}
.wiz-save-state[data-state="error"]{color:var(--danger)}
.wiz-score{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin:0 0 16px}
.wiz-ring{--p:0;width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--ink) calc(var(--p) * 1%), var(--line) 0);display:grid;place-items:center;flex:none}
.wiz-ring span{width:56px;height:56px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-weight:800;font-size:.95rem}
.wiz-missing{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,var(--line));border-radius:var(--r-lg);padding:14px 16px;margin:0 0 16px;font-size:.9rem}
.wiz-missing ul{margin:6px 0 0;padding-inline-start:18px}
.wiz-missing .link-btn{font-weight:600;color:var(--ink)}
.wiz-sum{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin:0 0 10px;background:var(--card);font-size:.9rem;line-height:1.5}
.wiz-sum-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.wiz-sum-photos{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.wiz-sum-photos img{width:56px;height:56px;object-fit:cover;border-radius:var(--r-xs)}
.wiz-success{text-align:center;padding:40px 0}
.wiz-success-ic{font-size:3rem}
.wiz-success h2{margin:10px 0 6px}
.wiz-success-actions{display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:22px}
.wiz-success-actions .btn{min-width:240px;justify-content:center;min-height:48px}
.status-draft{background:var(--ink-soft);color:var(--ink)}
.host-card.status-draft .hc-pic{opacity:.75}
.hc-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
[dir="rtl"] .wiz-progress-fill{margin-inline-start:auto}

/* ===== Help & Support + Contact Us (public/support.js) ===== */
.sp-page{max-width:1040px}
.sp-hero{text-align:center;padding:10px 0 8px}
.sp-hero h1{font-size:clamp(1.9rem,5vw,2.8rem);letter-spacing:-.02em;margin:0 0 18px}
.sp-search{position:relative;max-width:680px;margin:0 auto}
.sp-search input{width:100%;min-height:58px;border:1.5px solid var(--line);border-radius:var(--r-pill);padding:14px 20px 14px 52px;font:inherit;font-size:1.05rem;background:var(--card);box-shadow:var(--shadow-md)}
[dir="rtl"] .sp-search input{padding:14px 52px 14px 20px}
.sp-search input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,31,58,.12)}
.sp-search-ic{position:absolute;inset-inline-start:20px;top:50%;transform:translateY(-50%);font-size:1.1rem;pointer-events:none}
.sp-search-hint{font-size:.85rem;margin:10px 0 0}
.sp-results{max-width:680px;margin:14px auto 0;text-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;box-shadow:var(--shadow-md)}
.sp-results-h{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:8px 12px 4px}
.sp-result{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--r-md);text-decoration:none;color:var(--text);min-height:44px}
.sp-result:hover{background:var(--stone)}
.sp-result b{color:var(--ink)} .sp-result span{font-size:.85rem;color:var(--muted)}
.sp-result-type{font-size:.72rem !important;font-weight:700;color:var(--gold-text) !important;text-transform:uppercase;letter-spacing:.06em}
.sp-noresults{padding:14px;margin:0;color:var(--muted)}
.sp-who{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 8px}
@media (max-width:760px){.sp-who{grid-template-columns:1fr}}
.sp-who-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--text);min-height:140px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.sp-who-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.sp-who-card b{font-size:1.15rem;color:var(--ink)} .sp-who-card span{color:var(--muted);font-size:.92rem;line-height:1.5} .sp-who-card em{font-style:normal;font-weight:700;color:var(--ink);margin-top:auto}
.sp-who-ic{font-size:1.6rem;line-height:1}
.sp-who-urgent{background:linear-gradient(135deg,var(--ink) 0%,var(--ink-deep,#071428) 100%);color:#fff;border-color:transparent}
.sp-who-urgent b,.sp-who-urgent em{color:#fff} .sp-who-urgent span{color:rgba(255,255,255,.78)}
.sp-section{margin:34px 0 0} .sp-section h2,.sp-contact h2{font-size:1.35rem;margin:0 0 14px;letter-spacing:-.01em}
.sp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
@media (max-width:520px){.sp-cats{grid-template-columns:1fr 1fr}}
.sp-cat{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);text-decoration:none;color:var(--text);min-height:110px}
.sp-cat:hover{border-color:var(--ink)}
.sp-cat-ic{font-size:1.4rem} .sp-cat b{color:var(--ink)} .sp-cat span{font-size:.84rem;color:var(--muted);line-height:1.45}
.sp-articles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.sp-article-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);text-decoration:none;color:var(--text);min-height:64px}
.sp-article-card:hover{background:var(--stone)} .sp-article-card b{color:var(--ink)} .sp-article-card span{font-size:.86rem;color:var(--muted)}
.sp-contact{margin:36px 0 0}
.sp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:760px){.sp-contact-grid{grid-template-columns:1fr}}
.sp-channel{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--card)}
.sp-channel-guest{border-color:color-mix(in srgb,var(--success) 25%,var(--line));background:linear-gradient(180deg,var(--success-soft),var(--card))}
.sp-channel-host{border-color:var(--line-strong);background:linear-gradient(180deg,var(--ink-soft),var(--card))}
.sp-channel-head{display:flex;gap:12px;align-items:center;margin-bottom:10px} .sp-channel-head b{display:block;font-size:1.1rem;color:var(--ink)}
.sp-channel-ic{font-size:1.6rem}
.sp-tag{display:inline-block;margin-top:4px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-pill);padding:3px 10px}
.sp-tag-wa{background:var(--success-soft);color:var(--success)} .sp-tag-call{background:var(--ink-soft);color:var(--ink)}
.sp-number{display:block;font-size:1.35rem;font-weight:800;color:var(--ink);text-decoration:none;margin:6px 0 2px;letter-spacing:.02em;min-height:44px;line-height:44px}
.sp-email{font-size:1rem;font-weight:600;color:var(--ink);line-height:44px;min-height:44px}
.sp-channel .muted{margin:8px 0 12px;font-size:.9rem;line-height:1.5}
.sp-actions{display:flex;gap:10px;flex-wrap:wrap} .sp-actions .btn{min-height:48px}
.sp-btn-wa{background:var(--success) !important;color:#fff !important}
.sp-hours{font-size:.85rem;margin:12px 0 0}
.sp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:36px 0 0}
@media (max-width:760px){.sp-info-grid{grid-template-columns:1fr}}
.sp-info{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--card)}
.sp-info h3{margin:0 0 8px;font-size:1.1rem;color:var(--ink)} .sp-info p{margin:0;color:var(--text);line-height:1.65;font-size:.95rem}
.sp-checks{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:.88rem}
.sp-checks li::before{content:"✓ ";color:var(--success);font-weight:800}
.sp-privacy{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.sp-privacy li{display:flex;flex-direction:column;gap:2px;font-size:.92rem;line-height:1.5} .sp-privacy b{color:var(--ink)} .sp-privacy span{color:var(--muted)}
.sp-links{margin:14px 0 0 !important;font-size:.88rem} .sp-links a{color:var(--ink)}
.sp-future{font-size:.85rem;margin:28px 0 0;text-align:center}
.sp-crumb{font-size:.86rem;color:var(--muted);margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center} .sp-crumb a{color:var(--ink);text-decoration:none;min-height:32px;line-height:32px} .sp-crumb a:hover{text-decoration:underline}
.sp-page-head h1{font-size:clamp(1.7rem,4.5vw,2.4rem);letter-spacing:-.02em;margin:0 0 6px} .sp-page-head .muted{margin:0;line-height:1.55}
.sp-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 0}
@media (max-width:760px){.sp-paths{grid-template-columns:1fr}}
.sp-path,.sp-topic{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;background:var(--card);scroll-margin-top:90px}
.sp-path h2,.sp-topic h2{font-size:1.1rem;margin:0 0 4px;color:var(--ink)} .sp-path .muted{margin:0 0 10px;font-size:.9rem}
.sp-path-urgent{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:var(--warning-soft)}
.sp-path-links{display:flex;flex-wrap:wrap;gap:8px}
.sp-path-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:var(--r-pill);background:var(--stone);color:var(--ink);text-decoration:none;font-size:.88rem;font-weight:600}
.sp-path-links a:hover{background:var(--ink);color:#fff}
.sp-urgent-link{background:var(--ink) !important;color:#fff !important}
.sp-flash{animation:spflash 1.6s ease} @keyframes spflash{0%{box-shadow:0 0 0 3px var(--gold)}100%{box-shadow:0 0 0 0 transparent}}
.sp-hostline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 0;padding:20px;border-radius:var(--radius);border:1px solid var(--line-strong);background:linear-gradient(180deg,var(--ink-soft),var(--card))}
.sp-hostline b{font-size:1.1rem;color:var(--ink);margin-inline-end:8px} .sp-hostline .muted{margin:8px 0 0;font-size:.9rem}
.sp-call-big{font-size:1.15rem;min-height:56px;padding:0 24px}
.sp-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:22px 0 0}
.sp-urgent-head{display:flex;flex-direction:column;gap:4px}
.sp-urgent-box{margin:22px 0 0;padding:18px 20px;border-radius:var(--r-lg);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,var(--line))}
.sp-urgent-box h2{font-size:1.05rem;margin:0 0 8px} .sp-urgent-box ul{margin:0;padding-inline-start:20px;line-height:1.7}
.sp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.sp-steps li{display:flex;gap:14px;align-items:flex-start} .sp-steps li p{margin:4px 0 10px;color:var(--muted);line-height:1.6}
.sp-step-n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}
.sp-disclaimer{margin:24px 0 0;padding:14px 16px;border-radius:var(--r-md);background:var(--stone);font-size:.9rem;line-height:1.6;color:var(--text)}
.sp-article{max-width:760px} .sp-article h1{font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.02em;margin:0 0 8px} .sp-article-summary{font-size:1.05rem;color:var(--muted);margin:0 0 18px}
.sp-article h2{font-size:1.15rem;margin:22px 0 6px} .sp-article p{line-height:1.75;margin:0}
.sp-still{margin:36px 0 0} .sp-still h2{font-size:1.2rem;margin:0 0 4px} .sp-still .muted{margin:0}
.sp-redirect{display:flex;gap:14px;align-items:center;margin:20px 0 0;padding:16px 18px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--success) 25%,var(--line));background:var(--success-soft)}
.sp-redirect span{font-size:1.5rem} .sp-redirect b{display:block;margin-bottom:8px;color:var(--ink)}
.sp-inquiries{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.sp-inquiry{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);text-decoration:none;color:var(--text);min-height:120px}
.sp-inquiry:hover{border-color:var(--ink)} .sp-inquiry b{color:var(--ink);font-size:1.02rem} .sp-inquiry span{font-size:.88rem;color:var(--muted);line-height:1.5} .sp-inquiry em{font-style:normal;margin-top:auto;font-size:.85rem;color:var(--ink);font-weight:600}
.sp-corp{margin:30px 0 0;padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card)} .sp-corp a{color:var(--ink);font-weight:700} .sp-corp .muted{margin:8px 0 0;font-size:.9rem}

/* =====================================================================================================
   Design system v2 — shared components. Appended last on purpose: at equal specificity these rules win,
   so every page inherits the same buttons, inputs, cards, pills, tabs, tables, dialogs and empty states.
   ===================================================================================================== */
body{line-height:var(--lh-body)}
a{color:var(--accent)}
a:hover{color:var(--accent-text)}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:var(--lh-tight);letter-spacing:-.02em}
h4{margin:0}
:root[lang="ar"] h1,:root[lang="ar"] h2,:root[lang="ar"] h3,:root[lang="ar"] h4{letter-spacing:0;line-height:1.3}
.muted{color:var(--muted)}
::placeholder{color:var(--text-faint);opacity:1}
::selection{background:var(--accent-soft);color:var(--ink)}

/* ---- page frame: every view starts with the same title rhythm ---- */
.view-pad{padding-block:32px 88px}
.view-pad>h2:first-child,.dash-head h2,.view-pad>.dash-head:first-child h2{font-size:var(--fs-3xl);margin:0 0 22px}
.dash-head{margin-bottom:22px}
.dash-head h2{margin:0}
.view-pad>h2:first-child+p.muted,.view-pad>h2:first-child+.muted{margin:-12px 0 22px;max-width:62ch}
@media (max-width:860px){
  .view-pad{padding-block:20px 80px}
  .view-pad>h2:first-child,.dash-head h2,.view-pad>.dash-head:first-child h2{font-size:1.65rem;margin-bottom:16px}
  .view-pad>h2:first-child+p.muted,.view-pad>h2:first-child+.muted{margin:-8px 0 16px}
}

/* ---- header ---- */
.top .wrap{height:68px}
@media (max-width:860px){.top .wrap{height:auto}}
.navlinks{font-size:.95rem}
.top .nav .btn-ghost,.top .nav .lang-trigger,.top .nav .currency-trigger,.top .nav .notif-trigger,.top .nav .acct-trigger{border-color:var(--line)}
.top .nav .btn-ghost:hover{border-color:var(--line-strong);background:var(--stone)}
.avatar-sm{background:var(--ink);color:#fff}

/* ---- buttons: one primary (navy), one secondary (outline), one accent (sand), plus sizes ---- */
.btn{font-weight:700;min-height:44px;padding:10px 20px;border-radius:var(--r-pill);line-height:1.2}
.btn-ink,.btn-gold,.btn-light{padding:11px 22px}
.btn-ghost{color:var(--ink);background:var(--card);border:1px solid var(--line-strong)}
.btn-ghost:hover{border-color:var(--ink);background:var(--stone);color:var(--ink)}
.btn-gold{color:var(--ink-deep)}
.btn-sm,.row-actions .btn,.hc-actions .btn,table.dtable .btn{min-height:40px;padding:7px 14px;font-size:var(--fs-sm)}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.link-btn{color:var(--accent)}
.link-btn:hover{color:var(--accent-text)}
@media (max-width:860px){.btn-sm,.row-actions .btn,.hc-actions .btn,table.dtable .btn{min-height:40px}}

/* ---- inputs: one field style everywhere (hero search card keeps its borderless fields) ---- */
:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=submit],[type=button],[type=color]),select,textarea){
  border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;background:var(--card);color:var(--text);
  min-height:46px;font-size:var(--fs-md);line-height:1.3;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)
}
:where(textarea){min-height:96px;resize:vertical}
:where(input,select,textarea):focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
.field :is(input,select):focus{border-color:transparent;box-shadow:none}
.field :is(input,select){min-height:0}
input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:18px;height:18px}
.form-grid{gap:14px 16px}
.form-grid label,.book label,.wiz-field>label,.auth-card label{font-size:var(--fs-sm);font-weight:600;color:var(--text)}
.form-grid label:has(>input[type=checkbox]){flex-direction:row;align-items:flex-start;gap:10px;font-weight:500}
.form-grid label:has(>input[type=checkbox])>input{margin-top:3px;flex:none}
.book label{gap:5px}
.book input{background:var(--card)}
.book label:has(#bPromo){flex-direction:row;align-items:center;gap:10px}
.rs-field{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.rs-field input,.rs-field select{text-transform:none;letter-spacing:0;min-height:44px;padding:9px 12px}
:root[lang="ar"] .rs-field,:root[lang="ar"] .stat-card .stat-label,:root[lang="ar"] .footer-col b,:root[lang="ar"] table.dtable th,:root[lang="ar"] .cal-dow{letter-spacing:0;text-transform:none}

/* ---- cards & surfaces ---- */
.sec-block,.offer-card,.trip-card,.loyalty-level,.split-combo,.alert-row,.cal-labels div,.legal-page .contact-box{border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.sec-block{padding:22px 24px}
.sec-block h3{font-size:var(--fs-lg)}
.sec-verify-row{flex-wrap:wrap}
.sec-verify-row>b{min-width:0;overflow-wrap:anywhere;text-align:end;margin-inline-start:auto}
.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 0 28px}
@media (min-width:1000px){.stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat-card{border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-sm)}
.stat-card .stat-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
.stat-card .stat-value{font-size:1.9rem;font-weight:800;line-height:1}
.dash-quicklinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:4px}
.dash-quicklink{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm);transition:border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}
.dash-quicklink::after{content:"→";color:var(--muted);font-weight:400}
:root[dir="rtl"] .dash-quicklink::after{content:"←"}
.dash-quicklink:hover{text-decoration:none;border-color:var(--ink);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.host-card{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.host-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}
.host-card .hc-pic{border-start-start-radius:var(--r-lg);border-end-start-radius:var(--r-lg)}
.discover-grid .host-card{display:flex;align-items:flex-end;background:var(--gold-soft);border:1px solid #EFE1C2;border-radius:var(--r-2xl);box-shadow:none}
.discover-grid .host-card:hover{border-color:#EFE1C2;box-shadow:none}
.way-card,.trust-card,.sp-who-card,.sp-cat,.sp-channel,.sp-info,.sp-inquiry,.dest-card{box-shadow:var(--shadow-sm)}
.site-footer{background:var(--stone)}
.footer-col b{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.footer-col a{font-size:.92rem}

/* ---- listing cards (search, favourites, host) ---- */
.pic{border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.meta .l1{font-size:1rem}
.meta .l1 span:first-child{font-weight:700}
.meta .sub{font-size:.9rem;color:var(--muted)}
.fav{box-shadow:var(--shadow-sm)}
.compare-check{color:var(--text-faint);font-size:.8rem}
.badge{font-weight:700;box-shadow:var(--shadow-sm)}

/* ---- pills / status ---- */
.status-pill,.sec-pill,.host-card .tag,.verified-badge,.property-verified-badge,.host-guest-badge,.trip-role{font-size:.74rem;font-weight:700;letter-spacing:.01em;padding:4px 10px;border-radius:var(--r-pill);line-height:1.3}
.status-pill{text-transform:capitalize}

/* ---- tabs & chips ---- */
.dash-tabs,.tabs{gap:0;margin-bottom:22px}
.dtab,.tab{font-size:var(--fs-md);padding:12px 2px;margin-inline-end:26px;border-bottom:2px solid transparent;transition:color .15s var(--ease)}
.dtab:hover,.tab:hover{color:var(--ink)}
.chip,.filter-tabs button,.flex-alt,.react-chip,.wiz-chip{font-size:var(--fs-sm);font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:var(--r-pill);transition:border-color .15s var(--ease),background .15s var(--ease)}
.chip:hover,.filter-tabs button:hover,.flex-alt:hover,.react-chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"],.filter-tabs button[aria-pressed="true"],.react-chip[aria-pressed="true"],.wiz-chip.on,.flex-chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.filter-tabs{gap:8px;margin-bottom:18px}

/* ---- tables ---- */
.table-wrap{border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm)}
table.dtable th{text-align:start;padding:12px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--stone);border-bottom:1px solid var(--line)}
table.dtable td{padding:14px}
table.dtable tbody tr{transition:background .12s var(--ease)}
table.dtable tbody tr:hover td{background:color-mix(in srgb,var(--stone) 70%,transparent)}
@media (max-width:900px){#hostBookingsTable tr:hover td,#secActivityTable tr:hover td{background:none}}

/* ---- empty states: calm surface, a mark, one line, one action ---- */
.empty,.empty-note{display:flex;flex-direction:column;align-items:center;gap:12px;padding:44px 24px;text-align:center;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--stone);color:var(--muted);font-size:var(--fs-md);line-height:1.55}
.empty::before,.empty-note::before{content:"";width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231677A8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15.5 8.5-2 5-5 2 2-5z'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:var(--shadow-sm)}
.empty p{margin:0;max-width:48ch}
.empty .btn,.empty>div{margin-top:4px}
.offer-settings .empty-note,.sec-block .empty-note,.cal-feed-list .empty-note,dialog .empty-note{padding:16px;gap:0;background:var(--stone);font-size:var(--fs-sm)}
.offer-settings .empty-note::before,.sec-block .empty-note::before,.cal-feed-list .empty-note::before,dialog .empty-note::before{display:none}
.notif-empty,.lang-no-match{color:var(--muted)}

/* ---- dialogs ---- */
dialog{box-shadow:var(--shadow-lg)}
.m-close{border:1px solid var(--line);background:var(--card);transition:background .15s var(--ease)}
.m-close:hover{background:var(--stone)}
@media (min-width:861px){
  dialog{border-radius:var(--r-2xl)}
  .m-body{padding:28px 30px 32px}
  #loginModal,#signupModal,#forgotModal,#resetModal,#otpModal,#recoveryModal{width:min(480px,calc(100% - 24px))}
  #reviewModal,#reportModal,#cancelModal,#modifyModal,#counterOfferModal,#offerModal,#requestOfferModal,#offerSettingsModal,#disputeModal,#receiptModal,#checkinGuideModal{width:min(640px,calc(100% - 24px))}
}
.auth-switch-line a,.auth-switch-line .link-btn{color:var(--ink);font-weight:700}

/* ---- calendar ---- */
.cal-head{margin-bottom:12px}
.cal-head b{font-size:1.05rem}
.cal-head button{border-radius:var(--r-sm);width:36px;height:36px;transition:background .15s var(--ease)}
.cal-head button:hover:not(:disabled){background:var(--stone)}
.cal-dow{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}
.cal-day{border-radius:var(--r-sm);font-weight:600}
.cal-day .num{font-size:.9rem}
.cal-day .p{font-size:.66rem}
.cal-day.in-range{background:var(--accent-soft);color:var(--accent-text)}
.cal-day.in-range .p{color:var(--accent-text)}
.cal-day.selected{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}
.cal-day.blocked{background:repeating-linear-gradient(135deg,var(--stone) 0 5px,var(--card) 5px 10px);color:var(--text-faint)}
#calModal .cal,#calModal .cal-labels,#calModal .cal-legend{max-width:620px;margin-inline:auto}
#calModal .cal-actionbar{max-width:620px;margin-inline:auto}
#calModal .cal-day{aspect-ratio:auto;min-height:60px}
@media (max-width:860px){#calModal .cal-day{min-height:48px}}
.cal-legend{font-size:.82rem;color:var(--muted);margin-top:12px}

/* ---- property page ---- */
.review-cats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 20px}
.review-cats div{white-space:nowrap}
.lines div{padding:5px 0}
.policy-box{border-radius:var(--r-md)}
.lp-fav{border-color:var(--line-strong)}
.lp-back{font-size:.92rem}
.gallery{box-shadow:var(--shadow-sm)}

/* ---- legal & static pages ---- */
.legal-page h1,.legal-page>h2:first-child,.legal-page #trustSafetyContent>h1,.legal-page #trustSafetyContent>h2:first-child{font-size:var(--fs-3xl);margin:0 0 8px}
.legal-page #trustSafetyContent>p:first-of-type{color:var(--muted);font-size:1.05rem;margin:0 0 26px}
.legal-page h3{font-size:1.2rem;margin:30px 0 8px}
.legal-page p,.legal-page li{max-width:72ch}

/* ---- auth / security ---- */
.pw-meter:not([data-level]){display:none}
.sec-pill{text-transform:none}

/* ---- navigation chrome ---- */
.bn-item{font-size:.72rem}
.notif-badge{font-size:.68rem;min-width:17px;height:17px}
.menu-list{border-radius:var(--r-md);box-shadow:var(--shadow-float)}
.menu-list button{font-size:.92rem;padding:10px 12px}

/* ---- toasts / alerts ---- */
.toast{border-radius:var(--r-md)}
.err:not(:empty){display:block;margin-top:6px}
.wiz-step-err,.done{border-radius:var(--r-md)}

/* ---- wizard & support reuse the same pieces ---- */
.wiz-card,.wiz-details,.wiz-score,.wiz-sum,.wiz-missing{box-shadow:var(--shadow-sm)}
.sp-search input{border-radius:var(--r-pill)}
.m-title{font-size:var(--fs-xl);margin:0 0 10px;padding-inline-end:44px}
.m-title+.muted,.m-title+p.muted{margin:0 0 18px}
/* hidden always wins over component display rules */
.empty[hidden],.empty-note[hidden],.dash-quicklinks[hidden],.stat-row[hidden],.table-wrap[hidden]{display:none}
/* header controls stay compact so the row never wraps on phones */
.top .nav .btn,.top .nav .lang-trigger,.top .nav .currency-trigger,.top .nav .notif-trigger,.top .nav .nav-menu-btn,.top .nav .acct-trigger{min-height:40px;padding:8px 14px;font-size:.85rem}
.top .nav .notif-trigger,.top .nav .nav-menu-btn{padding:8px 12px;font-size:1.05rem}
@media (max-width:480px){.top .nav .btn,.top .nav .lang-trigger,.top .nav .currency-trigger,.top .nav .acct-trigger{padding:8px 11px}}
.notif-badge{font-size:.7rem}
.cal-day .p{font-size:.7rem}
.sec-verify-row>*{min-width:0;overflow-wrap:anywhere}
.pw-meter[data-level="0"]{display:none}
/* host payout ledger shares the dashboard table style */
#hostPayoutLedger{width:100%;border-collapse:collapse;font-size:.92rem}
#hostPayoutLedger th{text-align:start;padding:12px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--stone);border-bottom:1px solid var(--line)}
#hostPayoutLedger td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
#hostPayoutLedger tr:last-child td{border-bottom:0}
/* support contact actions keep their larger tap targets */
.sp-actions .btn{min-height:48px}
.sp-call-big{min-height:56px;padding:0 24px}
.sp-crumb a,.sp-links a,.sp-inquiry em{min-height:40px;display:inline-flex;align-items:center}

/* =========================================================================================
   Design system v4 (homepage mockup, October 2026): deep navy and sea-teal on warm sand, Playfair Display
   titles, hand-written Caveat notes, wave edges between bands, photo cards with soft shadows. Tokens are in
   :root at the top. The first part restyles shared pieces on every page; the second builds the homepage.
   ========================================================================================= */
body{background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.1}
h3{font-weight:600;letter-spacing:-.01em;line-height:1.2}
:root[lang="ar"] h1,:root[lang="ar"] h2,:root[lang="ar"] h3{letter-spacing:0;line-height:1.3;font-weight:700}
:focus-visible{outline-color:var(--cyan)}
.view-pad>h2:first-child,.view-pad h1,.legal-page h1,.legal-page h2{color:var(--ink)}

/* ---- buttons ---- */
.btn{font-weight:600;letter-spacing:-.005em;border:1.5px solid transparent}
.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-ink:hover{background:#0F4068;border-color:#0F4068;box-shadow:0 8px 20px rgba(10,47,78,.22)}
.btn-teal{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-teal:hover{background:#0A5D7B;border-color:#0A5D7B;box-shadow:0 8px 20px rgba(12,110,145,.25)}
.btn-cyan{background:var(--cyan);border-color:var(--cyan);color:var(--ink-deep)}
.btn-cyan:hover{background:#5AD3E3;border-color:#5AD3E3;box-shadow:0 10px 24px rgba(53,198,217,.35)}
.btn-ghost{border:1.5px solid var(--line-strong);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:var(--card);color:var(--ink)}
.btn-gold:hover{background:#B4945A;box-shadow:0 8px 20px rgba(133,101,47,.22)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--sand)}
.btn .rtl-flip{transition:transform .2s var(--ease)}
.btn:hover .rtl-flip{transform:translateX(3px)}
:root[dir="rtl"] .btn:hover .rtl-flip{transform:scaleX(-1) translateX(3px)}

/* ---- header: wordmark with a hand-written tagline; over the photo on the homepage ---- */
header.top{background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(10,47,78,.07);transition:background-color .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
header.top.is-scrolled{box-shadow:0 4px 18px rgba(10,47,78,.08)}
.top .wrap{height:76px}
.logo img{display:none}
.logo-word{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.logo .logo-word>span{direction:ltr;unicode-bidi:isolate;font-family:var(--body);font-weight:800;font-size:1.6rem;letter-spacing:.01em;text-transform:uppercase;color:var(--ink);line-height:1}
.logo .logo-word .logo-go{color:var(--accent);margin-inline-start:.22em;position:relative;font:inherit;letter-spacing:inherit}
.logo .logo-word .logo-go::after{content:'';position:absolute;inset-inline:-2px;bottom:-6px;height:6px;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 6'%3E%3Cpath d='M1 4c5-4 9-4 13 0s9 4 13 0 9-4 12 0' fill='none' stroke='%2335C6D9' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.logo .logo-tag{display:block;margin-top:7px;font-family:var(--script);font-size:1rem;font-weight:500;color:var(--ink);letter-spacing:0;white-space:nowrap}
:root[lang="ar"] .logo .logo-word>span{letter-spacing:0}
@media (max-width:520px){.logo img{display:block}.logo .logo-word{display:none}}
.navlinks{gap:26px;font-weight:500;font-size:.92rem}
/* the language button keeps just its flag until the row has room for the name too */
@media (max-width:1799px){.top .lang-trigger #langTriggerLabel{display:none}.top .nav .lang-trigger{padding-inline:10px}}
.navlinks a{color:var(--ink);padding:26px 0}
.navlinks a::after{bottom:18px;border-radius:2px;background:var(--cyan)}
.navlinks a:hover{color:var(--accent)}

/* homepage: the header lies on the photo until the page scrolls (app.js toggles .is-scrolled) */
@media (min-width:861px){
  body[data-route="home"] header.top:not(.is-scrolled){background:transparent;backdrop-filter:none;border-bottom-color:transparent}
  body[data-route="home"] header.top:not(.is-scrolled) .navlinks a{color:#fff}
  body[data-route="home"] header.top:not(.is-scrolled) .navlinks a::after{background:var(--cyan)}
  body[data-route="home"] header.top:not(.is-scrolled) .nav .btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#fff}
  body[data-route="home"] header.top:not(.is-scrolled) .nav .btn-ghost:hover{background:rgba(255,255,255,.18);border-color:#fff}
  body[data-route="home"] header.top:not(.is-scrolled) .nav .btn-ink{background:transparent;border-color:#fff;color:#fff}
  body[data-route="home"] header.top:not(.is-scrolled) .logo{align-self:flex-start;background:#fff;padding:12px 28px 14px 18px;border-end-end-radius:64px;border-end-start-radius:18px;box-shadow:0 10px 30px rgba(2,30,52,.12)}
  body[data-route="home"] header.top:not(.is-scrolled) .nav .avatar-sm{background:#fff}
  body[data-route="home"] .hx{margin-top:-76px}
}

/* ---- shared section pieces ---- */
.hx-eyebrow,.card-eyebrow{font-family:var(--body);font-size:.74rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}
:root[lang="ar"] .hx-eyebrow,:root[lang="ar"] .card-eyebrow,:root[lang="ar"] .hero-eyebrow{letter-spacing:0}
.section-head h2{font-weight:600}
.section-link{color:var(--accent);font-weight:600}
.section-link:hover{color:var(--ink);text-decoration:none}
.section-link .rtl-flip{transition:transform .2s var(--ease)}
.section-link:hover .rtl-flip{transform:translateX(3px)}
:root[dir="rtl"] .section-link:hover .rtl-flip{transform:scaleX(-1) translateX(3px)}
.soon{display:inline-block;font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:#FFF1C9;border:1px solid #F1D98A;border-radius:var(--r-pill);padding:3px 8px;line-height:1.2;white-space:nowrap}
:root[lang="ar"] .soon{letter-spacing:0}

/* ---- footer: one slim row on every page except the listing wizard ---- */
body[data-route="wizard"] .site-footer{display:none}
.site-footer{background:#fff;border-top:1px solid var(--line);color:var(--muted);padding:26px 0 22px;font-size:.88rem}
.footer-row{display:flex;align-items:center;gap:20px 36px;flex-wrap:wrap}
.footer-logo .logo-word>span{font-size:1.35rem}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.footer-links a,.footer-legal a{color:var(--ink);text-decoration:none;font-weight:500}
.footer-links a:hover,.footer-legal a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:.82rem}
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-legal a{color:var(--muted);font-weight:400}
.footer-brand-of{font-weight:600;color:var(--ink)}
@media (max-width:860px){body:not(.bn-hidden) .site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}}

/* ---- inner pages: sand page background behind white cards, serif titles ---- */
.view-pad{padding-bottom:56px}
.legal-page h1,.legal-page h2,.sp-page h1,.destinations-page h1{font-family:var(--serif)}

/* =========================================================================================
   Homepage
   ========================================================================================= */
[data-view="home"]{background:var(--sand)}
.home-section{padding:64px 0}
.hx-split{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:28px 40px;align-items:center}
.hx-side h2{font-size:clamp(2rem,3.2vw,2.6rem);color:var(--ink);margin:0 0 12px}
.hx-side>p:not(.hx-eyebrow){margin:0 0 18px;color:var(--text);line-height:1.55}
@media (max-width:960px){.hx-split{grid-template-columns:minmax(0,1fr)}}

/* hero */
.hero.hx{position:relative;isolation:isolate;padding:0 0 70px;color:#fff;background:#0A2F4E;overflow:visible;min-height:0;display:block}
.hx-photo{position:absolute;inset:0 0 120px;z-index:-2;background:#0A3A5C url('/img/home/hero.webp') center 45%/cover no-repeat}
.hx-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,31,54,.82) 0%,rgba(6,31,54,.6) 30%,rgba(6,31,54,.18) 58%,rgba(6,31,54,0) 75%),linear-gradient(180deg,rgba(6,31,54,.45) 0%,rgba(6,31,54,0) 26%)}
:root[dir="rtl"] .hx-photo::before{background:linear-gradient(270deg,rgba(6,31,54,.82) 0%,rgba(6,31,54,.6) 30%,rgba(6,31,54,.18) 58%,rgba(6,31,54,0) 75%),linear-gradient(180deg,rgba(6,31,54,.45) 0%,rgba(6,31,54,0) 26%)}
/* the sand wave the search card sits on */
.hero.hx::after{content:'';position:absolute;left:0;right:0;bottom:0;height:200px;z-index:-1;background:var(--sand);clip-path:ellipse(75% 100% at 50% 100%)}
.hero.hx::before{display:none}
.hx-inner{position:relative;display:block;padding-block:150px 60px;text-align:start}
.hx-copy{max-width:780px}
.hero.hx .hero-eyebrow{color:#fff;font-size:.82rem;font-weight:500;letter-spacing:.42em;margin:0 0 18px;text-shadow:0 1px 10px rgba(2,30,52,.35)}
.hero.hx h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.7rem,6vw,5rem);line-height:1;max-width:none;color:#fff;text-shadow:0 2px 18px rgba(2,30,52,.35)}
.hero.hx h1>span{display:block}
.hx-accent{color:var(--cyan)}
.hero.hx p.lede{max-width:34ch;margin:20px 0 0;font-size:1.12rem;color:rgba(255,255,255,.95);text-shadow:0 1px 10px rgba(2,30,52,.3)}
.hx-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hx-actions .btn{min-height:52px;padding:0 26px;font-size:1rem}
.hx-script{position:absolute;top:120px;inset-inline-end:8%;margin:0;font-family:var(--script);font-size:2.3rem;line-height:1;color:#fff;transform:rotate(-8deg);text-shadow:0 2px 12px rgba(2,30,52,.35);max-width:12ch;text-align:center}
.hx-badge{position:absolute;inset-inline-end:0;bottom:-10px;width:170px;height:170px;border-radius:50%;border:5px solid #fff;background:rgba(6,31,54,.35) url('/img/home/svc-stays.webp') center/cover;box-shadow:0 14px 34px rgba(2,30,52,.28);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hx-badge::before{content:'';position:absolute;inset:0;background:rgba(6,31,54,.45)}
.hx-badge>*{position:relative}
.hx-badge svg{width:30px;height:30px;margin-bottom:6px}
.hx-badge b{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.hx-badge small{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;opacity:.9}
@media (max-width:1100px){.hx-badge,.hx-script{display:none}}
/* search card */
.hx-search.search-card{position:relative;z-index:3;max-width:none;margin:0;padding:10px 20px 18px;border-radius:22px;background:#fff;box-shadow:0 24px 60px rgba(2,30,52,.18);color:var(--text);text-align:start}
.svc-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:0 -4px 16px;padding:0 4px}
.svc-tabs::-webkit-scrollbar{display:none}
.svc-tab{position:relative;flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:10px 16px;background:none;border:0;color:var(--ink);font-weight:500;font-size:.95rem;cursor:pointer;white-space:nowrap;border-radius:12px 12px 0 0}
.svc-tab svg{width:22px;height:22px;flex:none}
.svc-tab .soon{font-size:.6rem;padding:2px 6px}
.svc-tab:hover{background:var(--sand)}
.svc-tab[aria-selected="true"]{color:var(--accent);font-weight:700}
.svc-tab[aria-selected="true"]::after{content:'';position:absolute;inset-inline:12px;bottom:-1px;height:3px;border-radius:2px;background:var(--accent)}
.svc-tab+.svc-tab::before{content:'';position:absolute;inset-inline-start:-2px;top:16px;bottom:16px;width:1px;background:var(--line)}
.hx-search .search{display:grid;grid-template-columns:1.5fr 1fr 1fr .9fr auto;gap:10px;margin:0}
.hx-search .field{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px 14px;background:#fff;border:1px solid #E1E6EC;border-radius:12px;box-shadow:0 2px 6px rgba(10,47,78,.04)}
.hx-search .field:hover{border-color:#C3CED8;background:#fff}
.hx-search .field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}
.hx-search .f-ico{grid-row:1/3;width:24px;height:24px;color:var(--ink)}
.hx-search .f-ico svg{width:100%;height:100%}
.hx-search .field label{grid-column:2;font-size:.78rem;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0}
.hx-search .field input,.hx-search .field select{grid-column:2;font-size:.92rem;font-weight:500;color:var(--muted);padding-top:1px}
.hx-search .search .btn{min-height:62px;padding:0 30px;border-radius:12px;font-size:1.05rem}
.hx-search .search-foot{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:14px 0 0}
.hx-search .hero-mode-tabs{display:flex;gap:4px;margin:0;padding:3px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--sand);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.hx-search .hero-mode-tab{min-height:36px;padding:6px 14px;border-radius:var(--r-pill);font-size:.84rem;font-weight:500;color:var(--ink);background:transparent;white-space:nowrap}
.hx-search .hero-mode-tab::after{display:none}
.hx-search .hero-mode-tab:hover{background:rgba(255,255,255,.7)}
.hx-search .hero-mode-tab[aria-selected="true"]{background:#fff;color:var(--accent);font-weight:600;box-shadow:0 1px 4px rgba(10,47,78,.1)}
.hx-search .flex-row{margin:0}
.hx-search .hero-filters-btn{margin-inline-start:auto;background:#fff;border-color:var(--line);color:var(--ink)}
.svc-soon-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 4px 6px}
.svc-soon-panel[hidden]{display:none}
.svc-soon-panel p{margin:0;color:var(--text)}
.svc-soon-panel b{color:var(--ink)}
@media (max-width:960px){.hx-search .search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hx-search .search .area-f{grid-column:1/-1}}
@media (max-width:860px){
  .hx-inner{padding-block:56px 40px}
  .hx-photo{inset:0 0 160px}
  .hero.hx p.lede{font-size:1rem}
}
@media (max-width:640px){
  .hero.hx{padding-bottom:40px}
  .hero.hx h1{font-size:2.6rem}
  .hero.hx .hero-eyebrow{font-size:.72rem;letter-spacing:.3em}
  .hx-search.search-card{padding:6px 12px 14px;border-radius:18px}
  .hx-search .search{grid-template-columns:minmax(0,1fr)}
  .svc-tab{min-height:52px;padding:8px 10px;font-size:.88rem;gap:7px}
  .svc-tab+.svc-tab::before{display:none}
  .hx-search .hero-filters-btn{margin-inline-start:0}
}

/* services */
.hx-services{padding-top:40px}
.svc-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.svc-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 3px rgba(10,47,78,.06),0 8px 22px rgba(10,47,78,.07);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
a.svc-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,47,78,.14)}
.svc-img,.pop-img,.deal-img{position:relative;display:block;aspect-ratio:4/3;background:#CFE3EA var(--img) center/cover no-repeat}
.svc-img .soon,.pop-img .pop-tag,.deal-img .pop-tag{position:absolute;top:10px;inset-inline-start:10px}
.svc-body,.pop-body,.deal-body{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px 18px;flex:1}
.svc-body b,.pop-body b,.deal-body b{font-size:1.08rem;font-weight:700;color:var(--ink);line-height:1.25}
.svc-body small,.pop-body small,.deal-body small{font-size:.82rem;line-height:1.45;color:var(--muted);padding-inline-end:28px}
.svc-go{position:absolute;inset-inline-end:12px;bottom:14px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:.8rem;color:var(--ink);transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.svc-card:hover .svc-go,.pop-card:hover .svc-go,.deal-card:hover .svc-go{background:var(--accent);border-color:var(--accent);color:#fff}
.svc-card.is-soon .svc-img{filter:saturate(.75)}
@media (max-width:1180px){.svc-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.svc-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.svc-body{padding:12px 12px 14px}.svc-body small{padding-inline-end:0}}

/* popular: on the sea band with wave edges */
.hx-popular{position:relative;isolation:isolate;padding:110px 0;color:#fff;background:linear-gradient(90deg,rgba(6,49,72,.85) 0%,rgba(6,49,72,.6) 35%,rgba(6,49,72,.25) 100%),#0B5C78 url('/img/home/sea-texture.webp') center/cover no-repeat}
:root[dir="rtl"] .hx-popular{background:linear-gradient(270deg,rgba(6,49,72,.85) 0%,rgba(6,49,72,.6) 35%,rgba(6,49,72,.25) 100%),#0B5C78 url('/img/home/sea-texture.webp') center/cover no-repeat}
/* sand waves over the band's top and bottom edges */
.hx-popular::before,.hx-popular::after{content:'';position:absolute;left:0;right:0;height:60px;background:var(--sand);z-index:0}
.hx-popular::before{top:-1px;clip-path:ellipse(70% 100% at 40% 0)}
.hx-popular::after{bottom:-1px;clip-path:ellipse(70% 100% at 60% 100%)}
.hx-popular .wrap{position:relative;z-index:1}
.hx-popular .hx-side h2{color:#fff}
.hx-popular .hx-side>p{color:rgba(255,255,255,.9)}
.pop-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pop-card{display:flex;flex-direction:column;padding:0;border:0;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;text-align:start;font:inherit;cursor:pointer;box-shadow:0 18px 40px rgba(2,30,52,.25);transition:transform .25s var(--ease)}
.pop-card:hover{transform:translateY(-3px)}
.pop-card.is-soon{cursor:default}
.pop-card.is-soon:hover{transform:none}
.pop-img{aspect-ratio:16/10}
.pop-tag{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:.72rem;font-weight:600;color:var(--ink);background:#fff;border-radius:var(--r-pill);padding:4px 10px;box-shadow:0 2px 8px rgba(2,30,52,.18)}
.pop-tag.soon{background:#FFF1C9;border:1px solid #F1D98A}
@media (max-width:860px){.pop-cards{grid-template-columns:minmax(0,1fr)}.hx-popular{padding:80px 0}}
@media (min-width:600px) and (max-width:860px){.pop-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* why choose */
.hx-why .hx-side h2{margin-bottom:10px}
.hx-rule{display:block;width:120px;height:2px;margin-top:18px;background:linear-gradient(90deg,var(--accent) 0 40%,var(--line-strong) 40% 100%)}
.why-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.why-grid li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:8px 18px}
.why-grid li+li{border-inline-start:1px solid var(--line-strong)}
.why-ico{width:44px;height:44px;color:var(--accent);margin-bottom:6px}
.why-ico svg{width:100%;height:100%}
.why-grid b{color:var(--ink);font-size:1rem}
.why-grid span:not(.why-ico){color:var(--muted);font-size:.88rem;line-height:1.5}
@media (max-width:860px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}.why-grid li:nth-child(3){border-inline-start:0}}

/* ideas / deals */
.hx-deals{padding-top:20px}
.deal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.deal-card{display:flex;flex-direction:column;padding:0;border:0;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;text-align:start;font:inherit;cursor:pointer;box-shadow:0 1px 3px rgba(10,47,78,.06),0 8px 22px rgba(10,47,78,.07);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.deal-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,47,78,.14)}
.deal-img{aspect-ratio:16/9}
@media (max-width:860px){.deal-cards{grid-template-columns:minmax(0,1fr)}}
@media (min-width:600px) and (max-width:860px){.deal-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* partner band */
.hx-partner{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:340px;background:var(--sand);overflow:hidden}
.hx-partner-photo{background:#C99A6B url('/img/home/partner-sunset.webp') center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}
:root[dir="rtl"] .hx-partner-photo{-webkit-mask-image:linear-gradient(270deg,#000 70%,transparent);mask-image:linear-gradient(270deg,#000 70%,transparent)}
.hx-partner-copy{position:relative;align-self:center;padding:48px 24px 48px 0;max-width:560px}
:root[dir="rtl"] .hx-partner-copy{padding:48px 0 48px 24px}
.hx-partner-copy h2{font-size:clamp(1.9rem,3vw,2.5rem);color:var(--ink);margin:0 0 10px}
.hx-partner-copy p:not(.hx-eyebrow):not(.hx-script){color:var(--text);margin:0 0 20px}
.hx-partner-script{position:static;display:block;margin-top:22px;color:var(--ink);font-size:1.7rem;transform:rotate(-4deg);text-shadow:none;max-width:none;text-align:start}
@media (max-width:860px){.hx-partner{grid-template-columns:minmax(0,1fr)}.hx-partner-photo{min-height:220px;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.hx-partner-copy,:root[dir="rtl"] .hx-partner-copy{padding:8px 20px 44px}}

/* guest reviews */
.hx-reviews{background:linear-gradient(120deg,#0A2F4E 0%,#0C5B78 100%);color:#fff}
.hx-reviews .hx-eyebrow{color:rgba(255,255,255,.85)}
.hx-reviews .hx-side h2{color:#fff}
.rev-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rev-card{display:flex;gap:14px;margin:0;padding:18px;background:#fff;color:var(--text);border-radius:16px;box-shadow:0 14px 34px rgba(2,30,52,.25)}
.rev-avatar{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:1.2rem}
.rev-stars{color:#F4B400;letter-spacing:2px;font-size:.95rem}
.rev-card blockquote{margin:6px 0 10px;font-size:.88rem;line-height:1.5;color:var(--text)}
.rev-card figcaption b{display:block;color:var(--ink);font-size:.86rem}
.rev-card figcaption small{color:var(--muted);font-size:.76rem}
@media (max-width:960px){.rev-cards{grid-template-columns:minmax(0,1fr)}}

/* ---- No-Premium resales: homepage band, verified-units page and the seller form ---- */
.np-home{padding:40px 0 8px}
.np-band{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-deep) 100%);color:#fff;border-radius:24px;padding:44px 48px;box-shadow:0 24px 48px -28px rgba(6,31,54,.55)}
.np-eyebrow{display:inline-block;font-family:var(--script);font-size:1.35rem;color:var(--accent);line-height:1}
.np-band .np-eyebrow{color:var(--cyan)}
.np-band h2{font-family:var(--serif);font-weight:600;color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.18;margin:8px 0 12px;letter-spacing:-.01em}
.np-lead{font-size:1.02rem;line-height:1.6;max-width:56ch;margin:0}
.np-band .np-lead{color:rgba(255,255,255,.86)}
.np-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.np-actions .btn{min-height:46px;padding:0 22px;display:inline-flex;align-items:center;text-decoration:none}
.np-btn-outline{border:1.5px solid var(--accent);color:var(--accent);background:transparent}
.np-btn-outline:hover{background:var(--accent-soft)}
.np-band .btn-teal{background:var(--cyan);border-color:var(--cyan);color:var(--ink-deep)}
.np-band .btn-teal:hover{background:#5AD3E3;border-color:#5AD3E3}
.np-band .np-btn-outline{border-color:rgba(255,255,255,.7);color:#fff}
.np-band .np-btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.np-note{font-size:.84rem;line-height:1.5;color:var(--muted);margin:16px 0 0}
.np-band .np-note{color:rgba(255,255,255,.72)}
.np-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.np-steps li{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 18px}
.np-steps b{display:block;font-size:.98rem;margin-bottom:3px}
.np-steps p{margin:0;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.78)}
.np-step-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--cyan);color:var(--ink-deep);font-weight:700;display:grid;place-items:center;font-size:.9rem}
@media (max-width:860px){.np-home{padding:28px 0 0}.np-band{grid-template-columns:minmax(0,1fr);gap:24px;padding:30px 22px;border-radius:20px}.np-actions .btn{flex:1 1 180px;justify-content:center}}

.np-page{max-width:1120px}
.np-head{margin-bottom:20px}
.np-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);margin:6px 0 10px}
.np-head .np-lead{color:var(--muted)}
.np-back{display:inline-block;color:var(--accent-text);font-weight:600;text-decoration:none;margin-bottom:8px}
.np-err{color:var(--danger,#B42318);font-size:.88rem;margin:6px 0 0;min-height:0}
.np-err:empty{display:none}

.np-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.np-fields label span{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:5px}
.np-fields input:focus,.np-fields select:focus,.np-fields textarea:focus,.np-ask textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.np-span2{grid-column:1/-1}
.np-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:.92rem;line-height:1.45;color:var(--ink)}
.np-check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--accent)}
.np-mine-title{font-family:var(--serif);font-size:1.35rem;margin:32px 0 12px;color:var(--ink)}
@media (max-width:640px){.np-fields{grid-template-columns:minmax(0,1fr)}}
/* the header row also carries "No-Premium Properties": tighter link spacing, and a little more width on large screens */
.navlinks{gap:20px}
@media (min-width:1181px){header.top .wrap{max-width:1300px}}

/* ===================== No-Premium marketplace (public/resale.js) ===================== */
.np-market-view{--rs-hdr:77px;--rs-bar:66px}
.rs-bar{position:sticky;top:var(--rs-hdr);z-index:15;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 6px 16px -14px rgba(6,31,54,.4)}
.rs-bar-in{display:flex;gap:8px;align-items:center;padding:12px 20px;flex-wrap:wrap}
.rs-search{flex:1 1 300px;max-width:440px;display:flex;align-items:center;gap:8px;border:1.5px solid var(--line-strong);border-radius:var(--r-pill);padding:0 14px;background:#fff;min-height:42px}
.rs-search:focus-within{border-color:var(--accent);box-shadow:var(--ring)}
.rs-search svg{width:18px;height:18px;color:var(--muted);flex:none}
.rs-search input{border:0;outline:0;font:inherit;flex:1;min-width:0;background:transparent;color:var(--ink)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rs-chip{border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:var(--r-pill);padding:0 14px;min-height:40px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}
.rs-chip:hover{border-color:var(--ink)}
.rs-chip.is-on{background:var(--ink-soft);border-color:var(--ink)}
.rs-count{font-weight:700;color:var(--accent-text)}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.rs-grid[aria-busy=true]{opacity:.55}
/* map pins */
/* cards */
.rs-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.rs-nophoto{display:grid;place-items:center;height:100%;min-height:140px;color:var(--muted);font-size:.85rem;background:var(--sand)}
.rs-badges{position:absolute;top:10px;inset-inline-start:10px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 60px)}
.rs-badges-inline{position:static;max-width:none;margin-bottom:8px}
.rs-badge{background:#fff;color:var(--ink);font-size:.74rem;font-weight:700;border-radius:var(--r-pill);padding:4px 9px;box-shadow:0 1px 4px rgba(6,31,54,.18)}
.rs-b-ok{background:var(--success-soft);color:var(--success-text)}
.rs-b-res{background:var(--warning-soft);color:var(--warning-text)}
.rs-b-fixture{background:#FFE7A3;color:#5C3D00;border:1px dashed #B7791F}
.rs-fav{position:absolute;top:8px;inset-inline-end:8px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--muted);font-size:1.15rem;cursor:pointer;display:grid;place-items:center;box-shadow:0 1px 4px rgba(6,31,54,.2)}
.rs-fav.is-on{color:#D6334C}
.rs-card h3 a{color:var(--ink);text-decoration:none}
.rs-card h3 a:hover{text-decoration:underline}
.rs-reduced{margin:2px 0 0;font-size:.8rem;color:var(--success-text);font-weight:600}
.rs-empty{grid-column:1/-1;text-align:center;background:var(--sand);border-radius:18px;padding:40px 22px}
.rs-empty b{font-family:var(--serif);font-size:1.3rem;color:var(--ink)}
.rs-empty p{color:var(--muted);max-width:54ch;margin:8px auto 16px;line-height:1.55}
.rs-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rs-empty-actions .btn{min-height:44px;padding:0 20px}
/* filters dialog */
.rs-filters,.rs-dialog{border:0;padding:0;border-radius:20px;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg)}
.rs-filters::backdrop,.rs-dialog::backdrop,.rs-lightbox::backdrop{background:rgba(6,31,54,.5)}
.rs-f-form{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}
.rs-f-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.rs-f-head h2{margin:0;font-size:1.15rem;color:var(--ink)}
.rs-x{border:0;background:transparent;font-size:1.1rem;min-width:40px;min-height:40px;border-radius:50%;cursor:pointer;color:var(--ink)}
.rs-x:hover{background:var(--stone)}
.rs-f-body{overflow:auto;padding:4px 20px 20px}
.rs-f-body section{padding:14px 0;border-bottom:1px solid var(--line)}
.rs-f-body section:last-child{border-bottom:0}
.rs-f-body h3{margin:0 0 10px;font-size:1rem;color:var(--ink)}
.rs-f-body label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin:8px 0 0}
.rs-f-label{font-size:.85rem;font-weight:600;color:var(--ink);margin:12px 0 6px}
.rs-f-foot{display:flex;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}
.rs-f-foot .btn{min-height:46px;padding:0 22px}
.rs-pills{display:flex;flex-wrap:wrap;gap:8px}
.rs-pill{border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:var(--r-pill);padding:0 14px;min-height:40px;font:inherit;font-size:.88rem;cursor:pointer}
.rs-pill.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.rs-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rs-in{width:100%;box-sizing:border-box;border:1.5px solid var(--line-strong);border-radius:12px;padding:10px 12px;font:inherit;font-weight:400;background:#fff;color:var(--ink);min-height:44px;margin-top:4px}
.rs-in:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
.rs-in:disabled{background:var(--stone);color:var(--muted)}
.rs-checks{display:flex;flex-wrap:wrap;gap:8px 18px}
.rs-check{display:inline-flex!important;align-items:center;gap:8px;font-weight:500!important;font-size:.9rem;min-height:36px;margin:0!important;color:var(--ink)}
.rs-check input{width:18px;height:18px;accent-color:var(--accent)}
.rs-hint{font-size:.8rem;color:var(--muted);line-height:1.5;margin:6px 0 0}
/* property page */
.np-detail-view{max-width:1240px}
.rs-loading{color:var(--muted)}
.rs-fixture-note{background:#FFF4DB;border:1px dashed #B7791F;color:#5C3D00;border-radius:12px;padding:10px 14px;font-size:.88rem;font-weight:600}
.rs-gallery.g-n1{grid-template-columns:1fr;grid-template-rows:400px}
.rs-gallery.g-n2,.rs-gallery.g-n3{grid-template-columns:2fr 1fr}
.rs-gallery.g-n2 .rs-g-item:nth-child(2){grid-row:1/3}
.rs-gallery.g-n4 .rs-g-item:nth-child(2){grid-column:2/4}
.rs-g-item{border:0;padding:0;cursor:zoom-in;background:var(--sand)}
.rs-g-item img{width:100%;height:100%;object-fit:cover;display:block}
.rs-g-item.is-main{grid-row:1/3}
.rs-g-all{position:absolute;bottom:14px;inset-inline-end:14px;border:0;background:#fff;border-radius:var(--r-pill);padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow-sm)}
.rs-sec{border-top:1px solid var(--line);padding:22px 0}
.rs-sec h2{font-size:1.2rem;color:var(--ink);margin:0 0 10px}
.rs-sec h3{font-size:.98rem;color:var(--ink);margin:16px 0 8px}
.rs-text{white-space:pre-line;line-height:1.6;margin:0}
.rs-verify{background:var(--success-soft);border:0;border-radius:16px;padding:16px 18px;margin:18px 0}
.rs-verify h2{font-size:1.05rem;margin-bottom:4px}
.rs-verify p{margin:0}
.rs-verify.is-pending{background:var(--warning-soft)}
.rs-checklist{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px;font-size:.88rem;color:var(--success-text)}
.rs-table{width:100%;border-collapse:collapse;font-size:.92rem}
.rs-table th,.rs-table td{padding:9px 0;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.rs-table td{text-align:end;font-weight:600;color:var(--ink);white-space:nowrap;padding-inline-start:12px}
.rs-table th{font-weight:500;color:var(--text)}
.rs-table th small{display:block;font-size:.76rem;color:var(--muted);font-weight:400;margin-top:2px;line-height:1.4}
.rs-tg-h th{padding-top:18px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text);font-weight:700;border-bottom:2px solid var(--ink-soft)}
:root[lang=ar] .rs-tg-h th{text-transform:none;letter-spacing:0;font-size:.9rem}
.rs-strong th,.rs-strong td{font-weight:700;color:var(--ink)}
.rs-big td{font-size:1.15rem}
.rs-tg-total{background:var(--stone)}
.rs-tg-total th,.rs-tg-total td{padding-inline:10px}
.rs-pending{color:var(--warning-text);font-weight:600;white-space:normal}
.rs-est-box{background:var(--warning-soft);color:var(--warning-text);border-radius:12px;padding:12px 16px;margin-top:14px;font-size:.88rem}
.rs-est-box ul{margin:6px 0 0;padding-inline-start:18px}
.rs-link-btn{border:0;background:none;color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer;padding:10px 0;text-decoration:underline;text-underline-offset:3px}
.rs-sched td{text-align:start}
.rs-sched td:last-child{text-align:end}
.rs-sched .is-overdue td{color:var(--danger-text)}
.rs-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 24px;margin:0}
.rs-dl div{border-bottom:1px dashed var(--line);padding-bottom:6px}
.rs-dl dt{font-size:.78rem;color:var(--muted)}
.rs-dl dd{margin:2px 0 0;font-weight:600;color:var(--ink)}
.rs-amen{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.rs-amen li{background:var(--stone);border-radius:var(--r-pill);padding:6px 12px;font-size:.85rem}
.rs-unavail{color:var(--muted);font-style:italic;margin:0}
.rs-near{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px 24px}
.rs-near-g h3{margin:8px 0 6px}
.rs-near-g ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rs-near-g li{display:grid;font-size:.88rem}
.rs-near-g li span{color:var(--text)}
.rs-near-g li small{color:var(--muted);font-size:.74rem}
.rs-hist{margin:0;padding-inline-start:18px}
.rs-plans{display:flex;gap:10px;flex-wrap:wrap}
.rs-plan{border:1px solid var(--line);background:#fff;padding:4px;border-radius:10px;cursor:zoom-in}
.rs-plan img{height:150px;display:block}
.rs-videos{padding-inline-start:18px}
.rs-legal ul{margin:0;padding-inline-start:18px;display:grid;gap:6px;font-size:.88rem;color:var(--muted)}
.rs-est{margin:0;font-size:.78rem;color:var(--warning-text)}
.rs-act{width:100%;justify-content:center;min-height:46px}
.rs-fav-btn.is-on{color:#D6334C;border-color:#D6334C}
.rs-res-note{background:var(--warning-soft);color:var(--warning-text);padding:10px;border-radius:10px;font-size:.88rem;margin:0}
.rs-req{display:grid;gap:10px;padding:0 20px 20px}
.rs-req .rs-f-head{margin:0 -20px}
.rs-req label{font-size:.88rem;font-weight:600;color:var(--ink)}
.rs-req .btn-teal{min-height:46px;justify-content:center}
.rs-lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh}
.rs-lightbox img{max-width:92vw;max-height:84vh;display:block;border-radius:12px}
.rs-lightbox .rs-x{position:absolute;top:8px;inset-inline-end:8px;background:#fff}
.rs-lb-nav{display:flex;justify-content:center;align-items:center;gap:16px;color:#fff;margin-top:8px}
.rs-lb-nav button{border:0;border-radius:50%;width:44px;height:44px;font-size:1.5rem;cursor:pointer;background:#fff}
/* seller and buyer pages */
.rs-how{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:rsh}
.rs-how li{background:var(--sand);border-radius:14px;padding:14px 16px;display:grid;gap:4px;font-size:.88rem;counter-increment:rsh}
.rs-how li::before{content:counter(rsh);width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.rs-how b{color:var(--ink)}
.rs-gate{background:var(--sand);border-radius:16px;padding:22px;margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.rs-gate p{margin:0;flex:1 1 260px}
.rs-actions-row{margin:18px 0}
.rs-actions-row .btn{min-height:46px;padding:0 22px}
.rs-apps{display:grid;gap:10px}
.rs-app{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--card)}
.rs-app-side{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.rs-status{display:inline-block;border-radius:var(--r-pill);padding:3px 10px;font-size:.76rem;font-weight:700;background:var(--stone);color:var(--ink);margin-inline-start:6px}
.rs-st-info{background:var(--info-soft);color:var(--info-text)}
.rs-st-warn{background:var(--warning-soft);color:var(--warning-text)}
.rs-st-ok{background:var(--success-soft);color:var(--success-text)}
.rs-st-bad{background:var(--danger-soft);color:var(--danger-text)}
.rs-note-warn,.rs-note-bad{background:var(--warning-soft);color:var(--warning-text);border-radius:12px;padding:10px 14px;margin:8px 0;font-size:.9rem}
.rs-note-bad{background:var(--danger-soft);color:var(--danger-text)}
.rs-note-warn ul{margin:6px 0 0;padding-inline-start:18px}
.rs-ref{font-family:var(--body);font-size:.9rem;font-weight:600;color:var(--muted);vertical-align:middle}
.rs-steps{list-style:none;padding:0;margin:0 0 18px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.rs-steps button{border:0;background:var(--stone);color:var(--text);border-radius:var(--r-pill);padding:0 14px 0 6px;min-height:40px;font:inherit;font-size:.86rem;font-weight:600;display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer}
[dir=rtl] .rs-steps button{padding:0 6px 0 14px}
.rs-steps button span{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:.8rem}
.rs-steps button.is-done span{background:var(--success-soft);color:var(--success-text)}
.rs-steps button[aria-current]{background:var(--ink);color:#fff}
.rs-steps button[aria-current] span{background:var(--cyan);color:var(--ink-deep)}
.rs-app-form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;max-width:900px}
.rs-app-form fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}
.rs-app-form legend{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--ink);margin-bottom:6px;padding:0}
.rs-app-form h3{font-size:1rem;color:var(--ink);margin:22px 0 4px}
.rs-app-form .np-fields{margin:12px 0}
.rs-app-form label>span{display:block;font-size:.85rem;font-weight:600;color:var(--ink)}
.rs-app-nav{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:16px}
.rs-app-nav .btn{min-height:46px;padding:0 24px}
.rs-upload,.rs-doc-add{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}
.rs-upload .btn,.rs-doc-add .btn{min-height:44px;cursor:pointer}
.rs-doc-add .rs-in{width:auto;margin:0}
.rs-upl-status{font-size:.85rem;color:var(--accent-text);margin:0}
.rs-upl-status:empty{display:none}
.rs-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.rs-thumbs figure{position:relative;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.rs-thumbs img{width:100%;height:110px;object-fit:cover;display:block}
.rs-thumbs figcaption{font-size:.74rem;padding:4px 8px;color:var(--muted)}
.rs-thumbs button{position:absolute;top:6px;inset-inline-end:6px;border:0;border-radius:50%;width:32px;height:32px;background:rgba(255,255,255,.92);cursor:pointer}
.rs-docs{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rs-docs li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:.88rem}
.rs-docs li button{margin-inline-start:auto;border:0;background:none;cursor:pointer;min-width:36px;min-height:36px}
.rs-premium-check{font-size:.88rem;font-weight:600;margin:6px 0 0;color:var(--accent-text)}
.rs-premium-check:empty{display:none}
.rs-premium-check.is-bad{color:var(--danger-text)}
.rs-premium-check.is-ok{color:var(--success-text)}
.rs-extra{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:8px;align-items:center;margin-bottom:8px}
.rs-extra .rs-in{margin:0}
.rs-fee{display:grid;grid-template-columns:1.2fr auto 1fr 1fr 1fr;gap:8px;align-items:center;border-bottom:1px dashed var(--line);padding:8px 0}
.rs-fee .rs-in{margin:0}
.rs-fee .rs-check{grid-column:auto}
.rs-fee label:last-child{grid-column:2/-1}
.rs-calc{background:var(--stone);border-radius:14px;padding:14px 16px;margin:18px 0}
.rs-calc h3{margin:0 0 10px}
.rs-done{background:var(--success-soft);border-radius:18px;padding:26px;max-width:720px}
.rs-done h1{font-family:var(--serif);margin:0 0 8px;color:var(--ink)}
.rs-done .btn{margin-top:12px;min-height:46px;padding:0 22px}
.rs-matches{margin-top:28px}
.rs-matches h2{font-family:var(--serif);color:var(--ink)}
.rs-fit{list-style:none;padding:8px 2px 0;margin:0;font-size:.8rem;display:grid;gap:3px}
.rs-fit .is-ok{color:var(--success-text)}
.rs-fit .is-no{color:var(--danger-text)}
.rs-saved,.rs-reqs{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rs-saved li,.rs-reqs li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.rs-saved a,.rs-reqs a{font-weight:600;color:var(--ink)}
.rs-saved .rs-x{margin-inline-start:auto}
bdi{unicode-bidi:isolate}

@media (max-width:1100px){
  .rs-how{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .rs-bar-in{padding:10px 14px;gap:8px}
  .rs-filters{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;margin:0}
  .rs-f-form{height:100%;max-height:100%}
  .rs-f-body{flex:1}
  .rs-f-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  body[data-route=np-detail] .bottom-nav{display:none}
}
@media (max-width:640px){
  .rs-grid{grid-template-columns:minmax(0,1fr)}
  .rs-how{grid-template-columns:minmax(0,1fr)}
  .rs-app{flex-direction:column}
  .rs-app-side{justify-content:flex-start}
  .rs-app-form{padding:16px;border-radius:16px}
  .rs-extra{grid-template-columns:1fr 1fr}
  .rs-fee{grid-template-columns:1fr 1fr}
  .rs-fee b{grid-column:1/-1}
  .rs-fee label:last-child{grid-column:1/-1}
  .rs-row2{grid-template-columns:1fr 1fr}
  .rs-table td{white-space:normal}
}
.rs-matches h3{font-size:1.1rem;color:var(--ink);margin:28px 0 12px}
.rs-matches .rs-grid{margin-top:12px}
/* ---- No-Premium: Zillow-style search, MapLibre map, property page and financial summary (2026-10 update) ---- */
body[data-route^="np-"] #currencyTrigger{display:none} /* resale amounts are always EGP; the stays USD/EGP switch doesn't apply */
.rs-head{background:var(--card);border-bottom:1px solid var(--line)}
.rs-head-in{max-width:1480px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px 28px;padding:16px 24px;flex-wrap:wrap}
.rs-head h1{font-family:var(--serif);font-weight:600;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.2;margin:0 0 4px;color:var(--ink)}
.rs-head p{margin:0;max-width:78ch;color:var(--muted);font-size:.9rem;line-height:1.5}
.rs-head-links{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}
.rs-head-links .btn{min-height:40px;padding:0 16px}
.rs-link{color:var(--accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:.9rem}
.rs-bar-in{max-width:1480px;margin:0 auto;display:flex;gap:10px;align-items:center;padding:10px 24px;flex-wrap:nowrap}
.rs-search{flex:0 1 340px;min-width:200px}
.rs-tools{display:flex;gap:8px;align-items:center;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px}
.rs-tools::-webkit-scrollbar{display:none}
.rs-tools>*{flex:none}
.rs-quick{display:flex;gap:8px}
.rs-view-btn,.rs-toggle{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:var(--r-pill);background:var(--ink);color:#fff;font:inherit;font-weight:700;font-size:.9rem;padding:0 16px;min-height:40px;cursor:pointer;white-space:nowrap;flex:none}
.rs-view-btn svg,.rs-toggle svg{width:18px;height:18px}
.rs-view-btn[aria-pressed=true]{background:var(--accent)}
.rs-toggle{display:none}
.rs-split{max-width:1480px;margin:0 auto}
.rs-map-pane{display:none}
.rs-split.show-map{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}
.rs-split.show-map .rs-map-pane{display:block;position:sticky;top:calc(var(--rs-hdr) + var(--rs-bar));height:calc(100vh - var(--rs-hdr) - var(--rs-bar));background:#E8EEF1;isolation:isolate;z-index:0}
.rs-map-pane .rs-map{position:absolute;inset:0} /* beats .maplibregl-map{position:relative} */
.rs-map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;background:#fff;border-radius:var(--r-pill);padding:8px 16px;font-size:.85rem;color:var(--muted);box-shadow:var(--shadow-sm);z-index:2}
.rs-search-area,.rs-clear-area{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:3;border:0;border-radius:var(--r-pill);background:var(--ink);color:#fff;font:inherit;font-weight:600;padding:10px 18px;box-shadow:var(--shadow-float);cursor:pointer}
.rs-clear-area{top:auto;bottom:44px;background:#fff;color:var(--ink)}
.rs-map-note{position:absolute;bottom:0;inset-inline-start:0;margin:0;z-index:2;background:rgba(255,255,255,.9);font-size:.74rem;color:var(--muted);padding:4px 10px;border-start-end-radius:8px;max-width:70%}
.rs-map-note:empty{display:none}
.rs-list-pane{padding:18px 24px 60px;min-height:60vh}
.rs-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.rs-list-head h2{margin:0;font-size:1.15rem;color:var(--ink)}
.rs-list-sub{margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.rs-sort{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);font-weight:600}
.rs-sort select{width:auto;max-width:230px;border:1px solid var(--line-strong);border-radius:10px;min-height:38px;padding:0 10px;font:inherit;font-size:.88rem;background:#fff;color:var(--ink)}
.rs-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:22px 18px}
.rs-split.show-map .rs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.rs-map-fail{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;background:var(--warning-soft);color:var(--warning-text);border-radius:10px;padding:6px 14px;font-size:.86rem;margin:0 0 14px}
.rs-map-fail[hidden]{display:none}
.rs-map-fail .rs-link-btn{padding:6px 0;color:inherit}
.rs-map-fail.is-inline{margin:0}
.rs-d-map.is-failed,.rs-pin-map.is-failed{height:auto;background:none;cursor:auto}
/* cards */
.rs-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(6,31,54,.06);transition:box-shadow .18s var(--ease),transform .18s var(--ease)}
.rs-card:hover,.rs-card.is-active{box-shadow:0 10px 28px -10px rgba(6,31,54,.28)}
.rs-card.is-active{outline:2px solid var(--accent);outline-offset:-1px}
.rs-card-media{position:relative;display:block;aspect-ratio:3/2;background:var(--sand)}
.rs-photo-count{position:absolute;bottom:8px;inset-inline-end:8px;background:rgba(6,31,54,.68);color:#fff;font-size:.72rem;font-weight:600;border-radius:var(--r-pill);padding:3px 8px}
.rs-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:3px}
.rs-card-total{margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.rs-card-total b{font-size:1.32rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.rs-card-total span{font-size:.78rem;color:var(--muted);font-weight:600}
.rs-card-pay{margin:0;display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.84rem;color:var(--text)}
.rs-card-comm{margin:0;font-size:.78rem;color:var(--muted)}
.rs-specs{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:2px 0;font-size:.86rem;color:var(--ink);font-weight:600}
.rs-specs span+span::before{content:"·";margin-inline:8px;color:var(--muted);font-weight:400}
.rs-card h3{margin:2px 0 0;font-size:.92rem;font-weight:600;line-height:1.3}
.rs-where{margin:0;font-size:.84rem;color:var(--text)}
.rs-meta{margin:0;color:var(--muted);font-size:.76rem}
.rs-cmp-chip{display:inline-block;align-self:flex-start;margin:4px 0 2px;border-radius:var(--r-pill);padding:4px 10px;font-size:.76rem;font-weight:700;background:var(--stone);color:var(--ink);text-decoration:none}
.rs-cmp-chip.is-resale_lower{background:var(--success-soft);color:var(--success-text)}
.rs-cmp-chip.is-resale_higher{background:var(--warning-soft);color:var(--warning-text)}
/* map markers and popup (MapLibre) */
.rs-pin{background:var(--ink);color:#fff;font:700 .78rem/1 var(--body);padding:6px 9px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 3px 10px rgba(6,31,54,.35);border:2px solid #fff;cursor:pointer}
.rs-pin.is-active{background:var(--accent);padding:8px 11px;z-index:5}
.rs-pin.is-res{background:var(--muted)}
.rs-cluster{background:#fff;color:var(--ink);border-color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 10px;line-height:1.1}
.rs-cluster small{font-weight:600;font-size:.7rem;opacity:.8}
.rs-cluster.is-active{background:var(--accent);color:#fff;border-color:#fff}
.rs-near-dot{width:14px;height:14px;border-radius:50%;background:var(--cyan);border:2px solid var(--ink);box-shadow:0 1px 4px rgba(6,31,54,.3)}
.rs-near-dot.is-big{width:20px;height:20px}
.rs-popup .maplibregl-popup-content{padding:10px;border-radius:12px;box-shadow:var(--shadow-md)}
.rs-pop{display:grid;gap:3px;text-decoration:none;color:var(--ink);font-size:.82rem}
.rs-pop img{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:4px}
.rs-pop-total b{font-size:1.05rem}
.rs-pop-title{margin-top:2px}
.rs-d-map,.rs-pin-map{isolation:isolate;z-index:0}
.rs-d-map{height:320px;border-radius:14px;overflow:hidden;background:#E8EEF1;margin:8px 0}
.rs-pin-map{height:280px;border-radius:14px;overflow:hidden;background:#E8EEF1;margin-bottom:14px;cursor:crosshair}
/* property page */
.np-detail-view{max-width:1280px}
.rs-d-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.rs-d-top .np-back{margin:0}
.rs-d-save{border:1px solid var(--line-strong);background:#fff;border-radius:var(--r-pill);min-height:40px;padding:0 14px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}
.rs-d-save.is-on{color:#D6334C;border-color:#D6334C}
.rs-d-hero{display:grid;grid-template-columns:minmax(0,1fr) 370px;column-gap:28px;align-items:start}
.rs-d-hero>.rs-gallery{grid-column:1;grid-row:1}
.rs-d-hero>.rs-summary{grid-column:2;grid-row:1/span 2;align-self:start}
.rs-d-hero>.rs-d-body{grid-column:1;grid-row:2;min-width:0}
.rs-gallery{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:6px;border-radius:16px;overflow:hidden;margin:0}
.rs-summary{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow-md);display:grid;gap:10px;position:sticky;top:96px}
.rs-summary .rs-badges-inline{margin:0}
.rs-sum-label{margin:0;font-size:.82rem;font-weight:700;color:var(--muted)}
.rs-sum-total{margin:-4px 0 2px;font-size:2rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.15}
.rs-sum-rows{margin:0;display:grid}
.rs-sum-rows div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.rs-sum-rows dt{color:var(--text)}
.rs-sum-rows dd{margin:0;font-weight:700;color:var(--ink);white-space:nowrap}
.rs-sum-strong dt{font-weight:700;color:var(--ink)}
.rs-sum-type{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rs-type-tag{background:var(--stone);color:var(--ink);border-radius:var(--r-pill);padding:4px 10px;font-size:.78rem;font-weight:700}
.rs-sum-actions{display:grid;gap:8px}
.rs-sum-actions .rs-link-btn{padding:4px 0;justify-self:center}
.rs-act{width:100%;justify-content:center;min-height:46px}
.rs-side-note{font-size:.76rem;color:var(--muted);margin:0;line-height:1.45}
.rs-res-note{background:var(--warning-soft);color:var(--warning-text);padding:10px;border-radius:10px;font-size:.88rem;margin:0}
.rs-d-body{max-width:900px}
.rs-d-head{padding:22px 0 8px}
.rs-d-title{font-family:var(--serif);font-weight:600;font-size:clamp(1.45rem,2.4vw,1.95rem);color:var(--ink);margin:0 0 6px;line-height:1.2}
.rs-specs-lg{font-size:1rem;margin:8px 0 4px}
.rs-mobile-actions{display:none}
/* financial summary */
.rs-fin-groups{display:grid;gap:14px;margin-top:14px}
.rs-fg{border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--card)}
.rs-fg h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:1.02rem;color:var(--ink)}
.rs-fg-k{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:.78rem;font-weight:800;flex:none}
.rs-fg-c{background:var(--sand);border-color:transparent}
.rs-fg dl,.rs-fl-list{margin:0}
.rs-fl{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.rs-fl:last-child{border-bottom:0}
.rs-fl dt{font-size:.92rem;color:var(--text)}
.rs-fl dt small{display:block;font-size:.76rem;color:var(--muted);margin-top:2px;line-height:1.4}
.rs-fl dd{margin:0;font-weight:700;color:var(--ink);text-align:end;white-space:nowrap}
.rs-fl.is-strong dt{font-weight:700;color:var(--ink)}
.rs-fl.is-sub dt{padding-inline-start:14px;font-size:.86rem;color:var(--muted)}
.rs-fl.is-sub dd{font-weight:500;color:var(--muted)}
.rs-fl.is-total{border-top:2px solid var(--ink);border-bottom:0;margin-top:2px}
.rs-fl.is-total dt,.rs-fl.is-total dd{font-weight:800;color:var(--ink)}
.rs-fl.is-grand dt{font-weight:800;color:var(--ink);font-size:1rem}
.rs-fl.is-grand dd{font-size:1.45rem;font-weight:800}
.rs-more-d{border:1px solid var(--line);border-radius:12px;padding:0 16px;margin-top:12px;background:var(--card)}
.rs-more-d>summary{padding:13px 0;cursor:pointer;font-weight:700;color:var(--accent-text);list-style-position:inside}
.rs-more-d[open]>summary{border-bottom:1px solid var(--line);margin-bottom:6px}
.rs-more-d .rs-table{margin-bottom:10px}
.rs-more-d>.rs-hint{margin:8px 0}
.rs-cmp-src{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin:2px 0 8px;font-size:.84rem;color:var(--muted)}
.rs-conf{border-radius:var(--r-pill);padding:3px 10px;font-size:.74rem;font-weight:700}
.rs-conf.is-ok{background:var(--success-soft);color:var(--success-text)}
.rs-conf.is-est{background:var(--warning-soft);color:var(--warning-text)}
.rs-cmp-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.rs-cmp-h{margin:4px 0 0;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}
:root[lang=ar] .rs-cmp-h{letter-spacing:0;font-size:.85rem}
.rs-cmp-result{margin:12px 0 6px;padding:10px 14px;border-radius:10px;font-weight:800;background:var(--stone);color:var(--ink)}
.rs-cmp-result.is-resale_lower{background:var(--success-soft);color:var(--success-text)}
.rs-cmp-result.is-resale_higher{background:var(--warning-soft);color:var(--warning-text)}
.rs-cmp-notes{margin:6px 0 0;padding-inline-start:18px;font-size:.8rem;color:var(--muted);display:grid;gap:3px}
.rs-cmp-na{margin:4px 0 0;color:var(--text)}
.rs-cmp-miss{margin:6px 0 0;padding-inline-start:18px;font-size:.84rem;color:var(--muted)}
.rs-offer-calc:not(:empty){background:var(--stone);border-radius:12px;padding:4px 14px}
.rs-note-ok{background:var(--success-soft);color:var(--success-text);border-radius:10px;padding:8px 12px;font-size:.86rem;margin:10px 0 0}
.rs-loc-chip{display:inline-flex;align-items:center;gap:6px;max-width:260px}
.rs-loc-chip span{overflow:hidden;text-overflow:ellipsis}
.rs-loc-chip svg{width:16px;height:16px;flex:none}
.rs-loc-chip.is-on{border-color:var(--ink);background:var(--ink);color:#fff}
.rs-loc-chip.is-on .rs-count{color:#fff}
.rs-loc-dialog{width:min(520px,calc(100vw - 32px))}
.rs-loc>.rs-hint{margin:0 20px 6px;font-size:.8rem}
.rs-loc-quick{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px 10px}
.rs-loc-quick .rs-chip.is-on{border-color:var(--ink);background:var(--ink);color:#fff}
.rs-loc-quick .rs-chip.is-on .rs-count{color:#fff}
.rs-loc-field{display:grid;gap:6px;margin:12px 20px 0;font-weight:600;font-size:.88rem;color:var(--ink)}
.rs-loc-field select{border:1px solid var(--line-strong);border-radius:10px;min-height:44px;padding:0 10px;font:inherit;font-weight:500;background:#fff;color:var(--ink)}
.rs-loc-field select:disabled{background:var(--stone);color:var(--muted)}
.rs-loc-foot{display:flex;justify-content:space-between;gap:10px;padding:14px 20px;margin-top:18px;border-top:1px solid var(--line)}
.rs-locpick{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--sand)}
.rs-locpick .rs-f-label{margin:0 0 8px;font-weight:700;color:var(--ink)}
.rs-places .rs-loc-quick{margin-bottom:12px}
.rs-places-add{display:flex;align-items:flex-end}
.rs-place-list{list-style:none;margin:12px 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rs-place{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--r-pill);padding:6px 10px 6px 14px;font-size:.9rem;font-weight:600}
.rs-place.is-all{background:#fff;color:var(--ink-2);border-color:var(--line-strong);font-weight:500;padding-inline-end:14px}
.rs-place-x{background:none;border:0;color:inherit;font:inherit;cursor:pointer;line-height:1;padding:2px 4px;border-radius:50%}
.rs-place-x:hover{background:rgba(255,255,255,.2)}
.rs-suggest{background:#fff;border-radius:10px;padding:10px 12px;border:1px dashed var(--line-strong)}
@media (max-width:1100px){
  .rs-d-hero{grid-template-columns:minmax(0,1fr) 330px}
  .rs-split.show-map{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:960px){
  .rs-head-in{padding:12px 14px}
  .rs-head p{display:none}
  .rs-bar-in{flex-wrap:wrap;padding:10px 14px;gap:8px}
  .rs-search{flex:1 1 100%;max-width:none}
  .rs-tools{flex:1 1 100%;margin-inline:-14px;padding-inline:14px}
  .rs-view-btn{display:none}
  .rs-split.show-map{display:block}
  .rs-split.show-map .rs-list-pane{display:none}
  .rs-split.show-map .rs-map-pane{position:relative;top:auto;height:calc(100dvh - var(--rs-hdr) - var(--rs-bar) - var(--rs-bnav, 0px))}
  /* keep the approximate-location note and the map credits above the floating List view button */
  .rs-split.show-map .rs-map-note{bottom:66px;border-end-end-radius:8px}
  .rs-split.show-map .maplibregl-ctrl-bottom-right,.rs-split.show-map .maplibregl-ctrl-bottom-left{bottom:62px}
  :root[dir="rtl"] .rs-split.show-map .maplibregl-ctrl-bottom-right{right:auto;left:0}
  .rs-list-pane{padding:14px 14px 96px}
  .rs-toggle{display:inline-flex;position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:30;min-height:46px;padding:0 20px;box-shadow:var(--shadow-float)}
  body:not([data-route=np-market]) .rs-toggle{display:none}
  .rs-d-hero{grid-template-columns:minmax(0,1fr);gap:14px}
  .rs-d-hero>.rs-gallery,.rs-d-hero>.rs-summary,.rs-d-hero>.rs-d-body{grid-column:1;grid-row:auto}
  .rs-summary{position:static;box-shadow:none}
  .rs-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:270px;margin-inline:-20px;border-radius:0;gap:4px;scrollbar-width:none}
  .rs-g-item{flex:0 0 88%;scroll-snap-align:center;grid-row:auto!important}
  .g-n1 .rs-g-item{flex-basis:100%}
  body[data-route=np-detail] .bottom-nav{display:none}
  .rs-mobile-actions{display:flex;align-items:center;gap:8px;position:fixed;bottom:0;inset-inline:0;z-index:30;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 18px -12px rgba(6,31,54,.35);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .rs-ma-price{display:flex;flex-direction:column;flex:1;min-width:0}
  .rs-ma-price b{font-size:1.02rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rs-ma-price span{font-size:.72rem;color:var(--muted)}
  .rs-mobile-actions .btn{min-height:46px;padding:0 14px;flex:none}
  .np-detail-view{padding-bottom:110px}
  .rs-cmp-cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .rs-head-links .btn{min-height:36px}
  .rs-fg{padding:12px 14px}
  .rs-fl dd{white-space:normal}
  .rs-sum-total{font-size:1.7rem}
}


/* ---- Homepage mockup fidelity pass (25 October 2026): wider content, tighter rhythm, the search card and
   badge placed as in the mockup, a compact No-Premium band and a curved partner photo. Visual only. ---- */
@media (min-width:961px){
  [data-view="home"] .wrap,body[data-route="home"] header.top .wrap{max-width:1360px;padding-inline:40px}
}
.home-section{padding:40px 0}
.hx-split{gap:24px 48px}
/* hero */
.hero.hx h1{font-size:clamp(2.6rem,4.7vw,4.15rem);line-height:1.02}
.hero.hx p.lede{max-width:46ch;font-size:1.1rem}
.hx-inner{padding-block:140px 70px}
.hx-script{top:110px;inset-inline-end:24%;font-size:2.1rem;transform:rotate(-12deg)}
.hx-badge{width:210px;height:210px;inset-inline-end:-56px;bottom:40px;border-width:6px}
.hx-badge b{font-size:.86rem}
@media (min-width:961px){
  .hero.hx>.wrap:last-child,.hero.hx .wrap:has(>.hx-search){padding-inline-start:118px;padding-inline-end:150px}
}
.svc-tab[aria-selected="true"]{background:#EDF5F8;border-radius:12px 12px 0 0}
/* compact No-Premium band: one light card on the sand, steps side by side */
.np-home{padding:34px 0 0}
.np-band{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;padding:26px 30px;background:#fff;color:var(--text);border-radius:18px;box-shadow:0 1px 3px rgba(10,47,78,.06),0 10px 28px rgba(10,47,78,.08)}
.np-band .np-eyebrow{color:var(--accent);font-size:1.25rem}
.np-band h2{color:var(--ink);font-size:clamp(1.5rem,2.3vw,1.9rem);margin:6px 0 8px}
.np-band .np-lead{color:var(--text);font-size:.95rem}
.np-actions{margin-top:16px}
.np-actions .btn{min-height:42px;padding:0 20px}
.np-band .btn-teal{background:var(--ink);border-color:var(--ink);color:#fff}
.np-band .btn-teal:hover{background:#0F4068;border-color:#0F4068}
.np-band .np-btn-outline{border-color:var(--line-strong);color:var(--ink)}
.np-band .np-btn-outline:hover{background:var(--sand);border-color:var(--ink)}
.np-band .np-note{color:var(--muted);font-size:.78rem;margin-top:12px}
.np-steps{gap:8px}
.np-steps li{background:var(--sand);border:0;border-radius:12px;padding:12px 14px;gap:12px}
.np-steps b{color:var(--ink);font-size:.93rem}
.np-steps p{color:var(--muted);font-size:.83rem}
.np-step-n{background:var(--ink);color:#fff;width:28px;height:28px}
/* popular band: shorter, as in the mockup */
.hx-popular{padding:84px 0}
/* why choose and deals sit closer together */
.hx-why{padding-block:36px 24px}
.hx-deals{padding-top:12px;padding-bottom:36px}
/* partner: the photo ends in a soft curve instead of a fade */
.hx-partner{min-height:300px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.hx-partner-photo{-webkit-mask-image:none;mask-image:none;clip-path:ellipse(100% 125% at 0 50%)}
:root[dir="rtl"] .hx-partner-photo{-webkit-mask-image:none;mask-image:none;clip-path:ellipse(100% 125% at 100% 50%)}
.hx-partner-copy{padding:40px 40px 40px 8px}
:root[dir="rtl"] .hx-partner-copy{padding:40px 8px 40px 40px}
@media (max-width:860px){
  .np-band{grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 18px}
  .hx-inner{padding-block:56px 40px}
  .hx-popular{padding:64px 0}
  .hx-partner-photo,:root[dir="rtl"] .hx-partner-photo{clip-path:ellipse(140% 100% at 50% 0)}
  .hx-partner-copy,:root[dir="rtl"] .hx-partner-copy{padding:8px 20px 36px}
}
/* hero photo: the New Alamein towers and turquoise sea from the reference mockup, on the end side,
   fading into the deep sea-blue the title sits on */
.hx-photo{background:linear-gradient(100deg,#08263F 0%,#0B3A5A 45%,#0E4A6E 100%)}
.hx-photo::before{display:none}
.hx-photo::after{content:'';position:absolute;top:0;bottom:0;inset-inline-end:0;width:62%;background:linear-gradient(180deg,rgba(6,31,54,.5) 0,rgba(6,31,54,0) 24%),url('/img/home/towers.webp') center 40%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 18%,#000 40%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 18%,#000 40%)}
:root[dir="rtl"] .hx-photo::after{-webkit-mask-image:linear-gradient(270deg,transparent 0,rgba(0,0,0,.55) 18%,#000 40%);mask-image:linear-gradient(270deg,transparent 0,rgba(0,0,0,.55) 18%,#000 40%)}
@media (max-width:860px){
  .hx-photo::after,:root[dir="rtl"] .hx-photo::after{width:100%;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.6) 45%,#000 75%);mask-image:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,.6) 45%,#000 75%)}
}
.hx-badge{background-image:url('/img/home/towers.webp');background-position:30% 75%}
.hero.hx{overflow-x:clip}

/* ---- Reference colour pass (26 October 2026): the owner's palette, refined against the mockup ---- */
:root{
  --ink:#09243F;          /* deep navy headings, dark buttons */
  --ink-deep:#061A2E;
  --accent:#08789A;       /* ocean blue: search button, links, active tab, icons */
  --accent-text:#08789A;
  --accent-soft:#E4F3F6;
  --cyan:#00D2DF;         /* bright turquoise primary CTA */
  --aqua:#76E8EC;         /* hero headline accent */
  --sand:#F8F5ED;         /* warm ivory page */
  --stone:#F8F5ED;
  --card:#FFFFFF;
  --text:#344457;         /* body text */
  --line:#E8E5DE;         /* subtle borders */
  --stars:#F6B52B;
}
body,[data-view="home"]{background:var(--sand)}
h1,h2,h3{color:var(--ink)}
.hx-accent{color:var(--aqua)}
.btn-cyan{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
.btn-cyan:hover{background:#2EDDE8;border-color:#2EDDE8;box-shadow:0 10px 24px rgba(0,210,223,.35)}
.btn-teal{background:var(--accent);border-color:var(--accent)}
.btn-teal:hover{background:#066683;border-color:#066683}
.btn-ink{background:var(--ink);border-color:var(--ink)}
.section-link{color:var(--accent)}
.why-ico{color:var(--accent)}
.svc-tab[aria-selected="true"]{color:var(--ink)}
.svc-tab[aria-selected="true"]::after{background:var(--accent)}
.hx-search .field{border-color:var(--line)}
.svc-card,.pop-card,.deal-card,.np-band,.hx-search.search-card{border:1px solid rgba(232,229,222,.7)}
.rev-stars{color:var(--stars)}
.hx-photo{background:linear-gradient(100deg,#07203A 0%,#0A3352 45%,#0E4A6E 100%)}
.hx-popular{background:linear-gradient(90deg,rgba(6,40,64,.82) 0%,rgba(6,49,72,.55) 35%,rgba(6,49,72,.2) 100%),#0A6C8C url('/img/home/sea-texture.webp') center/cover no-repeat}
:root[dir="rtl"] .hx-popular{background:linear-gradient(270deg,rgba(6,40,64,.82) 0%,rgba(6,49,72,.55) 35%,rgba(6,49,72,.2) 100%),#0A6C8C url('/img/home/sea-texture.webp') center/cover no-repeat}
.hx-popular::before,.hx-popular::after{background:var(--sand)}
.hero.hx::after{background:var(--sand)}
.hx-partner{background:var(--sand)}
@media (max-width:860px){.hx-partner{grid-template-columns:minmax(0,1fr)}.hx-partner-photo{min-height:220px}}

/* ==== Site-wide reference style: every page shares the homepage palette, cards and buttons ==== */
:root{
  --ink-soft:#E4F3F6;--line-strong:#D9D3C6;--muted:#5C6B7C;--text-faint:#8E99A6;
  --info:#08789A;--info-soft:#E4F3F6;--info-text:#08789A;
  --gold:#F6B52B;--gold-soft:#FDF5E2;--gold-text:#8A5C00;
  --shadow-sm:0 1px 3px rgba(9,36,63,.06),0 8px 22px rgba(9,36,63,.07);
  --shadow-md:0 10px 28px rgba(9,36,63,.12);
  --shadow-lg:0 18px 48px rgba(9,36,63,.16);
  --shadow-float:0 12px 32px rgba(9,36,63,.18);
  --ring:0 0 0 3px rgba(0,210,223,.22);
}
/* Sticky bars and full-page flows sit on the same warm ivory as the page */
.results-toolbar{background:color-mix(in srgb,var(--sand) 92%,transparent)}
.rs-bar,.wiz{background:var(--sand)}
/* Cards: white, 16px corners, warm border, soft navy shadow */
.sec-block,.offer-card,.trip-card,.loyalty-level,.split-combo,.alert-row,.legal-page .contact-box,
.stat-card,.dash-quicklink,.trust-card,.way-card,.sp-who-card,.sp-cat,.sp-channel,.sp-info,.sp-inquiry,
.dest-card,.wiz-card,.wiz-details,.offer-match-card,.review-item,.map-preview-card,.results-search,
.rs-card,.rs-req,.rs-saved,.notif-item,.trip-pick{border-radius:16px;border-color:var(--line)}
.stat-card,.dash-quicklink,.results-search,.rs-card{box-shadow:var(--shadow-sm)}
.book{border-radius:18px;border-color:var(--line);box-shadow:var(--shadow-md)}
.empty,.empty-note{background:var(--card);border-color:var(--line);border-radius:16px}
.empty::before,.empty-note::before{background-color:var(--ink-soft);border-color:transparent}
.dash-quicklink:hover,.sp-who-card:hover,.dest-card:hover{border-color:var(--accent)}
/* Buttons: the same search button as the homepage; navy pills elsewhere */
.results-search .btn,.rs-search .btn-ink{background:var(--accent);border-color:var(--accent);color:#fff}
.results-search .btn:hover,.rs-search .btn-ink:hover{background:#066683;border-color:#066683}
.btn-ink:hover{background:#0E3557;border-color:#0E3557;box-shadow:0 8px 20px rgba(9,36,63,.22)}
.btn-ghost{border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
/* Chips, tabs and links in the shared accent colours */
.chip:hover,.filter-tabs button:hover,.flex-alt:hover,.react-chip:hover{border-color:var(--accent)}
.dtab[aria-selected="true"]{color:var(--ink);border-color:var(--accent)}
.card-eyebrow{color:var(--accent)}
.host-card{border-color:#F1E3C0}
.rv-stars,.review-item .rv-stars,.star-picker button.on,.star-picker .on{color:var(--stars)}
/* Navy hero panels use the homepage's navy-to-ocean gradient */
.loyalty-hero{background:linear-gradient(100deg,#07203A 0%,#0A3352 50%,#0E4A6E 100%)}
/* Inputs: warm borders, turquoise focus ring */
.rs-field input,.rs-field select,.flex-box,.split-seg{border-color:var(--line)}

/* ==== Exact reference pass (2026-10-26): colours sampled from the reference image; desktop positions
   are the reference's pixel positions on its 1024px canvas, expressed in vw (px / 10.24) ==== */
:root{--ink:#08203F;--ink-deep:#051833;--cyan:#00E3F4;--aqua:#80F3F8;--accent:#01658F;--accent-text:#01658F;--accent-soft:#E2F1F5;
  --sand:#F8F5EF;--stone:#F8F5EF;--text:#445269;--muted:#6B7486;--line:#E9E5DD;--stars:#FDB823;--info:#01658F;--info-text:#01658F}
.btn-cyan{color:#00222E}
.btn-cyan:hover{background:#2BEAF7;border-color:#2BEAF7}
.btn-teal:hover,.results-search .btn:hover{background:#015478;border-color:#015478}
.btn-ink{background:#00223E;border-color:#00223E}
.why-ico{color:#14729A}
/* Banner: the reference's own photo (overlays removed, 2x Lanczos + light sharpening), same crop */
.hx-photo{background:#2C6FA6 url('/img/home/hero-banner-1440.webp') center top/100% 100% no-repeat}
.hx-photo::before,.hx-photo::after,.hero.hx::after{display:none}
.hero.hx{background:transparent}
.hx-badge{background:#9FB9C4 url('/img/home/hero-badge.webp') left center/auto 100% no-repeat}
.hx-badge::before{background:rgba(6,31,54,.18)}
/* Popular band: the reference's own sea texture with its curved edges baked in */
.hx-popular,:root[dir="rtl"] .hx-popular{background:#04607A url('/img/home/popular-sea-1440.webp') center/100% 100% no-repeat}
:root[dir="rtl"] .hx-popular{background-image:url('/img/home/popular-sea-1440-rtl.webp')}
:root[dir="rtl"] .hx-photo{transform:scaleX(-1)}
:root[dir="rtl"] .hx-badge{background-image:url('/img/home/hero-badge-rtl.webp');background-position:right center}
.hx-popular::before,.hx-popular::after{display:none}
.hx-partner{background:linear-gradient(90deg,#F6F1E8 0%,#EFE8DB 100%)}
.site-footer{background:#fff}
@media (min-width:961px){
  body[data-route="home"] header.top .wrap{max-width:none;padding-inline:2.15vw}
  body[data-route="home"] header.top:not(.is-scrolled) .logo{width:26vw;min-height:7.8vw;box-sizing:border-box;padding:1.1vw 2vw 1.2vw 3.3vw;border-end-end-radius:7vw 6vw;border-end-start-radius:2.4vw}
  :root[dir="rtl"] body[data-route="home"] header.top:not(.is-scrolled) .logo{padding:1.1vw 3.3vw 1.2vw 2vw}
  body[data-route="home"] header.top:not(.is-scrolled) .logo .logo-word>span{font-size:2.45vw}
  body[data-route="home"] header.top:not(.is-scrolled) .logo .logo-tag{font-size:1.45vw;margin-top:1vw}
  body[data-route="home"] header.top:not(.is-scrolled) .nav .btn-ink{border-color:#045E8A;border-width:2px}
  .hero.hx{padding:0 0 1.6vw}
  .hx-photo{position:absolute;inset:0 0 auto 0;height:42.97vw;z-index:-1}
  [data-view="home"] .hero.hx .wrap{max-width:none;padding-inline:0}
  .hx-inner{height:34.96vw;padding:0}
  .hx-copy{position:absolute;top:11vw;inset-inline-start:7.13vw;max-width:none}
  .hero.hx .hero-eyebrow{font-size:.9vw;letter-spacing:.42em;margin:0 0 1.15vw}
  .hero.hx h1{font-size:4.3vw;line-height:1.03}
  .hero.hx p.lede{max-width:30vw;margin-top:.9vw;font-size:1.32vw;line-height:1.4}
  .hx-actions{margin-top:2.5vw}
  .hx-actions .btn{min-height:3.9vw;padding:0 2.2vw;font-size:1.07vw}
  .hx-script{display:block;top:7.4vw;inset-inline-end:auto;inset-inline-start:70.6vw;font-size:2.05vw;transform:rotate(-12deg)}
  :root[dir="rtl"] .hx-script{transform:rotate(12deg)}
  .hx-badge{display:flex;top:22.36vw;bottom:auto;inset-inline-end:auto;inset-inline-start:84.08vw;width:17.97vw;height:17.97vw;border-width:.45vw}
  .hx-badge svg{width:2.2vw;height:2.2vw}
  .hx-badge b{font-size:.98vw}
  .hx-badge small{font-size:.75vw}
  .hero.hx>.wrap:last-child,.hero.hx .wrap:has(>.hx-search){padding-inline:10.25vw}
  .hx-search.search-card{width:auto;max-width:none;margin:0}
  /* Popular band at the reference's height and card positions */
  .hx-popular{height:23.44vw;padding:0;box-sizing:border-box}
  .hx-popular .wrap.hx-split{max-width:none;height:100%;padding:4.1vw 3.3vw 1.7vw 4.4vw;grid-template-columns:23vw minmax(0,1fr);gap:0 4.3vw;align-items:start}
  :root[dir="rtl"] .hx-popular .wrap.hx-split{padding:4.1vw 4.4vw 1.7vw 3.3vw}
  .hx-popular .hx-side{padding-top:.4vw}
  .hx-popular .hx-side h2{font-size:2.6vw;line-height:1.08;margin-bottom:1.4vw}
  .hx-popular .hx-side>p{font-size:1.07vw;margin-bottom:2vw}
  .hx-popular .btn-light{min-height:3vw;padding:0 1.8vw;font-size:1vw}
  .pop-cards{gap:1vw;height:17.6vw}
  .pop-card{height:17.6vw}
  .pop-img{aspect-ratio:auto;height:11.5vw;flex:none}
  .pop-body{padding:1vw 1.3vw;gap:.25vw}
  .pop-body b{font-size:1.12vw}
  .pop-body small{font-size:.84vw;line-height:1.35}
  .hx-partner{min-height:15.6vw}
  .hx-badge{background-origin:border-box;background-size:auto 103.3%;background-position:-.3vw -.3vw}
  :root[dir="rtl"] .hx-badge{background-position:calc(100% + .3vw) -.3vw}
  :root[dir="rtl"] .hx-partner-script{inset-inline-start:84.2vw}
  [data-view="home"] .hx-side h2{font-size:3.15vw;line-height:1.05}
  .hx-services{padding:1vw 0 1.4vw}
  .hx-services .wrap.hx-split{max-width:none;padding:0 3.2vw 0 4.4vw;grid-template-columns:18.2vw minmax(0,1fr);gap:0 1.8vw;align-items:start}
  :root[dir="rtl"] .hx-services .wrap.hx-split{padding:0 4.4vw 0 3.2vw}
}
@media (min-width:961px){
  [data-view="home"] .hx-popular .hx-side h2{font-size:2.6vw}
  .hx-deals{padding:1.6vw 0 2.4vw}
  .hx-deals .wrap.hx-split,.hx-why .wrap.hx-split{max-width:none;padding:0 3.2vw 0 4.4vw;grid-template-columns:22.5vw minmax(0,1fr);gap:0 2vw}
  :root[dir="rtl"] .hx-deals .wrap.hx-split,:root[dir="rtl"] .hx-why .wrap.hx-split{padding:0 4.4vw 0 3.2vw}
  .deal-cards{gap:1.1vw}
  .deal-img{aspect-ratio:auto;height:8.8vw}
  .deal-body{padding:.9vw 1.2vw}
  .deal-body b{font-size:1.12vw}
  .deal-body small{font-size:.84vw}
  .hx-partner{height:15.6vw;min-height:0;grid-template-columns:48.8vw minmax(0,1fr)}
  .hx-partner-photo{clip-path:ellipse(100% 140% at 0 50%)}
  :root[dir="rtl"] .hx-partner-photo{clip-path:ellipse(100% 140% at 100% 50%)}
  .hx-partner-copy,:root[dir="rtl"] .hx-partner-copy{position:static;padding:0 3.6vw;max-width:none}
  .hx-partner-copy .hx-eyebrow{font-size:.78vw;margin-bottom:.5vw}
  .hx-partner-copy h2{font-size:2.35vw;margin-bottom:.6vw}
  .hx-partner-copy p:not(.hx-eyebrow):not(.hx-script){font-size:.98vw;max-width:26vw;margin-bottom:1.3vw}
  .hx-partner-copy .btn{min-height:2.9vw;padding:0 2vw;font-size:.98vw}
  .hx-partner-script{position:absolute;top:5.6vw;inset-inline-start:84.2vw;margin:0;font-size:1.55vw;max-width:9ch;line-height:1.05;transform:rotate(-14deg);text-align:start}
  :root[dir="rtl"] .hx-partner-script{transform:rotate(14deg)}
}
@media (min-width:1181px){
  .svc-cards{gap:1.1vw}
  .svc-img{aspect-ratio:auto;height:10.25vw}
  .svc-card{min-height:18vw}
  .svc-body{padding:1vw 1.1vw 1.1vw}
  .svc-body b{font-size:1.3vw}
  .svc-body small{font-size:.82vw}
}
@media (max-width:960px){
  .hx-photo{background-size:cover;background-position:62% top}
  .hx-popular,:root[dir="rtl"] .hx-popular{background-size:cover;background-position:left center}
  :root[dir="rtl"] .hx-popular{background-position:right center}
}
@media (min-width:961px){.hero.hx .wrap:has(>.hx-search){position:relative;z-index:2}}
@media (min-width:961px) and (max-width:1279px){.hero.hx>.wrap:last-child,.hero.hx .wrap:has(>.hx-search){padding-inline:3.5vw}}
/* Vertical rhythm measured against the reference at 1440px */
@media (min-width:961px){
  .hero.hx p.lede{margin-top:.55vw}
  .hx-actions{margin-top:1.55vw}
  .hx-services{padding-bottom:0}
  .hx-why{padding:2.1vw 0 1vw}
  .hx-deals{padding:1.3vw 0 1.2vw}
}
/* The homepage search box matches the reference: the booking-mode / flexible-dates / filters row is not
   shown here. Those controls stay in the DOM (the mobile bar's Offer button triggers #heroModeOffer);
   Get Offers and Make an Offer are the "Make It Special" cards, and Flexible dates + Filters are on the
   results page. */
.hx-search .search-foot{display:none}
@media (min-width:961px){
  .hx-deals{padding:0}
  .deal-body{padding:.75vw 1.2vw .8vw;gap:.15vw}
  .hx-why .why-grid{margin-top:0}
}
@media (max-width:960px){
  /* the reference's banner darkens behind its text; on narrow screens the copy sits over the towers */
  .hx-photo::after{display:block;content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,24,51,.62) 0%,rgba(5,24,51,.42) 45%,rgba(5,24,51,.08) 72%,rgba(5,24,51,0) 100%);mask-image:none;-webkit-mask-image:none;width:auto}
}

/* ==== Image quality pass (2026-10-26): curved edges are vector masks traced from the reference, so they
   stay sharp at any size; photos are served at 1440px or 2048px depending on screen density ==== */
/* Banner sizes come from one enhanced 3840px master (upscaled from the 1024px reference) */
.hx-photo{background-image:url('/img/home/hero-banner-1440.webp');background-image:image-set(url('/img/home/hero-banner-1440.webp') 1x,url('/img/home/hero-banner-2880.webp') 2x,url('/img/home/hero-banner-3840.webp') 3x)}
@media (min-width:1441px){.hx-photo{background-image:url('/img/home/hero-banner-2048.webp');background-image:image-set(url('/img/home/hero-banner-2048.webp') 1x,url('/img/home/hero-banner-3840.webp') 2x)}}
.hx-badge{background-image:url('/img/home/hero-badge.webp')}
:root[dir="rtl"] .hx-badge{background-image:url('/img/home/hero-badge-rtl.webp')}
@media (min-width:961px){
  .hx-photo{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 440' preserveAspectRatio='none'%3E%3Cpath d='M0 433.1C5.3 431.8 21.3 427.9 32.0 425.3C42.7 422.7 53.3 419.5 64.0 417.4C74.7 415.3 85.3 414.1 96.0 413.0C106.7 411.8 117.3 411.3 128.0 410.7C138.7 410.0 149.3 409.5 160.0 409.0C170.7 408.5 181.3 408.0 192.0 407.6C202.7 407.3 213.3 407.0 224.0 406.9C234.7 406.7 245.3 406.6 256.0 406.5C266.7 406.3 277.3 406.3 288.0 406.2C298.7 406.1 309.3 405.9 320.0 405.8C330.7 405.7 341.3 405.6 352.0 405.5C362.7 405.4 373.3 405.3 384.0 405.2C394.7 405.1 405.3 405.0 416.0 404.9C426.7 404.8 437.3 404.7 448.0 404.6C458.7 404.5 469.3 404.4 480.0 404.3C490.7 404.2 501.3 404.2 512.0 404.2C522.7 404.3 533.3 404.4 544.0 404.6C554.7 404.7 565.3 404.9 576.0 405.1C586.7 405.3 597.3 405.5 608.0 405.7C618.7 405.9 629.3 406.1 640.0 406.3C650.7 406.5 661.3 406.7 672.0 406.8C682.7 407.0 693.3 407.2 704.0 407.4C714.7 407.6 725.3 407.8 736.0 408.0C746.7 408.2 757.3 408.4 768.0 408.5C778.7 408.7 789.3 408.9 800.0 409.1C810.7 409.3 821.3 409.5 832.0 409.8C842.7 410.1 853.3 410.5 864.0 410.9C874.7 411.4 885.3 412.0 896.0 412.5C906.7 412.9 917.3 413.5 928.0 413.8C938.7 414.2 949.3 414.5 960.0 414.7C970.7 415.0 981.3 415.2 992.0 415.4C1002.7 415.5 1018.7 415.8 1024.0 415.8L1024 0L0 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 440' preserveAspectRatio='none'%3E%3Cpath d='M0 433.1C5.3 431.8 21.3 427.9 32.0 425.3C42.7 422.7 53.3 419.5 64.0 417.4C74.7 415.3 85.3 414.1 96.0 413.0C106.7 411.8 117.3 411.3 128.0 410.7C138.7 410.0 149.3 409.5 160.0 409.0C170.7 408.5 181.3 408.0 192.0 407.6C202.7 407.3 213.3 407.0 224.0 406.9C234.7 406.7 245.3 406.6 256.0 406.5C266.7 406.3 277.3 406.3 288.0 406.2C298.7 406.1 309.3 405.9 320.0 405.8C330.7 405.7 341.3 405.6 352.0 405.5C362.7 405.4 373.3 405.3 384.0 405.2C394.7 405.1 405.3 405.0 416.0 404.9C426.7 404.8 437.3 404.7 448.0 404.6C458.7 404.5 469.3 404.4 480.0 404.3C490.7 404.2 501.3 404.2 512.0 404.2C522.7 404.3 533.3 404.4 544.0 404.6C554.7 404.7 565.3 404.9 576.0 405.1C586.7 405.3 597.3 405.5 608.0 405.7C618.7 405.9 629.3 406.1 640.0 406.3C650.7 406.5 661.3 406.7 672.0 406.8C682.7 407.0 693.3 407.2 704.0 407.4C714.7 407.6 725.3 407.8 736.0 408.0C746.7 408.2 757.3 408.4 768.0 408.5C778.7 408.7 789.3 408.9 800.0 409.1C810.7 409.3 821.3 409.5 832.0 409.8C842.7 410.1 853.3 410.5 864.0 410.9C874.7 411.4 885.3 412.0 896.0 412.5C906.7 412.9 917.3 413.5 928.0 413.8C938.7 414.2 949.3 414.5 960.0 414.7C970.7 415.0 981.3 415.2 992.0 415.4C1002.7 415.5 1018.7 415.8 1024.0 415.8L1024 0L0 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
  :root[dir="rtl"] .hx-photo{transform:scaleX(-1)}
  .hx-popular,:root[dir="rtl"] .hx-popular{background-image:url('/img/home/popular-sea-1440.webp');background-image:image-set(url('/img/home/popular-sea-1440.webp') 1x,url('/img/home/popular-sea-2048.webp') 2x);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 240' preserveAspectRatio='none'%3E%3Cpath d='M0 6.5C5.3 6.3 21.3 5.8 32.0 5.5C42.7 5.2 53.3 5.0 64.0 5.0C74.7 5.0 85.3 5.1 96.0 5.2C106.7 5.4 117.3 5.7 128.0 6.0C138.7 6.3 149.3 6.8 160.0 7.2C170.7 7.7 181.3 8.2 192.0 8.8C202.7 9.2 213.3 9.7 224.0 10.2C234.7 10.8 245.3 11.4 256.0 12.0C266.7 12.6 277.3 13.3 288.0 14.0C298.7 14.7 309.3 15.5 320.0 16.2C330.7 17.0 341.3 17.9 352.0 18.5C362.7 19.1 373.3 19.6 384.0 20.0C394.7 20.4 405.3 20.6 416.0 20.8C426.7 20.9 437.3 21.0 448.0 21.0C458.7 21.0 469.3 21.0 480.0 21.0C490.7 21.0 501.3 20.9 512.0 20.8C522.7 20.6 533.3 20.3 544.0 20.0C554.7 19.7 565.3 19.3 576.0 19.0C586.7 18.7 597.3 18.3 608.0 18.0C618.7 17.7 629.3 17.3 640.0 17.0C650.7 16.7 661.3 16.3 672.0 16.0C682.7 15.7 693.3 15.4 704.0 15.2C714.7 15.1 725.3 15.0 736.0 15.0C746.7 15.0 757.3 15.0 768.0 15.0C778.7 15.0 789.3 15.0 800.0 15.0C810.7 15.0 821.3 15.1 832.0 15.2C842.7 15.4 853.3 15.7 864.0 16.0C874.7 16.3 885.3 16.7 896.0 17.0C906.7 17.3 917.3 17.7 928.0 18.0C938.7 18.3 949.3 18.7 960.0 19.0C970.7 19.3 981.3 19.6 992.0 19.8C1002.7 19.9 1018.7 20.0 1024.0 20.0L1024 240.0C1018.7 240.0 1002.7 240.0 992.0 240.0C981.3 240.0 970.7 240.0 960.0 240.0C949.3 240.0 938.7 240.0 928.0 240.0C917.3 240.0 906.7 240.0 896.0 240.0C885.3 240.0 874.7 240.0 864.0 240.0C853.3 240.0 842.7 240.0 832.0 240.0C821.3 240.0 810.7 240.0 800.0 240.0C789.3 240.0 778.7 240.0 768.0 240.0C757.3 240.0 746.7 240.0 736.0 240.0C725.3 240.0 714.7 240.0 704.0 240.0C693.3 240.0 682.7 240.0 672.0 240.0C661.3 240.0 650.7 240.0 640.0 240.0C629.3 240.0 618.7 240.0 608.0 240.0C597.3 240.0 586.7 240.0 576.0 240.0C565.3 240.0 554.7 240.0 544.0 240.0C533.3 240.0 522.7 240.0 512.0 240.0C501.3 240.0 490.7 240.0 480.0 240.0C469.3 240.0 458.7 240.0 448.0 240.0C437.3 240.0 426.7 240.0 416.0 240.0C405.3 240.0 394.7 240.2 384.0 240.0C373.3 239.8 362.7 239.8 352.0 238.8C341.3 237.7 330.7 236.2 320.0 234.0C309.3 231.8 298.7 228.6 288.0 225.8C277.3 223.0 266.7 219.7 256.0 217.0C245.3 214.4 234.7 212.0 224.0 210.1C213.3 208.1 202.7 206.6 192.0 205.4C181.3 204.2 170.7 203.3 160.0 202.8C149.3 202.3 138.7 202.1 128.0 202.4C117.3 202.6 106.7 203.3 96.0 204.4C85.3 205.5 74.7 207.0 64.0 209.0C53.3 211.0 42.7 214.2 32.0 216.6C21.3 219.0 5.3 222.4 0.0 223.6Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 240' preserveAspectRatio='none'%3E%3Cpath d='M0 6.5C5.3 6.3 21.3 5.8 32.0 5.5C42.7 5.2 53.3 5.0 64.0 5.0C74.7 5.0 85.3 5.1 96.0 5.2C106.7 5.4 117.3 5.7 128.0 6.0C138.7 6.3 149.3 6.8 160.0 7.2C170.7 7.7 181.3 8.2 192.0 8.8C202.7 9.2 213.3 9.7 224.0 10.2C234.7 10.8 245.3 11.4 256.0 12.0C266.7 12.6 277.3 13.3 288.0 14.0C298.7 14.7 309.3 15.5 320.0 16.2C330.7 17.0 341.3 17.9 352.0 18.5C362.7 19.1 373.3 19.6 384.0 20.0C394.7 20.4 405.3 20.6 416.0 20.8C426.7 20.9 437.3 21.0 448.0 21.0C458.7 21.0 469.3 21.0 480.0 21.0C490.7 21.0 501.3 20.9 512.0 20.8C522.7 20.6 533.3 20.3 544.0 20.0C554.7 19.7 565.3 19.3 576.0 19.0C586.7 18.7 597.3 18.3 608.0 18.0C618.7 17.7 629.3 17.3 640.0 17.0C650.7 16.7 661.3 16.3 672.0 16.0C682.7 15.7 693.3 15.4 704.0 15.2C714.7 15.1 725.3 15.0 736.0 15.0C746.7 15.0 757.3 15.0 768.0 15.0C778.7 15.0 789.3 15.0 800.0 15.0C810.7 15.0 821.3 15.1 832.0 15.2C842.7 15.4 853.3 15.7 864.0 16.0C874.7 16.3 885.3 16.7 896.0 17.0C906.7 17.3 917.3 17.7 928.0 18.0C938.7 18.3 949.3 18.7 960.0 19.0C970.7 19.3 981.3 19.6 992.0 19.8C1002.7 19.9 1018.7 20.0 1024.0 20.0L1024 240.0C1018.7 240.0 1002.7 240.0 992.0 240.0C981.3 240.0 970.7 240.0 960.0 240.0C949.3 240.0 938.7 240.0 928.0 240.0C917.3 240.0 906.7 240.0 896.0 240.0C885.3 240.0 874.7 240.0 864.0 240.0C853.3 240.0 842.7 240.0 832.0 240.0C821.3 240.0 810.7 240.0 800.0 240.0C789.3 240.0 778.7 240.0 768.0 240.0C757.3 240.0 746.7 240.0 736.0 240.0C725.3 240.0 714.7 240.0 704.0 240.0C693.3 240.0 682.7 240.0 672.0 240.0C661.3 240.0 650.7 240.0 640.0 240.0C629.3 240.0 618.7 240.0 608.0 240.0C597.3 240.0 586.7 240.0 576.0 240.0C565.3 240.0 554.7 240.0 544.0 240.0C533.3 240.0 522.7 240.0 512.0 240.0C501.3 240.0 490.7 240.0 480.0 240.0C469.3 240.0 458.7 240.0 448.0 240.0C437.3 240.0 426.7 240.0 416.0 240.0C405.3 240.0 394.7 240.2 384.0 240.0C373.3 239.8 362.7 239.8 352.0 238.8C341.3 237.7 330.7 236.2 320.0 234.0C309.3 231.8 298.7 228.6 288.0 225.8C277.3 223.0 266.7 219.7 256.0 217.0C245.3 214.4 234.7 212.0 224.0 210.1C213.3 208.1 202.7 206.6 192.0 205.4C181.3 204.2 170.7 203.3 160.0 202.8C149.3 202.3 138.7 202.1 128.0 202.4C117.3 202.6 106.7 203.3 96.0 204.4C85.3 205.5 74.7 207.0 64.0 209.0C53.3 211.0 42.7 214.2 32.0 216.6C21.3 219.0 5.3 222.4 0.0 223.6Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
  :root[dir="rtl"] .hx-popular{background-image:url('/img/home/popular-sea-1440-rtl.webp');background-image:image-set(url('/img/home/popular-sea-1440-rtl.webp') 1x,url('/img/home/popular-sea-2048-rtl.webp') 2x);transform:none}
}
@media (min-width:961px) and (min-width:1441px){
  .hx-popular{background-image:url('/img/home/popular-sea-2048.webp')}
  :root[dir="rtl"] .hx-popular{background-image:url('/img/home/popular-sea-2048-rtl.webp')}
}
@media (max-width:960px){
  /* A tall stacked band would stretch the 1024px texture 8x, so narrow screens get the band's sampled
     colours as a gradient, with the same traced wave edges top and bottom. */
  .hx-popular,:root[dir="rtl"] .hx-popular{background:linear-gradient(165deg,#023F5A 0%,#03506B 45%,#04667F 100%);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 40' preserveAspectRatio='none'%3E%3Cpath d='M0 6.5C5.3 6.3 21.3 5.8 32.0 5.5C42.7 5.2 53.3 5.0 64.0 5.0C74.7 5.0 85.3 5.1 96.0 5.2C106.7 5.4 117.3 5.7 128.0 6.0C138.7 6.3 149.3 6.8 160.0 7.2C170.7 7.7 181.3 8.2 192.0 8.8C202.7 9.2 213.3 9.7 224.0 10.2C234.7 10.8 245.3 11.4 256.0 12.0C266.7 12.6 277.3 13.3 288.0 14.0C298.7 14.7 309.3 15.5 320.0 16.2C330.7 17.0 341.3 17.9 352.0 18.5C362.7 19.1 373.3 19.6 384.0 20.0C394.7 20.4 405.3 20.6 416.0 20.8C426.7 20.9 437.3 21.0 448.0 21.0C458.7 21.0 469.3 21.0 480.0 21.0C490.7 21.0 501.3 20.9 512.0 20.8C522.7 20.6 533.3 20.3 544.0 20.0C554.7 19.7 565.3 19.3 576.0 19.0C586.7 18.7 597.3 18.3 608.0 18.0C618.7 17.7 629.3 17.3 640.0 17.0C650.7 16.7 661.3 16.3 672.0 16.0C682.7 15.7 693.3 15.4 704.0 15.2C714.7 15.1 725.3 15.0 736.0 15.0C746.7 15.0 757.3 15.0 768.0 15.0C778.7 15.0 789.3 15.0 800.0 15.0C810.7 15.0 821.3 15.1 832.0 15.2C842.7 15.4 853.3 15.7 864.0 16.0C874.7 16.3 885.3 16.7 896.0 17.0C906.7 17.3 917.3 17.7 928.0 18.0C938.7 18.3 949.3 18.7 960.0 19.0C970.7 19.3 981.3 19.6 992.0 19.8C1002.7 19.9 1018.7 20.0 1024.0 20.0L1024 40L0 40Z'/%3E%3C/svg%3E") top/100% 26px no-repeat,linear-gradient(#000 0 0) 0 25px/100% calc(100% - 50px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0L1024 0L1024 40.0C1018.7 40.0 1002.7 40.0 992.0 40.0C981.3 40.0 970.7 40.0 960.0 40.0C949.3 40.0 938.7 40.0 928.0 40.0C917.3 40.0 906.7 40.0 896.0 40.0C885.3 40.0 874.7 40.0 864.0 40.0C853.3 40.0 842.7 40.0 832.0 40.0C821.3 40.0 810.7 40.0 800.0 40.0C789.3 40.0 778.7 40.0 768.0 40.0C757.3 40.0 746.7 40.0 736.0 40.0C725.3 40.0 714.7 40.0 704.0 40.0C693.3 40.0 682.7 40.0 672.0 40.0C661.3 40.0 650.7 40.0 640.0 40.0C629.3 40.0 618.7 40.0 608.0 40.0C597.3 40.0 586.7 40.0 576.0 40.0C565.3 40.0 554.7 40.0 544.0 40.0C533.3 40.0 522.7 40.0 512.0 40.0C501.3 40.0 490.7 40.0 480.0 40.0C469.3 40.0 458.7 40.0 448.0 40.0C437.3 40.0 426.7 40.0 416.0 40.0C405.3 40.0 394.7 40.2 384.0 40.0C373.3 39.8 362.7 39.8 352.0 38.8C341.3 37.7 330.7 36.2 320.0 34.0C309.3 31.8 298.7 28.6 288.0 25.8C277.3 23.0 266.7 19.7 256.0 17.0C245.3 14.4 234.7 12.0 224.0 10.1C213.3 8.1 202.7 6.6 192.0 5.4C181.3 4.2 170.7 3.3 160.0 2.8C149.3 2.3 138.7 2.1 128.0 2.4C117.3 2.6 106.7 3.3 96.0 4.4C85.3 5.5 74.7 7.0 64.0 9.0C53.3 11.0 42.7 14.2 32.0 16.6C21.3 19.0 5.3 22.4 0.0 23.6Z'/%3E%3C/svg%3E") bottom/100% 26px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 40' preserveAspectRatio='none'%3E%3Cpath d='M0 6.5C5.3 6.3 21.3 5.8 32.0 5.5C42.7 5.2 53.3 5.0 64.0 5.0C74.7 5.0 85.3 5.1 96.0 5.2C106.7 5.4 117.3 5.7 128.0 6.0C138.7 6.3 149.3 6.8 160.0 7.2C170.7 7.7 181.3 8.2 192.0 8.8C202.7 9.2 213.3 9.7 224.0 10.2C234.7 10.8 245.3 11.4 256.0 12.0C266.7 12.6 277.3 13.3 288.0 14.0C298.7 14.7 309.3 15.5 320.0 16.2C330.7 17.0 341.3 17.9 352.0 18.5C362.7 19.1 373.3 19.6 384.0 20.0C394.7 20.4 405.3 20.6 416.0 20.8C426.7 20.9 437.3 21.0 448.0 21.0C458.7 21.0 469.3 21.0 480.0 21.0C490.7 21.0 501.3 20.9 512.0 20.8C522.7 20.6 533.3 20.3 544.0 20.0C554.7 19.7 565.3 19.3 576.0 19.0C586.7 18.7 597.3 18.3 608.0 18.0C618.7 17.7 629.3 17.3 640.0 17.0C650.7 16.7 661.3 16.3 672.0 16.0C682.7 15.7 693.3 15.4 704.0 15.2C714.7 15.1 725.3 15.0 736.0 15.0C746.7 15.0 757.3 15.0 768.0 15.0C778.7 15.0 789.3 15.0 800.0 15.0C810.7 15.0 821.3 15.1 832.0 15.2C842.7 15.4 853.3 15.7 864.0 16.0C874.7 16.3 885.3 16.7 896.0 17.0C906.7 17.3 917.3 17.7 928.0 18.0C938.7 18.3 949.3 18.7 960.0 19.0C970.7 19.3 981.3 19.6 992.0 19.8C1002.7 19.9 1018.7 20.0 1024.0 20.0L1024 40L0 40Z'/%3E%3C/svg%3E") top/100% 26px no-repeat,linear-gradient(#000 0 0) 0 25px/100% calc(100% - 50px) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0L1024 0L1024 40.0C1018.7 40.0 1002.7 40.0 992.0 40.0C981.3 40.0 970.7 40.0 960.0 40.0C949.3 40.0 938.7 40.0 928.0 40.0C917.3 40.0 906.7 40.0 896.0 40.0C885.3 40.0 874.7 40.0 864.0 40.0C853.3 40.0 842.7 40.0 832.0 40.0C821.3 40.0 810.7 40.0 800.0 40.0C789.3 40.0 778.7 40.0 768.0 40.0C757.3 40.0 746.7 40.0 736.0 40.0C725.3 40.0 714.7 40.0 704.0 40.0C693.3 40.0 682.7 40.0 672.0 40.0C661.3 40.0 650.7 40.0 640.0 40.0C629.3 40.0 618.7 40.0 608.0 40.0C597.3 40.0 586.7 40.0 576.0 40.0C565.3 40.0 554.7 40.0 544.0 40.0C533.3 40.0 522.7 40.0 512.0 40.0C501.3 40.0 490.7 40.0 480.0 40.0C469.3 40.0 458.7 40.0 448.0 40.0C437.3 40.0 426.7 40.0 416.0 40.0C405.3 40.0 394.7 40.2 384.0 40.0C373.3 39.8 362.7 39.8 352.0 38.8C341.3 37.7 330.7 36.2 320.0 34.0C309.3 31.8 298.7 28.6 288.0 25.8C277.3 23.0 266.7 19.7 256.0 17.0C245.3 14.4 234.7 12.0 224.0 10.1C213.3 8.1 202.7 6.6 192.0 5.4C181.3 4.2 170.7 3.3 160.0 2.8C149.3 2.3 138.7 2.1 128.0 2.4C117.3 2.6 106.7 3.3 96.0 4.4C85.3 5.5 74.7 7.0 64.0 9.0C53.3 11.0 42.7 14.2 32.0 16.6C21.3 19.0 5.3 22.4 0.0 23.6Z'/%3E%3C/svg%3E") bottom/100% 26px no-repeat}
}
