/* NOKK — base layout for generated item landings (land lots, accessories, services). */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:#0c0e0d; color:var(--nk-ink);
  font-family:var(--nk-sans); line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
.wrap{max-width:1040px; margin:0 auto; padding:0 20px}

/* hero */
.hero{position:relative; min-height:82vh; display:flex; align-items:flex-end; overflow:hidden}
.hero img.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.hero:after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,10,9,.55) 0%,rgba(8,10,9,.15) 40%,rgba(8,10,9,.92) 100%)}
.hero .wrap{position:relative; z-index:2; padding-bottom:52px; padding-top:96px}
.eyebrow{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--nk-accent); font-weight:700}
.hero h1{font-family:var(--nk-serif); font-weight:500; font-size:clamp(34px,6vw,64px); line-height:1.05; margin:12px 0 10px}
.hero .loc{color:rgba(244,241,234,.72); font-size:15px}
.price{font-family:var(--nk-serif); font-size:clamp(26px,4vw,40px); margin-top:14px; color:#fff}
.price small{font-family:var(--nk-sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,241,234,.6); display:block; margin-bottom:2px}

/* chips */
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px}
.chip{font-size:12px; letter-spacing:.04em; padding:7px 13px; border-radius:999px;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); color:#f4f1ea}

/* blocks */
.block{padding:58px 0; border-top:1px solid rgba(255,255,255,.08)}
.block h2{font-family:var(--nk-serif); font-weight:500; font-size:clamp(24px,3.6vw,36px); margin:0 0 18px}
.block p{color:rgba(244,241,234,.8); margin:0 0 14px; font-size:16px}
.facts{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin-top:22px}
.fact{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:16px}
.fact b{display:block; font-family:var(--nk-serif); font-size:22px; font-weight:500}
.fact span{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,241,234,.55)}
.hl-list{list-style:none; padding:0; margin:20px 0 0; display:grid; gap:10px}
.hl-list li{display:flex; gap:10px; align-items:flex-start; color:rgba(244,241,234,.82); font-size:15px}
.hl-list li:before{content:''; width:6px; height:6px; border-radius:50%; background:var(--nk-accent); margin-top:9px; flex:0 0 6px}

/* gallery */
.carousel{display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.carousel img{flex:0 0 clamp(260px,62vw,520px); height:clamp(200px,42vw,360px); object-fit:cover;
  border-radius:16px; scroll-snap-align:start; cursor:zoom-in}

/* contact */
.contact{padding:66px 0 80px; text-align:center; border-top:1px solid rgba(255,255,255,.08)}
.contact h2{font-family:var(--nk-serif); font-weight:500; font-size:clamp(26px,4vw,40px); margin:0 0 12px}
.contact p{color:rgba(244,241,234,.75); max-width:620px; margin:0 auto 22px}
.agent-name{font-family:var(--nk-serif); font-size:22px}
.agent-role{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,241,234,.55); margin-bottom:20px}
.contact-btns{display:flex; flex-wrap:wrap; gap:10px; justify-content:center}
.cbtn{display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:999px;
  text-decoration:none; font-weight:600; font-size:14px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#f4f1ea;
  transition:background .2s ease,transform .2s ease}
.cbtn:hover{background:var(--nk-accent); color:var(--nk-accent-ink); transform:translateY(-1px)}
.cbtn svg{width:18px; height:18px}
.cbtn--wa{background:var(--nk-wa); border-color:var(--nk-wa); color:#08240f}
.phone{margin-top:18px; font-size:13px; letter-spacing:.1em; color:rgba(244,241,234,.6)}

/* cart button (accessories) */
.cart-row{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:14px}
.cbtn--cart{background:var(--nk-accent); border-color:var(--nk-accent); color:var(--nk-accent-ink)}
.cart-note{font-size:13px; color:rgba(244,241,234,.6)}

/* language visibility */
[data-i18n]{display:none}
[data-i18n].active{display:inline}
p[data-i18n].active, div[data-i18n].active, ul[data-i18n].active, li[data-i18n].active{display:block}
li[data-i18n].active{display:flex}
[data-i18n]:not(.active){display:none !important}