/*
Theme Name: Nasma Homes
Theme URI: http://localhost/nasma3
Author: Nasma Homes
Description: Bright coastal theme for Nasma Homes furnished serviced residences — ocean-blue & teal palette, glassmorphism, hero slider, city/bedroom navigation, booking manager and RateTiger hand-off.
Version: 2.0.0
Text Domain: nasma-homes
*/

/* ===========================================================================
   Design tokens — coastal / vacation palette
   ======================================================================== */
:root{
  /* brand */
  --c-blue:#0e6ba8;   --c-blue-d:#0a4d74;  --c-blue-l:#2ba6e0;
  --c-teal:#10b59f;   --c-teal-d:#0c8f7e;
  --c-coral:#ff7a59;  --c-sun:#ffb347;
  --grad:linear-gradient(135deg,var(--c-blue),var(--c-teal));
  --grad-hero:linear-gradient(118deg,rgba(7,45,68,.88),rgba(11,79,110,.55) 46%,rgba(16,181,159,.30));
  --grad-deep:linear-gradient(135deg,#082e44,#0a4d74 55%,#0c8f7e);

  /* surfaces */
  --bg:#ffffff; --surface:#f1f8fc; --surface-2:#e6f2f8; --navy:#082e44;
  --text:#0f3950; --muted:#5d7a8c; --line:rgba(15,57,80,.12); --line-2:rgba(15,57,80,.20);
  --shadow:0 24px 50px -28px rgba(8,46,68,.45);
  --shadow-sm:0 10px 30px -16px rgba(8,46,68,.35);
  --glass:rgba(255,255,255,.72);
  --maxw:1200px; --r:18px;

  /* legacy aliases consumed by the plugin's booking.css */
  --nasma-ink:#ffffff; --nasma-ink-2:#ffffff; --nasma-line:var(--line); --nasma-line-2:var(--line-2);
  --nasma-gold:var(--c-blue); --nasma-gold-2:var(--c-teal);
  --nasma-text:var(--text); --nasma-muted:var(--muted);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.nasma{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:var(--c-blue)}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em;color:var(--text)}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;font-family:'Inter';font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--c-teal-d);font-weight:600;margin-bottom:14px}
.section{padding:96px 0}
.section--tight{padding:64px 0}
.section--mist{background:var(--surface)}
.lead{color:var(--muted);font-size:1.12rem;max-width:680px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}

/* ===========================================================================
   Buttons
   ======================================================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;text-decoration:none;
  font-weight:700;letter-spacing:.01em;padding:15px 30px;border-radius:999px;border:1px solid transparent;
  font-size:.96rem;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease}
.btn--gold{background:var(--grad);color:#fff;box-shadow:0 12px 26px -12px rgba(14,107,168,.6)}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 18px 34px -12px rgba(16,181,159,.6);color:#fff}
.btn--ghost{background:rgba(255,255,255,.85);border-color:var(--line-2);color:var(--c-blue-d);backdrop-filter:blur(6px)}
.btn--ghost:hover{border-color:var(--c-teal);color:var(--c-teal-d)}
.btn--sm{padding:10px 18px;font-size:.85rem}
.btn--block{width:100%}

/* ===========================================================================
   Header / nav
   ======================================================================== */
.topbar{background:var(--navy);color:#bfe0ef;font-size:.8rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:40px;gap:16px}
.topbar a{color:#bfe0ef;text-decoration:none}.topbar a:hover{color:#fff}
.topbar__right{display:flex;gap:20px}

.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);transition:background .3s ease,box-shadow .3s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 6px 24px -16px rgba(8,46,68,.4)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;height:112px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}
.brand__name{font-family:'Fraunces',serif;font-size:1.5rem;letter-spacing:.02em}
.brand__name b{color:var(--c-teal-d);font-weight:600}

.nav{display:flex;align-items:center;gap:26px}
.nav__menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nav__menu>li>a{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;
  font-size:.94rem;font-weight:500;padding:10px 14px;border-radius:10px;transition:color .2s ease,background .2s ease}
.nav__menu>li>a:hover{color:var(--c-teal-d);background:var(--surface)}
.nav__caret{font-size:.6rem;opacity:.8}

/* Mega menu */
.nav__has-mega{position:relative}
.mega{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%) translateY(10px);
  width:min(720px,90vw);background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);padding:26px;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease;z-index:90}
.nav__has-mega:hover .mega,.nav__has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.mega__inner{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:24px}
.mega__city{display:block;font-family:'Fraunces',serif;font-size:1.15rem;color:var(--c-blue-d);text-decoration:none;
  margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mega__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mega__col ul a{display:block;color:var(--text);text-decoration:none;padding:8px 10px;border-radius:8px;font-size:.92rem;transition:background .18s ease,color .18s ease}
.mega__col ul a:hover{background:var(--surface);color:var(--c-teal-d)}
.mega__feature{background:var(--grad);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;justify-content:center;color:#fff}
.mega__feature-k{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.mega__feature strong{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:500;color:#fff}
.mega__feature .btn{margin-top:8px;align-self:flex-start;background:#fff;color:var(--c-blue-d)}

.brand img,.custom-logo{max-height:74px!important;width:auto!important;height:auto!important}
.site-header .brand img,.site-header .custom-logo{max-height:98px!important}
.custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.brand--logo{display:inline-flex;align-items:center;line-height:0}
@media(max-width:600px){.site-header .brand img,.site-header .custom-logo{max-height:64px!important}}

/* Mobile nav */
.nav-toggle{display:none;background:none;border:1px solid var(--line-2);color:var(--text);width:46px;height:42px;border-radius:10px;cursor:pointer;font-size:1.2rem}
@media(max-width:980px){
  .nav .btn--gold{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav__menu{position:fixed;inset:112px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-bottom:1px solid var(--line);padding:10px 16px 24px;max-height:0;overflow:hidden;transition:max-height .35s ease}
  body.nav-open .nav__menu{max-height:90vh;overflow:auto}
  .nav__menu>li>a{padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0}
  .mega{position:static;width:auto;transform:none;opacity:1;visibility:visible;box-shadow:none;background:var(--surface);margin:8px 0;padding:16px}
  .mega__inner{grid-template-columns:1fr;gap:16px}.mega__feature{display:none}
}

/* ===========================================================================
   Hero slider
   ======================================================================== */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden}
.hero__slides{position:absolute;inset:0;background:var(--navy)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease,transform 7s ease;transform:scale(1.08)}
.hero__slide.is-active{opacity:1;transform:scale(1)}
.hero__slide::after{content:"";position:absolute;inset:0;background:var(--grad-hero)}
.hero__slide img{width:100%;height:100%;object-fit:cover}
.hero__inner{position:relative;z-index:2;max-width:820px}
.hero .eyebrow{color:#9af0dd}
.hero h1{margin-bottom:18px;color:#fff}
.hero h1 em{font-style:italic;color:#7ff0d8}
.hero__sub{font-size:1.2rem;color:#e3f1f7;max-width:560px;margin-bottom:26px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__dots{position:absolute;bottom:120px;left:0;right:0;z-index:3;display:flex;gap:10px;justify-content:center}
.hero__dots button{width:34px;height:4px;border-radius:999px;border:none;background:rgba(255,255,255,.4);cursor:pointer;transition:background .3s}
.hero__dots button.is-active{background:#7ff0d8}

/* Quick search — glass card straddling the hero */
.quicksearch{position:relative;z-index:4;margin-top:-54px}
.quicksearch__card{background:var(--glass);border:1px solid rgba(255,255,255,.6);border-radius:20px;
  box-shadow:var(--shadow);padding:20px;display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;backdrop-filter:blur(18px) saturate(140%)}
.quicksearch__group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}
.quicksearch__group label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.quicksearch select,.quicksearch input{background:#fff;color:var(--text);border:1px solid var(--line-2);border-radius:12px;padding:13px 14px;font-size:.95rem;width:100%}
.quicksearch select:focus,.quicksearch input:focus{outline:none;border-color:var(--c-teal)}
.quicksearch .btn{height:48px}

/* ===========================================================================
   Stats / features
   ======================================================================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:8px 0}
.stat{text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 16px;box-shadow:var(--shadow-sm)}
.stat__n{font-family:'Fraunces',serif;font-size:2.6rem;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat__l{color:var(--muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr;gap:16px}}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;transition:border-color .3s,transform .3s,box-shadow .3s;box-shadow:var(--shadow-sm)}
.feature:hover{border-color:rgba(16,181,159,.5);transform:translateY(-5px);box-shadow:var(--shadow)}
.feature__ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;font-size:1.5rem;background:var(--surface-2);border:1px solid var(--line)}
.feature h3{font-size:1.3rem;margin-bottom:8px}
.feature p{color:var(--muted);margin:0}
@media(max-width:860px){.features{grid-template-columns:1fr}}

.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;flex-wrap:wrap}
.sec-head p{margin:6px 0 0;color:var(--muted)}

/* City split */
.cities{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.citycard{position:relative;border-radius:20px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;border:1px solid var(--line);text-decoration:none;color:#fff;box-shadow:var(--shadow-sm)}
.citycard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.citycard:hover img{transform:scale(1.08)}
.citycard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,46,68,.9),rgba(10,79,110,.15) 70%)}
.citycard__body{position:relative;z-index:2;padding:30px}
.citycard__body h3{font-size:2rem;margin-bottom:6px;color:#fff}
.citycard__body span{color:#7ff0d8;font-size:.9rem;letter-spacing:.04em}
@media(max-width:760px){.cities{grid-template-columns:1fr}}

/* CTA band */
.cta{background:var(--grad-deep);border-radius:24px;padding:60px 50px;text-align:center;position:relative;overflow:hidden;color:#fff}
.cta::before{content:"";position:absolute;top:-40%;right:-10%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(127,240,216,.3),transparent 70%)}
.cta h2{margin-bottom:14px;position:relative;color:#fff}
.cta .lead{margin:0 auto 26px;position:relative;color:#dff3f8}
.cta .btn--gold{background:#fff;color:var(--c-blue-d)}

/* ===========================================================================
   Single residence
   ======================================================================== */
.unit-hero{padding:34px 0 0}
.unit-breadcrumb{color:var(--muted);font-size:.85rem;margin-bottom:14px}
.unit-breadcrumb a{color:var(--muted);text-decoration:none}.unit-breadcrumb a:hover{color:var(--c-teal-d)}
.unit-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.unit-title-row h1{font-size:clamp(2rem,4vw,3.2rem);margin:0}
.unit-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.unit-tag{font-size:.8rem;border:1px solid var(--line-2);color:var(--text);padding:6px 13px;border-radius:999px;background:#fff}
.unit-tag--gold{border-color:var(--c-teal);color:var(--c-teal-d);background:var(--surface)}

/* ---- Photo slider ---- */
.pgallery{margin-bottom:46px}
.pgallery__main{position:relative;border-radius:20px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow);aspect-ratio:16/9}
.pgallery__track{display:flex;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.pgallery__track>div{min-width:100%;height:100%}
.pgallery__track img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.pgallery--ph{aspect-ratio:16/9;background:linear-gradient(135deg,#cfe6f1,#e7f2f8 60%,#d6f0ea);border-radius:20px}
.pg-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:50px;height:50px;border-radius:50%;
  border:none;background:rgba(255,255,255,.92);color:var(--c-blue-d);font-size:1.4rem;cursor:pointer;display:grid;place-items:center;
  box-shadow:var(--shadow-sm);transition:background .2s,transform .2s}
.pg-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.07)}
.pg-arrow--prev{left:16px}.pg-arrow--next{right:16px}
.pg-counter{position:absolute;bottom:16px;right:16px;z-index:3;background:rgba(8,46,68,.7);color:#fff;font-size:.8rem;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.pgallery__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.pgallery__thumbs button{flex:0 0 auto;width:104px;height:74px;border-radius:12px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:none;opacity:.6;transition:opacity .2s,border-color .2s}
.pgallery__thumbs button.is-active{opacity:1;border-color:var(--c-teal)}
.pgallery__thumbs img{width:100%;height:100%;object-fit:cover}

.unit-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:46px;align-items:start}
@media(max-width:900px){.unit-layout{grid-template-columns:1fr}}
.unit-body h2{font-size:1.7rem;margin-top:0}
.unit-body p{color:#3c5e70}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 36px}
.spec{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.spec span{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.spec strong{font-size:1.05rem;color:var(--text)}
@media(max-width:560px){.specs{grid-template-columns:1fr 1fr}}
.amenities{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;margin:18px 0 0;list-style:none;padding:0}
.amenities li{position:relative;padding-left:28px;color:#3c5e70}
.amenities li::before{content:"✓";position:absolute;left:0;color:#fff;font-weight:700;font-size:.7rem;width:18px;height:18px;border-radius:50%;background:var(--grad);display:grid;place-items:center;top:3px}

/* Lightbox */
.nz-lightbox{position:fixed;inset:0;background:rgba(8,28,42,.94);z-index:200;display:none;align-items:center;justify-content:center;padding:30px}
.nz-lightbox.is-open{display:flex}
.nz-lightbox img{max-width:92vw;max-height:88vh;border-radius:10px}
.nz-lightbox__close{position:absolute;top:22px;right:30px;color:#fff;font-size:2rem;background:none;border:none;cursor:pointer}

/* ===========================================================================
   Page / About / Contact
   ======================================================================== */
.page-hero{padding:120px 0 50px;border-bottom:1px solid var(--line);text-align:center;background:var(--surface)}
.page-body{padding:60px 0 96px}
.prose{max-width:780px;margin:0 auto}
.prose p{color:#3c5e70;line-height:1.8;margin:0 0 1.1em}
.prose h2{font-family:'Fraunces',serif;font-size:1.5rem;margin:1.7em 0 .5em;color:var(--text)}
.prose h3{font-family:'Fraunces',serif;font-size:1.2rem;margin:1.4em 0 .4em;color:var(--text)}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em;color:#3c5e70}
.prose li{margin:.45em 0;line-height:1.7}
.prose a{color:var(--c-blue);text-decoration:underline}
.prose a:hover{color:var(--c-teal-d)}

/* Single article */
.article-title{font-size:clamp(2rem,4vw,3rem);margin:.2em 0 .3em}
.post-meta{color:var(--muted);font-size:.9rem;margin:0}
.post-hero-img img{width:100%;border-radius:18px;box-shadow:var(--shadow);margin:18px 0 10px;aspect-ratio:16/9;object-fit:cover}
.post-content{margin-top:26px}
.post-content p{color:#3c5e70;font-size:1.06rem;line-height:1.8;margin:0 0 1.1em}
.post-content h2{font-family:'Fraunces',serif;font-size:1.6rem;margin:1.6em 0 .5em;color:var(--text)}
.post-content h3{font-family:'Fraunces',serif;font-size:1.28rem;margin:1.4em 0 .4em;color:var(--text)}
.post-content ul,.post-content ol{margin:0 0 1.2em;padding-left:1.3em;color:#3c5e70}
.post-content li{margin:.45em 0;line-height:1.7}
.post-content a{color:var(--c-blue);text-decoration:underline}
.post-content a:hover{color:var(--c-teal-d)}
.article-foot{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 0;border-top:1px solid var(--line);padding-top:26px}
.article-related-h{font-size:1.5rem;margin:48px 0 22px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:820px){.split{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow-sm)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.field input,.field textarea{background:#fff;color:var(--text);border:1px solid var(--line-2);border-radius:10px;padding:13px 14px;font:inherit}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--c-teal)}

/* ===========================================================================
   Footer
   ======================================================================== */
.site-footer{background:var(--grad-deep);color:#cfe6f1;padding:64px 0 30px;margin-top:40px}
.site-footer .custom-logo{filter:brightness(0) invert(1)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.footer-grid h4{font-family:'Inter';font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#7ff0d8;margin-bottom:16px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.footer-grid a{color:#cfe6f1;text-decoration:none;font-size:.93rem}.footer-grid a:hover{color:#fff}
.footer-brand p{color:#aed3e3;max-width:300px;font-size:.93rem}
.footer-slogan{font-family:'Fraunces',serif!important;font-style:italic;color:#7ff0d8!important;font-size:1.1rem!important;margin:0 0 10px!important;max-width:none!important}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);margin-top:44px;padding-top:22px;color:#aed3e3;font-size:.84rem}
.footer-credit{display:inline-flex;align-items:center;gap:8px}
.footer-credit a{display:inline-flex;align-items:center;color:#fff;font-weight:600;text-decoration:none}
.footer-credit a:hover{color:#7ff0d8}
.footer-credit .codex-logo{height:30px;width:auto;display:block}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}

/* ===========================================================================
   New sections: trust bar, why-choose, location, nearby, journal
   ======================================================================== */
.trustbar{display:flex;flex-wrap:nowrap;justify-content:center;gap:10px}
.trust{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:9px 15px;font-size:.8rem;font-weight:600;color:var(--text);box-shadow:var(--shadow-sm);white-space:nowrap}
.trust__ic{font-size:.95rem}
@media(max-width:900px){.trustbar{flex-wrap:wrap}}

.whychoose{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:center}
@media(max-width:860px){.whychoose{grid-template-columns:1fr;gap:30px}}
.whychoose__media img{width:100%;border-radius:20px;box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}
.whychoose__panel{aspect-ratio:4/5;border-radius:20px;background:var(--grad-deep);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow)}
.whychoose__big{font-family:'Fraunces',serif;font-size:3.4rem;color:#7ff0d8}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0 28px}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}}
.why{display:flex;gap:14px;align-items:flex-start}
.why__ic{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;background:var(--surface-2);border:1px solid var(--line)}
.why strong{display:block;margin-bottom:3px}
.why p{margin:0;color:var(--muted);font-size:.92rem}

.locgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}
@media(max-width:820px){.locgrid{grid-template-columns:1fr}}
.locgrid h2{font-size:1.6rem}
.mapwrap{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);margin-bottom:14px}
.mapwrap iframe{width:100%;height:340px;border:0;display:block}
.nearby{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.nearby li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px}
.nearby__name{font-weight:600;color:var(--text)}
.nearby__cat{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-teal-d);background:var(--surface);border-radius:999px;padding:4px 10px}

/* cards inside a slider track */
.nasma-rvslider__track .nasma-card{flex:0 0 calc(33.333% - 15px);min-width:300px;scroll-snap-align:start}
@media(max-width:980px){.nasma-rvslider__track .nasma-card{flex:0 0 calc(50% - 11px)}}
@media(max-width:640px){.nasma-rvslider__track .nasma-card{flex:0 0 88%}}

/* ---- Expanding image gallery (hover to grow) ---- */
.expandgallery{display:flex;align-items:stretch;gap:10px;height:440px}
.expandgallery__item{position:relative;flex:1 1 0;min-width:0;border-radius:16px;overflow:hidden;cursor:pointer;
  text-decoration:none;transition:flex-grow .5s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}
.expandgallery__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.expandgallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,46,68,.85),rgba(8,46,68,.05) 55%);opacity:.85;transition:opacity .4s ease}
.expandgallery:hover .expandgallery__item{flex-grow:.6}
.expandgallery .expandgallery__item:hover{flex-grow:5}
.expandgallery__item:hover img{transform:scale(1.05)}
.expandgallery__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px;color:#fff;
  transform:translateY(8px);opacity:0;transition:opacity .4s ease,transform .4s ease}
.expandgallery__item:hover .expandgallery__cap{opacity:1;transform:none}
.expandgallery__cap .city{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#7ff0d8}
.expandgallery__cap h3{font-family:'Fraunces',serif;font-size:1.25rem;margin:4px 0 2px;color:#fff;white-space:nowrap}
.expandgallery__cap .price{font-size:.9rem;color:#dff3f8}
@media(max-width:760px){
  .expandgallery{flex-wrap:wrap;height:auto}
  .expandgallery__item{flex:1 1 45%;height:200px}
  .expandgallery:hover .expandgallery__item,.expandgallery .expandgallery__item:hover{flex-grow:1}
  .expandgallery__cap{opacity:1;transform:none;padding:14px}
  .expandgallery__cap h3{font-size:1.05rem}
}

/* ---- Parallax fixed-image band ---- */
.parallax{position:relative;min-height:460px;display:flex;align-items:center;
  background-size:cover;background-position:center;background-attachment:fixed}
.parallax::before{content:"";position:absolute;inset:0;background:var(--grad-hero)}
.parallax__inner{position:relative;z-index:2;max-width:640px;color:#fff}
.parallax__inner h2{color:#fff}
.parallax__inner .eyebrow{color:#9af0dd}
.parallax__inner p{color:#e3f1f7;font-size:1.1rem;margin-bottom:24px}
@media(max-width:900px){.parallax{background-attachment:scroll}}

.post-date{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--c-teal-d);font-weight:600}
.readmore{color:var(--c-blue-d);font-weight:600;text-decoration:none}
.readmore:hover{color:var(--c-teal-d)}

/* ---- Mobile polish ---- */
@media(max-width:600px){
  .container{padding:0 18px}
  .site-header .container{height:88px}
  .nav__menu{top:88px}
  .topbar{font-size:.74rem}
  .topbar .container{justify-content:center;height:auto;padding:7px 18px}
  .topbar .container>span{display:none}              /* hide tagline, keep contact */
  .topbar__right{gap:18px}
  .section{padding:64px 0}
  .section--tight{padding:48px 0}
}

/* ---- Cookie consent banner ---- */
.nz-cookie{position:fixed;left:50%;bottom:18px;transform:translate(-50%,20px);z-index:120;width:min(720px,calc(100% - 32px));
  background:rgba(12,30,44,.96);color:#eaf4f9;border:1px solid rgba(255,255,255,.16);border-radius:16px;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.6);backdrop-filter:blur(10px);
  display:flex;align-items:center;gap:18px;padding:16px 20px;opacity:0;transition:opacity .35s ease,transform .35s ease}
.nz-cookie.is-in{opacity:1;transform:translate(-50%,0)}
.nz-cookie[hidden]{display:none}
.nz-cookie__text{margin:0;font-size:.9rem;line-height:1.5;flex:1}
.nz-cookie__text a{color:#7ff0d8;text-decoration:underline}
.nz-cookie__btns{display:flex;gap:10px;flex:0 0 auto}
.nz-cookie .btn--ghost{background:transparent;color:#eaf4f9;border-color:rgba(255,255,255,.3)}
.nz-cookie .btn--ghost:hover{border-color:#7ff0d8;color:#7ff0d8}
@media(max-width:560px){.nz-cookie{flex-direction:column;align-items:stretch;text-align:center}.nz-cookie__btns{justify-content:center}}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero__slide{transition:opacity .4s ease;transform:none}
  *{scroll-behavior:auto!important}
}
