:root{--ink:#17313a;--sea:#0b7787;--sand:#f5f0e7;--white:#fff;--muted:#687b80}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.nav{position:absolute;z-index:10;top:0;left:0;right:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;color:#fff;border-bottom:1px solid #ffffff42}.brand{font-size:21px;letter-spacing:.3px}.nav nav{display:flex;gap:28px;align-items:center;font-size:14px}.nav-cta{padding:11px 17px;border:1px solid #ffffff99;border-radius:30px}.menu{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{height:min(850px,100vh);min-height:680px;position:relative;background:url('https://www.apartmanija.hr/slike/apartments_units/_Novalja_70dde54375f6.jpg') center/cover no-repeat;color:#fff}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#092f3bbf 0%,#092f3b48 60%,#092f3b20),linear-gradient(0deg,#092f3b85 0%,transparent 45%)}.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-48%);max-width:700px}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:700}.eyebrow.dark{color:var(--sea)}h1,h2{font-family:'Playfair Display',serif;margin:14px 0 20px;line-height:1.05}h1{font-size:clamp(58px,7vw,102px);font-weight:600}h1 em{font-weight:600;color:#d9f0ec}h2{font-size:clamp(38px,4vw,62px);font-weight:600}.hero-content p{font-size:18px;line-height:1.7;max-width:590px;color:#eef7f7}.actions{display:flex;gap:12px;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 22px;border-radius:4px;font-weight:700;font-size:14px;border:0;cursor:pointer}.primary{background:#e9b86e;color:#20333a}.glass{background:#ffffff16;color:#fff;border:1px solid #ffffff7a;backdrop-filter:blur(6px)}.hero-facts{position:absolute;right:7vw;bottom:45px;display:flex;gap:42px}.hero-facts span{display:flex;flex-direction:column;font-size:12px;letter-spacing:1px}.hero-facts b{font-family:'Playfair Display';font-size:25px;letter-spacing:0;margin-bottom:4px}.intro,.apartments,.gallery,.location,.contact{padding:100px 8vw}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;background:var(--sand)}.intro p,.section-head p{line-height:1.8;color:var(--muted);font-size:16px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.chips span{background:#fff;padding:10px 13px;border-radius:30px;font-size:13px}.sea-banner{height:520px;background:linear-gradient(90deg,#092f3bb0,#092f3b20),url('https://www.apartmanija.hr/slike/apartments_units/_Novalja_abe9f4b4be1c.jpg') center/cover fixed;color:#fff;display:flex;align-items:center;padding:8vw}.sea-banner>div{max-width:560px}.sea-banner p{line-height:1.7;color:#eef6f6}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head p{max-width:430px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:#fff;border:1px solid #e3e8e7;overflow:hidden;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 50px #16343d18}.card-img{height:245px;background-size:cover;background-position:center;position:relative}.price{position:absolute;right:12px;bottom:12px;background:#fff;padding:9px 12px;font-size:13px;font-weight:700}.card-body{padding:22px}.card h3{font-family:'Playfair Display';font-size:24px;margin:0 0 10px}.meta{display:flex;gap:14px;color:var(--muted);font-size:13px}.card-link{display:block;margin-top:18px;color:var(--sea);font-weight:700;font-size:13px}.gallery{background:#f7f9f8}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.location{background:#173b45;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.location-copy p{color:#d1e0e2;line-height:1.8}.dist{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.dist span{border-bottom:1px solid #ffffff24;padding-bottom:12px;color:#dce8e9}.dist b{display:block;font-family:'Playfair Display';font-size:26px;color:#fff}.map-card{height:430px;border-radius:18px;overflow:hidden;background:#dfe6e4;z-index:1}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--sand)}.contact-intro small{display:block;margin-top:30px;color:var(--muted);line-height:1.6}.contact form{background:#fff;padding:35px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-size:12px;font-weight:700;display:block;margin-bottom:16px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #dbe2e0;padding:13px;font:inherit;background:#fff}.wide{width:100%}.form-note{font-size:11px;color:#879497;line-height:1.5}footer{padding:35px 8vw;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#66777a}.modal{position:fixed;inset:0;background:#000e;z-index:4000;display:none;align-items:center;justify-content:center;padding:4vw}.modal.open{display:flex}.modal img{max-width:92vw;max-height:88vh}.close{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:45px;cursor:pointer}@media(max-width:900px){.nav nav{display:none}.menu{display:block}.hero-facts{left:8vw;right:auto;gap:22px}.intro,.location,.contact{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img:first-child{grid-row:span 1}.section-head{display:block}.sea-banner{background-attachment:scroll}footer{display:block;text-align:center}.nav.open nav{display:flex;position:absolute;top:86px;left:0;right:0;background:#173b45;padding:25px 8vw;flex-direction:column;align-items:flex-start}}@media(max-width:600px){.intro,.apartments,.gallery,.location,.contact{padding:75px 6vw}.hero-content{left:6vw;right:6vw}.hero-facts{left:6vw;bottom:25px}.grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.row{grid-template-columns:1fr}.contact form{padding:22px}.hero{min-height:720px}.hero-content{top:46%}.actions{flex-direction:column;align-items:flex-start}}
.card-body small{color:#8a8f91}.featureline{font-size:.86rem;color:#727779;margin:8px 0 14px}.details{border:0;background:none;cursor:pointer;margin-right:14px}.detail-modal{position:fixed;inset:0;background:rgba(9,25,31,.82);z-index:5000;display:none;align-items:center;justify-content:center;padding:24px}.detail-modal.open{display:flex}.detail-panel{background:#fff;max-width:900px;width:100%;max-height:90vh;overflow:auto;border-radius:18px;display:grid;grid-template-columns:1.1fr 1fr}.detail-panel>img{width:100%;height:100%;min-height:430px;object-fit:cover}.detail-copy{padding:40px}.detail-copy h2{font-size:2.4rem;margin:8px 0 16px}.detail-modal>.close{position:fixed;top:20px;right:28px;z-index:2;color:white;background:none;border:0;font-size:42px;cursor:pointer}@media(max-width:700px){.detail-panel{grid-template-columns:1fr}.detail-panel>img{min-height:240px;height:240px}.detail-copy{padding:25px}}
.detail-panel{max-width:1050px;grid-template-columns:1.25fr .85fr}.unit-gallery{padding:22px;background:#f5f5f2}.unit-main{position:relative;height:420px;overflow:hidden;background:#eee;cursor:zoom-in}.unit-main img{width:100%;height:100%;object-fit:cover}.unit-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.unit-thumbs img{width:100%;height:82px;object-fit:cover;cursor:pointer;opacity:.72;border:2px solid transparent}.unit-thumbs img.active,.unit-thumbs img:hover{opacity:1;border-color:var(--sea)}.photo-count{position:absolute;right:12px;bottom:12px;background:#0009;color:#fff;padding:7px 10px;border-radius:20px;font-size:12px}.light-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#fff;color:#17313a;width:46px;height:46px;border-radius:50%;font-size:26px;cursor:pointer}.light-prev{left:20px}.light-next{right:20px}@media(max-width:700px){.detail-panel{grid-template-columns:1fr}.unit-main{height:280px}.unit-thumbs{grid-template-columns:repeat(4,1fr)}.unit-thumbs img{height:62px}.detail-copy{padding:25px}}

/* ===== Redesign: apartment cards + unit detail ===== */
:root{--sun:#dd9c47;--line:#e7e2d4;--shadow-soft:0 1px 2px #16343d0d;--shadow-lift:0 26px 54px -18px #092f3b30}

.grid{gap:30px}
.card{border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1)}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow-lift)}
.card-img{height:250px;background:none;overflow:hidden}
.card-img-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.card:hover .card-img-bg{transform:scale(1.08)}
.card-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0c262f66 100%)}
.card-img .tag{position:absolute;left:14px;top:14px;background:#ffffffe6;color:var(--sea);font-size:11.5px;font-weight:700;letter-spacing:.2px;padding:7px 12px;border-radius:30px;backdrop-filter:blur(3px)}
.card-img .price{right:14px;bottom:14px;border-radius:10px;padding:8px 13px;font-size:12.5px;font-weight:500;color:var(--muted);box-shadow:0 6px 18px #16343d1f}
.card-img .price b{color:var(--ink);font-family:'Playfair Display',serif;font-size:15px;font-weight:700}
.card-body{padding:24px 24px 22px}
.card-body small{letter-spacing:.5px;font-weight:700;font-size:11px;color:#a19a86}
.card h3{font-size:22px;margin:6px 0 14px}
.stat-row{display:flex;gap:16px;flex-wrap:wrap;color:var(--sea);font-size:12.5px;font-weight:600;padding-bottom:14px;border-bottom:1px solid var(--line)}
.stat{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.stat svg{color:var(--sea);flex-shrink:0}
.featureline{font-size:13px;color:#8a938f;margin:14px 0 18px;line-height:1.6}
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:2px}
.details{border:0;background:none;cursor:pointer;padding:0;font-weight:700;font-size:13px;color:var(--ink);position:relative}
.details::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.details:hover::after{transform:scaleX(1)}
.btn-cta{background:var(--sea);color:#fff;font-size:13px;font-weight:700;padding:12px 18px;border-radius:30px;white-space:nowrap;transition:background .25s,transform .25s}
.btn-cta:hover{background:#095e6b;transform:translateY(-1px)}
.btn-cta.wide{display:block;text-align:center;margin-top:26px;padding:15px 18px;font-size:14px}

/* Detail modal */
.detail-modal{backdrop-filter:blur(3px)}
.detail-panel{border-radius:22px;box-shadow:0 40px 90px -30px #04141a80}
.detail-modal>.close{background:#ffffff22;width:42px;height:42px;border-radius:50%;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;top:22px}
.unit-gallery{background:#f2f0e9;padding:24px}
.unit-main{border-radius:14px}
.unit-thumbs img{border-radius:10px}
.unit-thumbs img.active,.unit-thumbs img:hover{border-color:var(--sun)}
.photo-count{border-radius:30px;font-weight:600;letter-spacing:.2px}
.eyebrow-detail{display:block;font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--sea)}
.detail-copy h2{margin:10px 0 20px}
.price-row{display:flex;align-items:center;gap:22px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.price-big{font-family:'Playfair Display',serif;display:flex;align-items:baseline;gap:6px}
.price-big b{font-size:34px;font-weight:700;color:var(--ink)}
.price-big span{font-size:13px;color:var(--muted);font-family:'DM Sans',sans-serif}
.price-row .stat{background:var(--sand);padding:8px 13px;border-radius:30px;font-size:12.5px}
.detail-desc{color:var(--muted);line-height:1.75;font-size:14.5px}
.amenities{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
.amenity{display:inline-flex;align-items:center;gap:7px;background:var(--sand);border:1px solid var(--line);padding:9px 13px;border-radius:30px;font-size:12.5px;color:var(--ink)}
.amenity svg{color:var(--sea);flex-shrink:0}
.light-nav{box-shadow:0 8px 20px #0006;transition:transform .2s}
.light-nav:hover{transform:translateY(-50%) scale(1.08)}
@media(max-width:700px){.price-row{flex-wrap:wrap;gap:12px}.price-big b{font-size:28px}}
@media(prefers-reduced-motion:reduce){.card,.card-img-bg,.details::after,.light-nav{transition:none}}

/* ===== Redesign: gallery grid + Detalji button ===== */
.gallery-item{position:relative;aspect-ratio:1/1;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#e5e2d8;box-shadow:0 1px 2px #16343d0d}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.gallery-item:hover img{transform:scale(1.09)}
.gallery-item::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,#0c262f59 100%);opacity:0;transition:opacity .3s}
.gallery-item:hover::after{opacity:1}
.gallery-zoom{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:38px;height:38px;border-radius:50%;background:#ffffffe6;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:17px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}
.gallery-item:hover .gallery-zoom{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:1080px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:10px}}
@media(max-width:520px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}}

.card-actions{display:flex;gap:10px}
.btn-ghost.details{flex:1;text-align:center;border:1.5px solid var(--ink);border-radius:30px;padding:11px 14px;font-size:13px;color:var(--ink);background:#fff;transition:background .25s,color .25s}
.btn-ghost.details::after{content:none}
.btn-ghost.details:hover{background:var(--ink);color:#fff}
.card-actions .btn-cta{flex:1;text-align:center}

/* ===== Kalendar zauzetosti ===== */
.cal-block{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 14px}
.cal-head b{font-family:'Playfair Display',serif;font-size:19px}
.cal-nav{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;color:var(--ink);transition:background .2s,border-color .2s}
.cal-nav:hover{background:var(--sand);border-color:var(--sea)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-wd{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.4px;color:#a19a86;padding-bottom:6px}
.cal-day{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:12.5px;border-radius:8px;font-weight:600}
.cal-day.empty{visibility:hidden}
.cal-day.free{background:#eaf4f2;color:#0b6a72}
.cal-day.busy{background:#f3ddd4;color:#a4553a;text-decoration:line-through;text-decoration-thickness:1px}
.cal-day.past{background:#f6f5f1;color:#c2bdb1}
.cal-legend{display:flex;gap:18px;margin-top:14px;font-size:12px;color:var(--muted)}
.cal-legend span{display:inline-flex;align-items:center;gap:7px}
.cal-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.dot-free{background:#eaf4f2;border:1px solid #b9dcd7}
.dot-busy{background:#f3ddd4;border:1px solid #e0b9a8}
.cal-note{font-size:11.5px;color:#9aa3a0;line-height:1.5;margin:12px 0 0}


/* ===== Karta (OpenStreetMap / Leaflet) ===== */
#map{width:100%}
.leaflet-container{font-family:'DM Sans',sans-serif;background:#dfe6e4}
.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 12px 30px #0c262f2e}
.leaflet-popup-content{margin:14px 16px;font-size:13.5px;line-height:1.55}
.leaflet-popup-content b{font-family:'Playfair Display',serif;font-size:16px}
.leaflet-control-zoom a{color:var(--ink)}
.leaflet-control-attribution{font-size:10px}
@media(max-width:900px){.map-card{height:340px}}
@media(max-width:600px){.map-card{height:280px}}

/* Skriveno polje za hvatanje robota - ne smije se vidjeti niti biti u redoslijedu tipkanja */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== Nove sekcije: otok, plaže, dolazak, česta pitanja ===== */
.island,.beaches,.travel,.faq{padding:100px 8vw}
.island{background:var(--sand)}
.beaches{background:#fff}
.travel{background:#f7f9f8}
.faq{background:#fff}
.prose p{line-height:1.85;color:var(--muted);font-size:16.5px;max-width:78ch}
.prose.two-col{display:grid;grid-template-columns:1fr 1fr;gap:6vw}
.prose.two-col p{max-width:none}
.hl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:48px}
.hl{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.island .hl{background:#fffdf8}
.hl h3{font-family:'Playfair Display',serif;font-size:19px;margin:0 0 10px;line-height:1.3}
.hl p{margin:0;font-size:14px;line-height:1.7;color:var(--muted)}
.faq-list{max-width:820px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;padding:22px 40px 22px 0;font-weight:700;font-size:16.5px;position:relative;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--sea);transition:transform .25s}
.faq-item[open] summary::after{content:'−'}
.faq-item p{margin:0 0 24px;line-height:1.8;color:var(--muted);font-size:15.5px;max-width:70ch}

/* ===== Prebacivač jezika ===== */
.langs{display:flex;gap:2px;align-items:center;margin-left:6px}
.langs a{font-size:11.5px;font-weight:700;letter-spacing:.4px;padding:6px 7px;border-radius:6px;opacity:.72;transition:opacity .2s,background .2s}
.langs a:hover{opacity:1;background:#ffffff1f}
.langs a.active{opacity:1;background:#ffffff2b}

@media(max-width:1080px){.hl-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .island,.beaches,.travel,.faq{padding:80px 8vw}
  .prose.two-col{grid-template-columns:1fr;gap:0}
  .nav.open .langs{margin:14px 0 0;flex-wrap:wrap}
  .nav.open .langs a{background:#ffffff1a;opacity:1}
}
@media(max-width:600px){
  .island,.beaches,.travel,.faq{padding:70px 6vw}
  .hl-grid{grid-template-columns:1fr;gap:16px}
  .faq-item summary{font-size:15.5px;padding:18px 34px 18px 0}
}
