/* Nirvana Boutique Suites — statisk utgave.
   Palett hentet fra hotellets eget theme.json, ikke oppfunnet her. */
:root {
  --base:#FAF7F2; --surface:#F1EADE; --raised:#FFFFFF;
  --contrast:#26241F; --muted:#6E6A60;
  --primary:#7C8B6F; --accent:#B08D57; --line:#E2D8C8;
  --shadow:0 1px 2px rgba(38,36,31,.04), 0 8px 24px rgba(38,36,31,.06);
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --thai:"Noto Sans Thai","Sarabun","Leelawadee UI",Thonburi,var(--sans);
  --measure:64ch; --pad:clamp(1.25rem,4vw,3rem);
}
@media (prefers-color-scheme: dark) {
  :root {
    --base:#1A1815; --surface:#24211C; --raised:#2B2823;
    --contrast:#F0EBE2; --muted:#9C968A;
    --primary:#93A383; --accent:#C9A46B; --line:#3A362F;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{--base:#1A1815;--surface:#24211C;--raised:#2B2823;--contrast:#F0EBE2;--muted:#9C968A;--primary:#93A383;--accent:#C9A46B;--line:#3A362F;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35)}
:root[data-theme="light"]{--base:#FAF7F2;--surface:#F1EADE;--raised:#FFFFFF;--contrast:#26241F;--muted:#6E6A60;--primary:#7C8B6F;--accent:#B08D57;--line:#E2D8C8;--shadow:0 1px 2px rgba(38,36,31,.04),0 8px 24px rgba(38,36,31,.06)}

*{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--contrast);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
/* Thai brytes ikke pa mellomrom — uten dette deles ord midt i. */
html[lang="th"] body{font-family:var(--thai);word-break:break-word;line-height:1.8}
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3{font-family:var(--thai)}

h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.14;letter-spacing:-.015em}
h2{font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.22}
h3{font-size:1.18rem;line-height:1.32}
p{margin:0;max-width:var(--measure)}
ul{margin:0;padding-left:1.15rem;max-width:var(--measure)}
li{margin-bottom:.3rem}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.wrap{width:min(1140px,100% - calc(var(--pad)*2));margin-inline:auto}
section{padding-block:clamp(3rem,7vw,5.5rem)}
.stack{display:grid;gap:1rem}
.eyebrow{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0}

/* topplinje */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--base) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar-inner{display:flex;align-items:center;gap:1rem;padding-block:.8rem;flex-wrap:wrap}
.brand{font-family:var(--serif);font-size:1.05rem;text-decoration:none}
.brand span{color:var(--accent)}
.mainnav{display:flex;gap:.15rem;margin-left:auto;flex-wrap:wrap}
.mainnav a{font-size:.88rem;text-decoration:none;color:var(--muted);padding:.35rem .6rem;border-radius:3px}
.mainnav a:hover{color:var(--contrast);background:var(--surface)}
.mainnav a[aria-current="page"]{color:var(--contrast);font-weight:600}
.langs{display:flex;gap:.2rem;border-left:1px solid var(--line);padding-left:.8rem;margin-left:.3rem}
.langs a{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:.3rem .5rem;border-radius:3px}
.langs a[aria-current="true"]{color:var(--contrast);background:var(--surface)}

/* hero */
.hero{position:relative;min-height:min(74vh,600px);display:grid;align-items:end}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.15),rgba(20,18,15,.72))}
.hero-content{position:relative;z-index:2;color:#FBF8F3;padding-block:clamp(2.5rem,6vw,4.5rem)}
.hero-content h1{color:#FBF8F3;margin-block:.5rem .9rem}
.hero-content p{color:rgba(251,248,243,.92);font-size:1.06rem}
.hero .eyebrow{color:#D9BE8B}

.page-head{background:var(--surface);border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem)}

.btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.btn{font-size:.94rem;text-decoration:none;padding:.78rem 1.45rem;border-radius:2px;border:1px solid transparent;display:inline-flex;align-items:center;gap:.5rem;transition:transform .15s ease}
.btn-primary{background:var(--accent);color:#1E1B16;font-weight:600}
.btn-ghost{border-color:rgba(251,248,243,.45);color:#FBF8F3}
.btn-outline{border-color:var(--line);color:var(--contrast);background:var(--raised)}
.btn:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}

.grid{display:grid;gap:1.5rem}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr))}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr))}

.feature{background:var(--raised);border:1px solid var(--line);padding:1.35rem;border-radius:3px}
.feature .ic{font-size:1.45rem;line-height:1;margin-bottom:.55rem}
.feature p{font-size:.93rem;color:var(--muted)}

/* rom */
.room{background:var(--raised);border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.room img{aspect-ratio:4/3;object-fit:cover;width:100%}
.room-body{padding:1.2rem 1.3rem 1.45rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.room-size{font-size:.77rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.room-desc{font-size:.93rem;color:var(--muted);flex:1}
.room-price{font-family:var(--serif);font-size:1.35rem;color:var(--primary);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.4rem}
.room-price small{font-family:var(--sans);font-size:.77rem;color:var(--muted)}

.split{display:grid;gap:2.4rem;align-items:center}
@media (min-width:860px){.split{grid-template-columns:1.05fr .95fr}}
.split img{border-radius:3px;box-shadow:var(--shadow)}

table.prices{width:100%;border-collapse:collapse;font-size:.95rem;max-width:640px}
table.prices th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:.55rem 0;border-bottom:1px solid var(--line)}
table.prices td{padding:.75rem 0;border-bottom:1px solid var(--line)}
table.prices td.p{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--serif);color:var(--primary);font-size:1.1rem}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:.6rem}
.gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:2px;width:100%}

.contact-line{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.95rem}
blockquote{margin:0;padding:1.4rem;background:var(--raised);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:3px;font-family:var(--serif);font-size:1rem;line-height:1.55}

.cta{background:var(--contrast);color:var(--base);text-align:center}
.cta h2{color:var(--base)}
.cta p{color:color-mix(in srgb,var(--base) 78%,transparent);margin-inline:auto}
.cta .btn-ghost{border-color:color-mix(in srgb,var(--base) 45%,transparent);color:var(--base)}

footer{border-top:1px solid var(--line);padding-block:2.4rem;font-size:.9rem;color:var(--muted)}
footer .fgrid{display:grid;gap:1.2rem}
@media (min-width:700px){footer .fgrid{grid-template-columns:1.4fr 1fr}}
