/* ================================================================
   VELA HOUSE, Deep Adriatic
   Dizajn pravac, nov u portfoliju:
     - luk (arch) kao identitet, fotografije maskirane u mediteranski svod
     - dugmad i kartice OSTRE (radius 0), da luk bude jedini oblik
     - zaglavlja: broj 01 do 05 lijevo + vlas linija koja bjezi do desne ivice
     - razmak sekcija 110px
     - baza skoro crni tirkiz, tekst vapnenac, akcent maslina
   ================================================================ */

:root{
  --sea:#0b2a33;          /* baza */
  --sea-2:#0e343f;        /* traka */
  --sea-3:#124251;        /* ivica */
  --stone:#efe7db;        /* glavni tekst, vapnenac */
  --stone-d:#c3bdb2;      /* prigusen tekst */
  --olive:#9bb072;        /* akcent */
  --sand:#e0cba8;         /* brojevi, cijene */
  --line:rgba(239,231,219,.16);
  --sp:124px;             /* razmak sekcija, jedini u portfoliju */
  --wrap:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--sea);color:var(--stone);
  font:400 17px/1.65 'Barlow',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
section{padding:var(--sp) 0}
.band{background:var(--sea-2)}

h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:300;margin:0;letter-spacing:-.015em}
h1{font-size:clamp(46px,7.2vw,92px);line-height:1.02}
h1 em{font-style:italic;color:var(--sand)}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1}
h3{font-size:clamp(26px,2.6vw,34px)}
p{margin:0 0 18px}

/* ---------- dvojezicnost ----------
   Oba jezika stoje u HTML-u, prebacuje se CSS-om. Radi i bez JavaScripta,
   pa stranica nikad ne ostane prazna. display:contents znaci da omotac
   ne dira raspored, tekst se ponasa kao da <i> ne postoji. */
i.en,i.hr{display:contents;font-style:inherit}
html[data-lang="en"] i.hr,
html[data-lang="hr"] i.en{display:none}

.lang{display:flex;border:1px solid var(--line);margin-left:6px}
.lang button{background:none;border:0;color:var(--stone-d);cursor:pointer;
  font:500 12px/1 'Barlow',sans-serif;letter-spacing:.1em;padding:8px 11px}
.lang button[aria-pressed="true"]{background:var(--olive);color:#0a1f12}
.lang button:hover:not([aria-pressed="true"]){color:var(--olive)}

.ic{width:19px;height:19px;flex:none;stroke:currentColor;fill:none}
.ic-sm{width:15px;height:15px}
.ic .a{stroke:var(--olive)}

/* ---------- dugmad: ostra, luk je jedini oblik ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;border-radius:0;
  padding:14px 24px;font:500 14px/1 'Barlow',sans-serif;
  letter-spacing:.09em;text-transform:uppercase;text-decoration:none;
  border:1px solid transparent;cursor:pointer;transition:.22s;
}
.btn.fill{background:var(--olive);color:#0a1f12;border-color:var(--olive)}
.btn.fill:hover{background:var(--sand);border-color:var(--sand)}
.btn.line{background:none;color:var(--stone);border-color:var(--line)}
.btn.line:hover{border-color:var(--olive);color:var(--olive)}
.btn.sm{padding:10px 17px;font-size:12.5px}
.btn.wide{width:100%;justify-content:center;padding:16px}

/* ---------- nav ---------- */
#nav{position:sticky;top:0;z-index:40;background:rgba(11,42,51,.9);
  backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.nin{display:flex;align-items:center;gap:34px;height:74px}
.brand{font:500 19px/1 'Fraunces',serif;letter-spacing:.16em;text-decoration:none}
.brand span{color:var(--olive);margin-left:7px;font-weight:300}
.nlinks{display:flex;gap:26px;margin-left:auto}
.nlinks a{font-size:14.5px;color:var(--stone-d);text-decoration:none;letter-spacing:.04em}
.nlinks a:hover{color:var(--olive)}

/* ---------- hero ---------- */
.hero{position:relative;padding:0 0 0;overflow:visible}
.hero-img{position:relative;height:clamp(430px,62vh,640px);overflow:hidden}
.hero-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,42,51,.34) 0%,rgba(11,42,51,.72) 58%,var(--sea) 100%)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-in{position:relative;margin-top:-330px;padding-bottom:64px;max-width:var(--wrap)}
.kick{display:inline-flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--olive);margin-bottom:20px}
.lede{font-size:20px;color:var(--stone-d);max-width:540px;margin:22px 0 30px}
.acts{display:flex;gap:12px;flex-wrap:wrap}

/* traka za dostupnost preklapa donju ivicu heroja */
.bar{position:relative;background:var(--sea-2);border:1px solid var(--sea-3);
  padding:22px 24px;display:grid;gap:16px;
  grid-template-columns:1fr 1fr 1fr auto;align-items:end;margin-bottom:-38px;z-index:5}
.f{display:flex;flex-direction:column;gap:7px;min-width:0}
.f span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-d)}
.f input,.f select,.f textarea{
  background:var(--sea);border:1px solid var(--sea-3);color:var(--stone);
  padding:12px 13px;font:400 15px 'Barlow',sans-serif;border-radius:0;width:100%}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--olive);outline-offset:-2px}
.bar-out{grid-column:1/-1;margin:2px 0 0;font-size:14px;color:var(--olive)}

/* ---------- zaglavlje sekcije: broj + vlas linija do desne ivice ---------- */
.head{display:flex;align-items:baseline;gap:20px;margin-bottom:14px}
.num{font:400 14px/1 'Barlow',sans-serif;letter-spacing:.2em;color:var(--sand);flex:none;padding-top:6px}
.hair{flex:1;height:1px;background:var(--line);transform:translateY(-6px)}
.stand{color:var(--stone-d);max-width:620px;margin-bottom:52px}

/* ---------- 01 poredjenje ---------- */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.col{background:var(--sea);border:1px solid var(--sea-3);padding:34px}
.col.win{border-color:var(--olive);background:linear-gradient(180deg,rgba(155,176,114,.09),transparent 62%)}
.col header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
.tag{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--stone-d)}
.flag{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:#0a1f12;background:var(--olive);padding:4px 10px}
.price{font:300 54px/1 'Fraunces',serif;color:var(--stone);display:flex;align-items:baseline;gap:4px}
.price .cur{font-size:26px;color:var(--stone-d)}
.price .per{font:400 15px 'Barlow',sans-serif;color:var(--stone-d);margin-left:8px}
.list{list-style:none;margin:24px 0 0;padding:0}
.list li{padding:12px 0 12px 22px;border-top:1px solid var(--line);position:relative;
  font-size:15.5px;color:var(--stone-d)}
.list li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:1px;background:var(--olive)}
.save{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:15px;color:var(--stone-d)}
.save strong{color:var(--sand);font-weight:500}

/* ---------- LUK: identitet ovog builda ---------- */
/* Podloga ispod slike je namjerna. Ako Unsplash ne odgovori, ostaje
   kamena tekstura umjesto bijele rupe u dizajnu. */
.arch,.hero-img{
  background:
    linear-gradient(150deg,rgba(155,176,114,.10),transparent 60%),
    repeating-linear-gradient(115deg,#12414f 0 3px,#0f3946 3px 7px);
}
.arch{overflow:hidden;border-radius:min(50%,220px) min(50%,220px) 0 0}
.arch img{width:100%;height:100%;object-fit:cover}

/* ---------- 02 apartmani ---------- */
.unit{display:grid;grid-template-columns:380px 1fr;gap:52px;align-items:center;
  padding:44px 0;border-top:1px solid var(--line)}
.unit.rev .u-img{order:2}
.unit.rev .u-copy{order:1}
.u-img{height:420px}
.ukick{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--olive)}
.u-copy h3{margin:10px 0 14px}
.u-copy p{color:var(--stone-d);max-width:560px}
.am{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;padding:0;margin:22px 0 26px}
.am li{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--stone-d)}
.u-foot{display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid var(--line)}
.from{font-size:15px;color:var(--stone-d)}
.from strong{font:400 26px 'Fraunces',serif;color:var(--sand);font-weight:400}

/* ---------- 03 kuca ---------- */
.split{display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:center}
.s-copy p{color:var(--stone-d);max-width:560px}
.s-img.tall{height:520px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;
  padding-top:28px;border-top:1px solid var(--line)}
.facts b{display:block;font:300 34px/1 'Fraunces',serif;color:var(--sand)}
.facts span{font-size:13px;color:var(--stone-d);letter-spacing:.04em}

/* ---------- 04 gdje ---------- */
.dist{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:66px}
.d{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.d .ic{color:var(--olive)}
.d b{font:300 27px/1 'Fraunces',serif;color:var(--stone)}
.d span{font-size:14.5px;color:var(--stone-d)}
.quote{margin:0;border-left:2px solid var(--olive);padding:8px 0 8px 30px;max-width:760px}
.quote p{font:300 clamp(22px,2.6vw,31px)/1.4 'Fraunces',serif;font-style:italic;color:var(--stone)}
.quote cite{display:flex;align-items:center;gap:11px;font-style:normal;
  font-size:14px;color:var(--stone-d)}
.stars{display:flex;gap:3px;color:var(--sand)}
.stars .ic{fill:var(--sand);stroke:none}

/* ---------- 05 rezervacija ---------- */
.bwrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.b-copy p{color:var(--stone-d);max-width:480px}
.ct{list-style:none;padding:0;margin:30px 0 0}
.ct li{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line);
  font-size:15.5px;color:var(--stone-d)}
.ct .ic{color:var(--olive)}
.ct a{text-decoration:none}
.ct a:hover{color:var(--olive)}
.form{background:var(--sea);border:1px solid var(--sea-3);padding:32px;display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.note{margin:0;font-size:14px;color:var(--stone-d);text-align:center}
.note.ok{color:var(--olive)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:44px 0;background:var(--sea)}
.fin{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:14px;color:var(--stone-d)}
.fin p{margin:0}
.fin .cb{margin-left:auto;letter-spacing:.14em;text-transform:uppercase;font-size:11.5px}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  :root{--sp:82px}
  .bar{grid-template-columns:1fr 1fr}
  .bar .btn{grid-column:1/-1;justify-content:center}
  .cmp,.split,.bwrap{grid-template-columns:1fr;gap:34px}
  .s-img.tall{height:400px}
  .unit{grid-template-columns:1fr;gap:28px}
  .unit.rev .u-img{order:0}
  .unit.rev .u-copy{order:0}
  .u-img{height:340px}
  .dist{grid-template-columns:1fr 1fr}
  .hero-in{margin-top:-260px}
}
@media(max-width:640px){
  body{font-size:16px}
  .nlinks{display:none}
  .bar,.row{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .dist{grid-template-columns:1fr}
  .hero-img{height:400px}
  .hero-in{margin-top:-250px}
  .form{padding:22px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
