﻿/* Extracted from index.html on 2026-04-26. */
/* Flatpickr Balent theme */
.flatpickr-calendar{font-family:var(--sans)!important;border-radius:6px;box-shadow:0 14px 36px rgba(0,0,0,.16);border:1px solid #d8c9b4}
.flatpickr-day{border-radius:2px}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.flatpickr-day.inRange{background:rgba(38,108,72,.18)!important;border-color:transparent!important}
.flatpickr-day.disabled,.flatpickr-day.disabled:hover{background:#f3b7b7!important;color:#7b2b2b!important;opacity:1}
.flatpickr-day:hover:not(.disabled){background:#d7f0df!important}
.flatpickr-day.fp-departure,.flatpickr-day.fp-arrival,.flatpickr-day.fp-turnover{opacity:1!important}
.flatpickr-months .flatpickr-month{background:var(--navy);color:#fff;border-radius:3px 3px 0 0}
.flatpickr-current-month{color:#fff!important;font-weight:600!important}
.flatpickr-current-month .flatpickr-monthDropdown-months{background:transparent!important;color:#fff!important;font-weight:600!important;opacity:1!important}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.flatpickr-current-month .numInputWrapper span{color:#fff!important;opacity:1!important}
.flatpickr-current-month input.cur-year{color:#fff!important;font-weight:600!important}
.flatpickr-current-month .numInputWrapper:hover{background:rgba(255,255,255,.12)!important}
.flatpickr-monthDropdown-months option{background:#223246!important;color:#fff!important}
.flatpickr-monthDropdown-months option:checked{background:#2f6ea6!important;color:#fff!important}
.flatpickr-monthDropdown-months option:hover{background:#2f6ea6!important;color:#fff!important}
.flatpickr-weekday{color:var(--accent-light)!important;font-weight:500}
.flatpickr-day.today{border-color:var(--accent)!important}
.flatpickr-prev-month,.flatpickr-next-month{fill:#fff!important;opacity:1!important}
.flatpickr-prev-month:hover svg,.flatpickr-next-month:hover svg{fill:var(--accent-light)!important}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --sand:#f5f0e8;--sand-dark:#e5ddd0;--navy:#1a2636;
  --accent:#b5905a;--accent-light:#d4b48a;--white:#ffffff;
  --text:#2a2a2a;--muted:#6b6b6b;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--white);overflow-x:hidden}

nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(181,144,90,.12);transition:padding .3s,box-shadow .3s}
nav.scrolled{padding:.85rem 3rem;box-shadow:0 2px 24px rgba(0,0,0,.07)}
.nav-logo{font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--navy);text-decoration:none;letter-spacing:.02em}
.nav-logo span{color:var(--accent)}
.nav-links{display:flex;gap:2.2rem;list-style:none;align-items:center}
.nav-links a{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--accent)}
.nav-cta{background:var(--navy)!important;color:var(--white)!important;padding:.55rem 1.3rem;border-radius:2px;transition:background .2s!important;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:max-content}
.nav-cta:hover{background:var(--accent)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:201}
.hamburger span{width:24px;height:2px;background:var(--navy);display:block;transition:all .3s}

.hero{height:100vh;min-height:580px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03);animation:kb 20s ease-in-out infinite alternate;z-index:0}
.hero-bg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,32,48,.48) 0%,rgba(20,32,48,.15) 55%,rgba(20,32,48,.62) 100%);z-index:1}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.09) translateX(-1%)}}
.hero-content{position:relative;z-index:2;text-align:center;padding:2rem;animation:fadeUp 1.2s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-light);margin-bottom:1rem}
.hero h1{font-family:var(--serif);font-size:clamp(3rem,7vw,5.8rem);font-weight:300;color:#fff;line-height:1.06;margin-bottom:1.4rem}
.hero h1 em{font-style:italic;color:var(--accent-light)}
.hero-sub{font-size:.98rem;color:rgba(255,255,255,.78);font-weight:300;max-width:420px;margin:0 auto 2.4rem;line-height:1.75}
.hero-btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
.btn-primary{display:inline-block;background:var(--accent);color:#fff;padding:.82rem 2.1rem;font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;border-radius:2px;transition:background .2s,transform .2s}
.btn-primary:hover{background:#9e7940;transform:translateY(-2px)}
.btn-outline{display:inline-block;background:transparent;color:#fff;padding:.82rem 2.1rem;font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(255,255,255,.5);cursor:pointer;border-radius:2px;transition:all .2s}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.hero-scroll{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:2;text-align:center;animation:scrollB 2.6s ease infinite}
.hero-scroll span{display:none}
.hero-scroll::after{display:none}
@keyframes scrollB{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}

.stats-bar{background:var(--navy);padding:2rem 3rem}
.stats-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{text-align:center;padding:1rem;border-right:1px solid rgba(255,255,255,.1)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--accent-light);line-height:1;display:block;margin-bottom:.3rem}
.stat-lbl{font-size:.72rem;color:rgba(255,255,255,.55);letter-spacing:.12em;text-transform:uppercase}

section{padding:5.5rem 3rem}
.container{max-width:1180px;margin:0 auto}
.sec-label{font-size:.7rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}
.sec-title{font-family:var(--serif);font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:300;color:var(--navy);line-height:1.14;margin-bottom:1.1rem}
.sec-title em{font-style:italic;color:var(--accent)}
.sec-desc{font-size:.96rem;color:var(--muted);line-height:1.78;max-width:540px}

#o-nama{background:var(--sand)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-img-wrap{position:relative}
.about-img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:34% center;border-radius:2px;display:block}
.about-badge{position:absolute;bottom:-1.4rem;right:-1.4rem;background:var(--navy);color:#fff;padding:1.6rem;text-align:center;border-radius:2px;min-width:120px}
.about-badge .num{font-family:var(--serif);font-size:2.8rem;font-weight:300;line-height:1;display:block;color:var(--accent-light)}
.about-badge .lbl{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-top:.3rem;display:block}
.about-features{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:2rem}
.feat{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;background:var(--white);border-radius:2px;border-left:2px solid var(--accent)}
.feat-ico{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}
.feat p{font-size:.8rem;font-weight:500;color:var(--navy);margin-bottom:.12rem}
.feat span{font-size:.75rem;color:var(--muted)}

/* APARTMENTS with per-apt gallery tabs */
#apartmani{background:var(--white)}
.apts-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.apts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem}
.apt-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:2px;overflow:hidden;transition:transform .32s,box-shadow .32s}
.apt-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.apt-img-wrap{overflow:hidden;position:relative;aspect-ratio:16/10;cursor:pointer}
.apt-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s}
.apt-card:hover .apt-img{transform:scale(1.04)}
.apt-ribbon{position:absolute;top:1rem;left:1rem;background:var(--navy);color:#fff;font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .7rem;border-radius:1px;z-index:2}
.apt-stars{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.92);color:var(--navy);font-size:.72rem;font-weight:500;padding:.28rem .65rem;border-radius:1px;z-index:2}
.apt-stars{text-decoration:none;min-height:30px;display:inline-flex;align-items:center}
.apt-stars small{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-left:.25rem}
.apt-nav{position:absolute;bottom:.7rem;right:.7rem;display:flex;gap:.3rem;z-index:2}
.apt-nav button{background:rgba(255,255,255,.85);border:none;width:28px;height:28px;border-radius:1px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.apt-nav button:hover{background:#fff}
.apt-counter{position:absolute;bottom:.85rem;left:1rem;color:rgba(255,255,255,.85);font-size:.72rem;font-weight:500;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.apt-body{padding:1.5rem}
.apt-name{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--navy);margin-bottom:.45rem}
.apt-positioning{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin:-.1rem 0 .7rem}
.apt-desc{font-size:.84rem;color:var(--muted);line-height:1.65;margin-bottom:1.2rem}
.apt-specs{display:flex;padding:.85rem 0;border-top:1px solid var(--sand-dark);border-bottom:1px solid var(--sand-dark);margin-bottom:1.2rem}
.apt-spec{text-align:center;flex:1;border-right:1px solid var(--sand-dark)}
.apt-spec:last-child{border-right:none}
.apt-spec .v{font-size:.98rem;font-weight:500;color:var(--navy);display:block}
.apt-spec .k{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.apt-foot{display:flex;justify-content:space-between;align-items:center;gap:.8rem}
.apt-amenities{display:flex;gap:.4rem;flex-wrap:wrap;flex:1}
.apt-tag{font-size:.67rem;background:var(--sand);color:var(--navy);padding:.2rem .55rem;border-radius:1px;white-space:nowrap}
.btn-sm{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-decoration:none;border:1px solid var(--accent);padding:.82rem 1.2rem;border-radius:2px;transition:all .2s;cursor:pointer;background:var(--accent);white-space:nowrap;flex-shrink:0;box-shadow:none}
.btn-sm::before{content:"✉";font-size:1rem;line-height:1;display:inline-block;transform:translateY(-1px)}
.btn-sm:hover{background:#fff;border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}

.booking-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;background:var(--accent);border:1px solid var(--accent);color:#fff;padding:.9rem 1.35rem;font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:all .2s;text-decoration:none}
.booking-cta-btn::before{content:"✉";font-size:1rem;line-height:1;display:inline-block;transform:translateY(-1px)}
.booking-cta-btn:hover{background:#fff;border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}

/* GALLERY with apt tabs */
#galerija{background:var(--sand);padding:4.25rem 3rem}
.gal-head{text-align:center;margin-bottom:1.35rem}
.gal-tabs{display:flex;justify-content:center;gap:.4rem;margin-bottom:.9rem;flex-wrap:wrap}
.gal-tab{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1.2rem;border:1px solid var(--sand-dark);background:var(--white);color:var(--muted);cursor:pointer;border-radius:2px;transition:all .2s}
.gal-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.gal-panel{display:none}
.gal-panel.active{display:block}
.gal-masonry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}
.gal-masonry .gi{cursor:pointer;overflow:hidden;border-radius:2px;display:block;aspect-ratio:4/3}
.gal-masonry .gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}
.gal-masonry .gi:hover img{transform:scale(1.05)}

/* LIGHTBOX */
.lb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:9999;align-items:center;justify-content:center}
.lb-overlay.open{display:flex}
.lb-img{max-width:90vw;max-height:88vh;object-fit:contain;border-radius:2px}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;font-size:2.5rem;padding:.3rem 1.1rem;cursor:pointer;border-radius:2px;transition:background .2s;z-index:2;line-height:1}
.lb-prev{left:1rem}.lb-next{right:1rem}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.22)}
.lb-x{position:absolute;top:1rem;right:1.2rem;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;z-index:2;line-height:1}
.lb-count{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);font-size:.78rem;letter-spacing:.1em}

#lokacija{background:var(--white)}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.map-wrap{border-radius:2px;overflow:hidden;height:380px}
.map-wrap iframe{width:100%;height:100%;border:none;display:block}
.contact-items{margin-bottom:1.8rem}
.host-card{display:flex;gap:1rem;align-items:flex-start;background:var(--sand);padding:1rem;border-radius:2px;border-left:2px solid var(--accent);margin:1rem 0 1.6rem}
.host-card img{width:92px;height:132px;object-fit:cover;object-position:center 78%;border-radius:2px;flex-shrink:0}
.host-card h4{font-size:.95rem;color:var(--navy);margin:0 0 .35rem}
.host-card p{font-size:.84rem;line-height:1.65;color:var(--muted);margin:0}
@media(max-width:640px){.host-card{align-items:center}.host-card img{width:84px;height:118px}}
.ci{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--sand-dark)}
.ci-icon{width:38px;height:38px;background:var(--sand);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}
.ci-text p{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.18rem}
.ci-text a,.ci-text span{font-size:.9rem;color:var(--navy);font-weight:500;text-decoration:none}
.ci-text a:hover{color:var(--accent)}
.airbnb-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}
.airbnb-links a{color:var(--accent);text-decoration:none;font-size:.73rem;display:inline-flex;align-items:center;border:1px solid rgba(181,144,90,.4);padding:.28rem .7rem;border-radius:2px;transition:all .2s;font-weight:500}
.airbnb-links a:hover{background:rgba(181,144,90,.08);border-color:var(--accent)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.fg{display:flex;flex-direction:column;gap:.35rem}
.fg.full{grid-column:span 2}
label{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font-family:var(--sans);font-size:.9rem;color:var(--text);background:var(--sand);border:1px solid transparent;border-radius:2px;padding:.72rem 1rem;transition:all .2s;outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--accent);background:#fff}
textarea{resize:vertical;min-height:90px}

footer{background:var(--navy);color:rgba(255,255,255,.65);padding:3.5rem 3rem 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand .nav-logo{color:#fff;display:block;margin-bottom:1rem}
.footer-brand p{font-size:.86rem;line-height:1.72;max-width:280px}
.footer-col h4{font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:1.1rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.55rem}
.footer-col ul a{color:rgba(255,255,255,.55);text-decoration:none;font-size:.86rem;transition:color .2s}
.footer-col ul a:hover{color:var(--accent-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;flex-wrap:wrap;gap:.5rem}
.toast{position:fixed;bottom:2rem;right:2rem;z-index:9998;background:var(--navy);color:#fff;padding:1rem 1.5rem;border-radius:3px;font-size:.86rem;border-left:3px solid var(--accent);transform:translateX(calc(100% + 3rem));transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-width:300px}
.toast.show{transform:translateX(0)}

@media(max-width:960px){
  nav{padding:1rem 1.5rem}
  .nav-links{display:none;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:260px;background:#fff;padding:5rem 2rem 2rem;box-shadow:-4px 0 20px rgba(0,0,0,.12);gap:1.4rem;z-index:200}
  .nav-links.open{display:flex}
  .nav-links a{font-size:1rem}
  .hamburger{display:flex}
  section,#galerija,#lokacija{padding:4rem 1.5rem}
  .stats-bar{padding:1.5rem}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2){border-right:none}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-badge{right:0;bottom:-1rem}
  .apts-grid{grid-template-columns:1fr}
  .loc-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;text-align:center}
  .form-grid{grid-template-columns:1fr}
  .fg.full{grid-column:span 1}
  .gal-masonry{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}
  .gal-masonry .gi{aspect-ratio:3/2}
}
@media(max-width:540px){
  .hero h1{font-size:2.6rem}
  .stats-inner{grid-template-columns:1fr 1fr}
  .about-features{grid-template-columns:1fr}
}

/* CONTACT MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,25,38,.7);z-index:5000;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal-box{background:var(--white);border-radius:4px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;position:relative;animation:modalIn .28s cubic-bezier(.34,1.56,.64,1)}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.modal-header{padding:1.8rem 2rem 0;display:flex;justify-content:space-between;align-items:flex-start}
.modal-header h2{font-family:var(--serif);font-size:1.8rem;font-weight:300;color:var(--navy)}
.modal-header h2 em{font-style:italic;color:var(--accent)}
.modal-close{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--muted);line-height:1;padding:.2rem;transition:color .2s;flex-shrink:0;margin-left:1rem}
.modal-close:hover{color:var(--navy)}
.modal-body{padding:1.4rem 2rem 2rem}
.modal-note{background:var(--sand);border-left:2px solid var(--accent);padding:.85rem 1rem;border-radius:2px;font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:1.4rem}
.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.modal-fg{display:flex;flex-direction:column;gap:.32rem}
.modal-fg.full{grid-column:span 2}
.modal-fg label{font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.modal-fg input,.modal-fg select,.modal-fg textarea{font-family:var(--sans);font-size:.9rem;color:var(--text);background:var(--sand);border:1px solid transparent;border-radius:2px;padding:.7rem .9rem;transition:all .2s;outline:none;width:100%}
.modal-fg input:focus,.modal-fg select:focus,.modal-fg textarea:focus{border-color:var(--accent);background:#fff}
.modal-fg textarea{resize:vertical;min-height:85px}
.modal-success{display:none;text-align:center;padding:2rem 1rem}
.modal-success .checkmark{font-size:3rem;margin-bottom:1rem;display:block}
.modal-success h3{font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--navy);margin-bottom:.6rem}
.modal-success p{font-size:.9rem;color:var(--muted);line-height:1.7}
@media(max-width:540px){
  .modal-box{max-height:95vh}
  .modal-header{padding:1.4rem 1.4rem 0}
  .modal-body{padding:1.2rem 1.4rem 1.6rem}
  .modal-form-grid{grid-template-columns:1fr}
  .modal-fg.full{grid-column:span 1}
}

/* FLOATING CONTACT BUTTON */
.fab{position:fixed;bottom:2rem;right:2rem;z-index:4000;background:var(--navy);color:#fff;border:none;border-radius:2px;padding:.85rem 1.5rem;font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.08em;cursor:pointer;display:flex;align-items:center;gap:.6rem;box-shadow:0 4px 20px rgba(26,38,54,.32);transition:background .2s,transform .2s,box-shadow .2s}
.fab:hover{background:#243347;transform:translateY(-2px);box-shadow:0 6px 28px rgba(26,38,54,.38)}
.fab-icon{font-size:1.1rem}
@media(max-width:540px){.fab span.fab-text{display:none}.fab{padding:.9rem;border-radius:2px;width:52px;height:52px;justify-content:center}}

/* PRICING SECTION */
#cjenik{background:var(--navy);padding:5.5rem 3rem}
#cjenik .sec-label{color:var(--accent-light)}
#cjenik .sec-title{color:#fff}
#cjenik .sec-title em{color:var(--accent-light)}
.pricing-note{font-size:.82rem;color:rgba(255,255,255,.5);margin-bottom:3rem;line-height:1.6}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.price-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px;overflow:hidden;transition:transform .25s,border-color .25s}
.price-card:hover{transform:translateY(-4px);border-color:rgba(181,144,90,.4)}
.price-card-head{background:rgba(181,144,90,.15);border-bottom:1px solid rgba(181,144,90,.2);padding:1.2rem 1.4rem}
.price-card-head h3{font-family:var(--serif);font-size:1.3rem;font-weight:300;color:#fff;margin-bottom:.2rem}
.price-card-head span{font-size:.72rem;color:rgba(255,255,255,.5);letter-spacing:.1em;text-transform:uppercase}
.price-card-body{padding:1.2rem 1.4rem}
.price-season{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.price-season:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.price-season-label{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-light);margin-bottom:.5rem;display:block}
.price-season-dates{font-size:.75rem;color:rgba(255,255,255,.45);margin-bottom:.5rem;line-height:1.5}
.price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}
.price-row .label{font-size:.8rem;color:rgba(255,255,255,.6)}
.price-row .amount{font-family:var(--serif);font-size:1.2rem;font-weight:300;color:#fff}
.price-row .amount small{font-size:.72rem;font-family:var(--sans);color:rgba(255,255,255,.45);font-weight:400}
.price-badge{display:inline-block;background:rgba(181,144,90,.25);color:var(--accent-light);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;border-radius:1px;margin-top:.3rem}
.pricing-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;color:rgba(255,255,255,.45);line-height:1.7;text-align:center}
.pricing-cta{margin-top:2.5rem;text-align:center}
@media(max-width:960px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.pricing-grid{grid-template-columns:1fr}}

.cal-tab{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.4rem;border:1px solid var(--sand-dark);background:var(--white);color:var(--muted);cursor:pointer;border-radius:2px;transition:all .2s}
.cal-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.cal-tab:hover:not(.active){border-color:var(--accent);color:var(--accent)}

.lang-switcher{display:flex;gap:.3rem;align-items:center;margin-left:1.2rem;padding-left:1.2rem;border-left:1px solid rgba(181,144,90,.25)}
.lang-btn{background:none;border:1px solid rgba(181,144,90,.3);color:var(--navy);font-size:.7rem;font-weight:500;padding:.28rem .55rem;border-radius:2px;cursor:pointer;transition:all .2s;letter-spacing:.05em}
.lang-btn:hover{border-color:var(--accent);color:var(--accent)}
.lang-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
[data-lang]{display:none}
[data-lang].lang-active{display:inline}
[data-lang-block]{display:none}
[data-lang-block].lang-active{display:block}
[data-lang-flex]{display:none}
[data-lang-flex].lang-active{display:flex}

.wa-btn{position:fixed;bottom:2rem;left:2rem;z-index:4000;background:#25D366;color:#fff;border:none;border-radius:2px;padding:.85rem 1.5rem;font-family:var(--sans);font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.6rem;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:background .2s,transform .2s;text-decoration:none}
.wa-btn:hover{background:#1ebe5d;transform:translateY(-2px)}
.wa-btn svg{width:22px;height:22px;flex-shrink:0}
@media(max-width:540px){.wa-btn span.wa-text{display:none}.wa-btn{padding:.9rem;border-radius:2px;width:52px;height:52px;justify-content:center}}

#kalkulator{background:var(--white);padding:5.5rem 3rem}
.calc-box{background:var(--sand);border-radius:4px;padding:2.5rem;max-width:700px;margin:0 auto}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
.calc-fg{display:flex;flex-direction:column;gap:.35rem}
.calc-fg.full{grid-column:span 2}
.calc-fg label{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.calc-fg input,.calc-fg select{font-family:var(--sans);font-size:.9rem;color:var(--text);background:#fff;border:1px solid var(--sand-dark);border-radius:2px;padding:.7rem .9rem;outline:none;transition:border-color .2s;width:100%}
.calc-fg input:focus,.calc-fg select:focus{border-color:var(--accent)}
.calc-result{background:var(--navy);border-radius:3px;padding:1.5rem 2rem;margin-top:1rem;display:none}
.calc-result.show{display:block}
.calc-result-row{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.calc-result-row:last-child{border-bottom:none;padding-top:.8rem;margin-top:.4rem}
.calc-result-row .lbl{font-size:.82rem;color:rgba(255,255,255,.6)}
.calc-result-row .val{font-family:var(--serif);font-size:1.2rem;color:#fff}
.calc-result-row.total .lbl{font-size:.9rem;font-weight:500;color:rgba(255,255,255,.9)}
.calc-result-row.total .val{font-size:1.8rem;color:var(--accent-light)}
@media(max-width:540px){.calc-grid{grid-template-columns:1fr}.calc-fg.full{grid-column:span 1}}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:8000;background:rgba(26,38,54,.97);backdrop-filter:blur(8px);padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;transform:translateY(100%);transition:transform .4s ease}
.cookie-banner.show{transform:translateY(0)}
.cookie-text{font-size:.82rem;color:rgba(255,255,255,.75);line-height:1.6;flex:1;min-width:200px}
.cookie-text a{color:var(--accent-light);text-decoration:underline}
.cookie-btns{display:flex;gap:.6rem;flex-shrink:0}
.cookie-accept{background:var(--accent);color:#fff;border:none;padding:.6rem 1.4rem;border-radius:2px;font-size:.78rem;font-weight:500;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.cookie-accept:hover{background:#9e7940}
.cookie-decline{background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);padding:.6rem 1.1rem;border-radius:2px;font-size:.78rem;cursor:pointer;transition:all .2s}
.cookie-decline:hover{border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.8)}

#recenzije{background:var(--navy);padding:5.5rem 3rem}
#recenzije .sec-label{color:var(--accent-light)}
#recenzije .sec-title{color:#fff}
#recenzije .sec-title em{color:var(--accent-light)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.review-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:1.6rem;transition:transform .25s,border-color .25s}
.review-card:hover{transform:translateY(-4px);border-color:rgba(181,144,90,.3)}
.review-stars{color:#ffd080;font-size:1rem;letter-spacing:.1rem;margin-bottom:.8rem}
.review-text{font-size:.88rem;color:rgba(255,255,255,.75);line-height:1.75;margin-bottom:1.2rem;font-style:italic}
.review-author{display:flex;align-items:center;gap:.8rem}
.review-avatar{width:38px;height:38px;border-radius:50%;background:rgba(181,144,90,.3);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.1rem;color:var(--accent-light);font-weight:400;flex-shrink:0}
.review-name{font-size:.85rem;font-weight:500;color:#fff}
.review-date{font-size:.72rem;color:rgba(255,255,255,.4);margin-top:.1rem}
.reviews-summary{text-align:center;margin-bottom:3rem}
.reviews-score{font-family:var(--serif);font-size:4rem;font-weight:300;color:var(--accent-light);line-height:1}
.reviews-stars-big{color:#ffd080;font-size:1.3rem;letter-spacing:.15rem;margin:.5rem 0}
.reviews-count{font-size:.82rem;color:rgba(255,255,255,.5)}
@media(max-width:960px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.reviews-grid{grid-template-columns:1fr}}



.weather-day{text-align:center;padding:.6rem .3rem;border-right:1px solid rgba(255,255,255,.08)}
.weather-day:last-child{border-right:none}






.weather-header span{font-size:.7rem;color:rgba(255,255,255,.4);letter-spacing:.1em;text-transform:uppercase}

.weather-header a:hover{border-bottom-color:var(--accent-light)}



/* DISCOVER – redesign */
#otkrij{background:var(--sand);padding:5.5rem 3rem}
.discover-intro{max-width:560px;margin-bottom:3rem}
.discover-category{margin-bottom:3rem}
.discover-category-label{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.discover-category-label::after{content:'';flex:1;height:1px;background:var(--sand-dark)}
.discover-grid-new{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.d-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:2px;padding:1.1rem 1.2rem;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;gap:.4rem}
.d-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.07);border-color:var(--accent-light)}
.d-card-ico{font-size:1.4rem;margin-bottom:.2rem}
.d-card-title{font-size:.88rem;font-weight:600;color:var(--navy);line-height:1.35}
.d-card-sub{font-size:.75rem;color:var(--muted);line-height:1.5}
.d-card-arrow{font-size:.7rem;color:var(--accent);margin-top:auto;padding-top:.4rem;opacity:0;transition:opacity .2s}
.d-card:hover .d-card-arrow{opacity:1}
.beaches-section{margin-top:1rem;padding-top:2.5rem;border-top:1px solid var(--sand-dark)}
.beaches-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.4rem;flex-wrap:wrap;gap:.5rem}
.beaches-section-head h3{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--navy)}
.beaches-section-head h3 em{font-style:italic;color:var(--accent)}
.beaches-grid-new{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.beach-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:2px;padding:.9rem 1rem;cursor:pointer;transition:border-color .2s,transform .2s}
.beach-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.beach-card-name{font-size:.86rem;font-weight:600;color:var(--navy);margin-bottom:.2rem;transition:color .2s}
.beach-card:hover .beach-card-name{color:var(--accent)}
.beach-card-dist{font-size:.74rem;color:var(--muted)}
@media(max-width:960px){.discover-grid-new{grid-template-columns:repeat(2,1fr)}.beaches-grid-new{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.discover-grid-new{grid-template-columns:1fr}.beaches-grid-new{grid-template-columns:1fr}}

/* Attraction modal */

.attr-box{background:var(--white);border-radius:2px;width:100%;max-width:500px;overflow:hidden;animation:modalIn .28s cubic-bezier(.34,1.56,.64,1)}
.attr-box-head{background:var(--navy);padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:center}
.attr-box-head h3{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:#fff}
.attr-box-head button{background:none;border:none;color:rgba(255,255,255,.6);font-size:1.4rem;cursor:pointer;line-height:1}
.attr-box-body{padding:1.4rem 1.6rem}
.attr-box-body p{font-size:.9rem;color:var(--muted);line-height:1.78;margin-bottom:1.2rem}
.attr-box-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(181,144,90,.3);padding-bottom:.15rem;transition:border-color .2s}
.attr-box-link:hover{border-color:var(--accent)}
@media(max-width:960px){.discover-cols{grid-template-columns:1fr 1fr;gap:2.5rem}.beaches-list{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.discover-cols{grid-template-columns:1fr}.beaches-list{grid-template-columns:1fr}}

/* WEATHER WIDGET */
.wx-wrap{margin-top:1.2rem;background:#fff;border:1px solid var(--sand-dark);border-radius:2px;overflow:hidden}
.wx-today{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(135deg,#e8f4fd 0%,#fef9f0 100%);border-bottom:1px solid var(--sand-dark)}
.wx-today-icon{font-size:3rem;line-height:1;flex-shrink:0}
.wx-today-info{}
.wx-today-temp{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--navy);line-height:1}
.wx-today-desc{font-size:.78rem;color:var(--muted);margin-top:.2rem}
.wx-today-loc{font-size:.68rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem}
.wx-forecast{display:grid;grid-template-columns:repeat(3,1fr)}
.wx-day{text-align:center;padding:.8rem .4rem;border-right:1px solid var(--sand-dark)}
.wx-day:last-child{border-right:none}
.wx-day-name{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.wx-day-icon{font-size:1.6rem;margin-bottom:.35rem;display:block}
.wx-day-temps{font-size:.82rem;color:var(--navy);font-weight:500}
.wx-day-temps span{color:var(--muted);font-weight:400}
.wx-footer{text-align:right;padding:.4rem .8rem;background:var(--sand)}
.wx-footer a{font-size:.68rem;color:var(--accent);text-decoration:none;letter-spacing:.06em}

/* NEW PRICING TABLE */
#cjenik{background:var(--sand);padding:5.5rem 3rem}
.price-table-wrap{max-width:700px;margin:2rem auto 0}
.price-table{width:100%;border-collapse:collapse;font-size:.88rem}
.price-table thead th{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.6rem 1rem;text-align:left;border-bottom:2px solid var(--sand-dark)}
.price-table tbody tr{border-bottom:1px solid var(--sand-dark);transition:background .15s}
.price-table tbody tr:hover{background:rgba(181,144,90,.06)}
.price-table td{padding:.7rem 1rem;color:var(--text)}
.price-table td:last-child{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--navy);text-align:right;white-space:nowrap}
.price-table .highlight td{background:rgba(181,144,90,.1)}
.price-table .highlight td:last-child{color:var(--accent)}
.price-extra-note{text-align:center;font-size:.78rem;color:var(--muted);margin-top:1.2rem;padding:.8rem;background:var(--white);border-radius:2px;border:1px solid var(--sand-dark)}

/* ── COMPREHENSIVE RESPONSIVE ────────────────────────────────── */
/* Prevent overflow at all zoom levels */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100vw; }
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

/* Nav responsive */
@media (max-width: 1100px) {
  .nav-links { gap: 1rem; }
  .nav-links a { font-size: .72rem; }
  .lang-switcher { margin-left: .8rem; padding-left: .8rem; }
  .lang-btn { padding: .22rem .4rem; font-size: .62rem; }
  .nav-cta { padding:.5rem .95rem; letter-spacing:.1em; }
}
@media (max-width: 900px) {
  nav {
    padding: 1rem 1rem;
  }
  .nav-links {
    display: none;
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    width: auto;
    bottom: auto;
    flex-direction: column;
    gap: 0;
    padding: .6rem 0;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(14px);
    border-top: 1px solid rgba(181,144,90,.12);
    box-shadow: 0 14px 24px rgba(0,0,0,.10);
    z-index: 200;
    max-height: calc(100vh - 84px);
    overflow-y: auto;
  }
  .nav-links.open {
    display: flex !important;
  }
  .nav-links li { width: 100%; }
  .nav-links.open a {
    color: var(--navy) !important;
  }
  .nav-links.open .nav-cta,
  .nav-links.open .nav-cta span,
  .nav-links .nav-cta,
  .nav-links .nav-cta span {
    color: var(--white) !important;
  }
  .nav-links a {
    display: block;
    width: 100%;
    padding: .9rem 1rem;
    font-size: .78rem;
    letter-spacing: .12em;
    text-align: left;
    border-bottom: 1px solid rgba(229,221,208,.7);
  }
  .nav-links li:last-child a {
    border-bottom: none;
  }
  .nav-links .nav-cta {
    margin: .65rem 1rem 0;
    width: calc(100% - 2rem);
    justify-content: center;
    text-align: center;
    padding: .85rem 1rem;
  }
  .lang-switcher { margin-left: auto; margin-right: .8rem; border-left: none; padding-left: 0; }
}

/* Stats bar */
@media (max-width: 640px) {
  .stats-bar .stats-inner { gap: 1rem; padding: 1rem; }
  .stat-num { font-size: 1.4rem; }
}

/* Section padding */
@media (max-width: 768px) {
  section, #otkrij, #recenzije, #cjenik, #kalkulator, #kalendar { padding: 3.5rem 1.2rem; }
  .container { padding: 0; }
}
@media (max-width: 480px) {
  section, #otkrij, #recenzije, #cjenik, #kalkulator, #kalendar { padding: 2.5rem 1rem; }
}

/* Apt cards */
@media (max-width: 900px) {
  .apts-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .apts-grid { grid-template-columns: 1fr; }
}

/* Reviews */
@media (max-width: 768px) {
  .reviews-grid { grid-template-columns: 1fr; }
}

/* Discover */
@media (max-width: 900px) {
  .discover-cols { grid-template-columns: 1fr; gap: 2rem; }
  .beaches-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .beaches-list { grid-template-columns: 1fr; }
}

/* Calendar tabs */
@media (max-width: 480px) {
  .cal-tab { font-size: .68rem; padding: .45rem .8rem; }
}

/* Price table */
@media (max-width: 480px) {
  .price-table { font-size: .8rem; }
  .price-table td { padding: .5rem .6rem; }
}

/* Calculator */
@media (max-width: 540px) {
  .calc-grid { grid-template-columns: 1fr; }
  .calc-fg.full { grid-column: span 1; }
}

/* Modal */
@media (max-width: 600px) {
  .modal-box { margin: .5rem; max-height: 95vh; }
  .modal-form-grid { grid-template-columns: 1fr; }
  .modal-fg.full { grid-column: span 1; }
}

/* Location section */
@media (max-width: 768px) {
  .loc-grid { grid-template-columns: 1fr; }
}

/* FAB buttons */
@media (max-width: 480px) {
  .fab { bottom: 1rem; right: 1rem; }
  .wa-btn { bottom: 1rem; left: 1rem; }
}

/* Hero text */
@media (max-width: 480px) {
  .hero-title { font-size: 2.4rem; }
  .hero-sub { font-size: .85rem; }
  .hero-actions { flex-direction: column; gap: .8rem; }
  .hero-actions a { width: 100%; text-align: center; }
}

/* Prevent lang-active inline display from breaking layout */
[data-lang].lang-active { display: inline !important; }
.sec-title [data-lang].lang-active { display: inline; }
.btn-primary [data-lang].lang-active,
.btn-outline [data-lang].lang-active { display: inline; }

/* Zoom-safe widths */
.container { width: 100%; max-width: 1180px; margin: 0 auto; }
.modal-box { width: min(780px, 96vw); }
section[id] { scroll-margin-top: 88px; }
@media (max-width: 768px) {
  section[id] { scroll-margin-top: 76px; }
}
/* Availability calendar */
.avail-nav{background:var(--navy);padding:.8rem 1rem;display:flex;align-items:center;justify-content:center}
.avail-nav-inner{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%}
.avail-nav-month-group,.avail-nav-year-group{display:flex;align-items:center}
.avail-nav-month-group{gap:.55rem;justify-content:flex-start}
.avail-nav-year-group{justify-content:flex-start}
.avail-nav-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:2px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.avail-nav-select,.avail-nav-year{font-family:var(--serif);font-size:1.05rem;font-weight:400;background:transparent;color:#fff;border:none;outline:none}
.avail-nav-select{appearance:none;cursor:pointer;padding:0 1rem 0 .15rem;line-height:1.2;min-width:auto;width:auto !important;max-width:max-content;flex:0 0 auto;display:inline-block;box-shadow:none;background-repeat:no-repeat;background-position:right .12rem center;background-size:.65rem .65rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M2.2 4.2 6 8l3.8-3.8-.9-.9L6 6.1 3.1 3.3z'/%3E%3C/svg%3E")}
.avail-nav-year-select{text-align:right}
.avail-nav #availMonthSelect{min-width:110px;width:auto !important}
.avail-nav #availYearSelect{min-width:78px;width:auto !important}
.avail-nav-select option{color:var(--text);background:#fff}
.avail-nav-year{min-width:60px;text-align:center}
@media (max-width: 640px){
  .avail-nav-inner{gap:.35rem}
  .avail-nav-month-group{gap:.4rem}
  .avail-nav-select{font-size:.98rem}
}
.avail-day{border-right:1px solid var(--sand-dark);border-bottom:1px solid var(--sand-dark);min-height:52px;padding:.3rem;position:relative;font-size:.78rem}
.avail-day.empty{background:var(--white)}
.avail-day.free{background:#cfeeda;cursor:pointer}
.avail-day.free:hover{background:#b8e4c8}
.avail-day.taken{background:#f4b6b6}
.avail-day.arrival,.avail-day.departure,.avail-day.turnover{background:#fff}
.avail-day.other-month{background:#f7f3ea;color:#b5ab98}
.avail-day.other-month .avail-num{color:#b5ab98}
.avail-day.empty,.avail-day.empty .avail-num{background:#f1ede5;color:#b5ab98}
.avail-day.today .avail-num{background:var(--navy);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.avail-num{font-size:.82rem;font-weight:500;color:var(--navy);width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.avail-day.taken .avail-num,.avail-day.arrival .avail-num,.avail-day.departure .avail-num,.avail-day.turnover .avail-num{color:#7b2b2b}
.avail-all-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}
.avail-card{border:1px solid var(--sand-dark);border-radius:2px;overflow:hidden;background:#fff}
.avail-card-title{padding:.8rem 1rem;background:var(--sand);border-bottom:1px solid var(--sand-dark);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.avail-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f6f1e7;border-bottom:1px solid var(--sand-dark)}
.avail-weekdays div{text-align:center;padding:.4rem .15rem;font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.avail-weekdays div.weekend{color:var(--accent)}
.avail-grid-mini{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--sand-dark)}
.avail-grid-mini .avail-day{min-height:42px;padding:.22rem}
.avail-grid-mini .avail-num{width:18px;height:18px;font-size:.76rem}
@media (max-width: 900px){.avail-all-grid{grid-template-columns:1fr}}

@keyframes chevronBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.hero-scroll{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:2}

.wa-btn{position:fixed;bottom:2rem;left:2rem;z-index:4000;background:#25D366;color:#fff;border:none;border-radius:2px;padding:.85rem 1.5rem;font-family:var(--sans);font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.6rem;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:background .2s,transform .2s;text-decoration:none}
.wa-btn:hover{background:#1ebe5d;transform:translateY(-2px)}
.wa-btn svg{width:22px;height:22px;flex-shrink:0}
@media(max-width:540px){.wa-btn span.wa-text{display:none}.wa-btn{padding:.9rem;border-radius:2px;width:52px;height:52px;justify-content:center}}

#kalkulator{background:var(--white);padding:5.5rem 3rem}
.calc-box{background:var(--sand);border-radius:4px;padding:2.5rem;max-width:700px;margin:0 auto}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
.calc-fg{display:flex;flex-direction:column;gap:.35rem}
.calc-fg.full{grid-column:span 2}
.calc-fg label{font-size:.7rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.calc-fg input,.calc-fg select{font-family:var(--sans);font-size:.9rem;color:var(--text);background:#fff;border:1px solid var(--sand-dark);border-radius:2px;padding:.7rem .9rem;outline:none;transition:border-color .2s;width:100%}
.calc-fg input:focus,.calc-fg select:focus{border-color:var(--accent)}
.calc-result{background:var(--navy);border-radius:3px;padding:1.5rem 2rem;margin-top:1rem;display:none}
.calc-result.show{display:block}
.calc-result-row{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.calc-result-row:last-child{border-bottom:none;padding-top:.8rem;margin-top:.4rem}
.calc-result-row .lbl{font-size:.82rem;color:rgba(255,255,255,.6)}
.calc-result-row .val{font-family:var(--serif);font-size:1.2rem;color:#fff}
.calc-result-row.total .lbl{font-size:.9rem;font-weight:500;color:rgba(255,255,255,.9)}
.calc-result-row.total .val{font-size:1.8rem;color:var(--accent-light)}
@media(max-width:540px){.calc-grid{grid-template-columns:1fr}.calc-fg.full{grid-column:span 1}}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:8000;background:rgba(26,38,54,.97);backdrop-filter:blur(8px);padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;transform:translateY(100%);transition:transform .4s ease}
.cookie-banner.show{transform:translateY(0)}
.cookie-text{font-size:.82rem;color:rgba(255,255,255,.75);line-height:1.6;flex:1;min-width:200px}
.cookie-text a{color:var(--accent-light);text-decoration:underline}
.cookie-btns{display:flex;gap:.6rem;flex-shrink:0}
.cookie-accept{background:var(--accent);color:#fff;border:none;padding:.6rem 1.4rem;border-radius:2px;font-size:.78rem;font-weight:500;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.cookie-accept:hover{background:#9e7940}
.cookie-decline{background:transparent;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);padding:.6rem 1.1rem;border-radius:2px;font-size:.78rem;cursor:pointer;transition:all .2s}
.cookie-decline:hover{border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.8)}

#recenzije{background:var(--navy);padding:5.5rem 3rem}
#recenzije .sec-label{color:var(--accent-light)}
#recenzije .sec-title{color:#fff}
#recenzije .sec-title em{color:var(--accent-light)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.review-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:1.6rem;transition:transform .25s,border-color .25s}
.review-card:hover{transform:translateY(-4px);border-color:rgba(181,144,90,.3)}
.review-stars{color:#ffd080;font-size:1rem;letter-spacing:.1rem;margin-bottom:.8rem}
.review-text{font-size:.88rem;color:rgba(255,255,255,.75);line-height:1.75;margin-bottom:1.2rem;font-style:italic}
.review-author{display:flex;align-items:center;gap:.8rem}
.review-avatar{width:38px;height:38px;border-radius:50%;background:rgba(181,144,90,.3);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.1rem;color:var(--accent-light);font-weight:400;flex-shrink:0}
.review-name{font-size:.85rem;font-weight:500;color:#fff}
.review-date{font-size:.72rem;color:rgba(255,255,255,.4);margin-top:.1rem}
.reviews-summary{text-align:center;margin-bottom:3rem}
.reviews-score{font-family:var(--serif);font-size:4rem;font-weight:300;color:var(--accent-light);line-height:1}
.reviews-stars-big{color:#ffd080;font-size:1.3rem;letter-spacing:.15rem;margin:.5rem 0}
.reviews-count{font-size:.82rem;color:rgba(255,255,255,.5)}
@media(max-width:960px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.reviews-grid{grid-template-columns:1fr}}



.weather-day{text-align:center;padding:.6rem .3rem;border-right:1px solid rgba(255,255,255,.08)}
.weather-day:last-child{border-right:none}






.weather-header span{font-size:.7rem;color:rgba(255,255,255,.4);letter-spacing:.1em;text-transform:uppercase}

.weather-header a:hover{border-bottom-color:var(--accent-light)}



/* DISCOVER – redesign */
#otkrij{background:var(--sand);padding:5.5rem 3rem}
.discover-intro{max-width:560px;margin-bottom:3rem}
.discover-category{margin-bottom:3rem}
.discover-category-label{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.discover-category-label::after{content:'';flex:1;height:1px;background:var(--sand-dark)}
.discover-grid-new{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.d-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:2px;padding:1.1rem 1.2rem;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;gap:.4rem}
.d-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.07);border-color:var(--accent-light)}
.d-card-ico{font-size:1.4rem;margin-bottom:.2rem}
.d-card-title{font-size:.88rem;font-weight:600;color:var(--navy);line-height:1.35}
.d-card-sub{font-size:.75rem;color:var(--muted);line-height:1.5}
.d-card-arrow{font-size:.7rem;color:var(--accent);margin-top:auto;padding-top:.4rem;opacity:0;transition:opacity .2s}
.d-card:hover .d-card-arrow{opacity:1}
.beaches-section{margin-top:1rem;padding-top:2.5rem;border-top:1px solid var(--sand-dark)}
.beaches-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.4rem;flex-wrap:wrap;gap:.5rem}
.beaches-section-head h3{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--navy)}
.beaches-section-head h3 em{font-style:italic;color:var(--accent)}
.beaches-grid-new{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.beach-card{background:var(--white);border:1px solid var(--sand-dark);border-radius:2px;padding:.9rem 1rem;cursor:pointer;transition:border-color .2s,transform .2s}
.beach-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.beach-card-name{font-size:.86rem;font-weight:600;color:var(--navy);margin-bottom:.2rem;transition:color .2s}
.beach-card:hover .beach-card-name{color:var(--accent)}
.beach-card-dist{font-size:.74rem;color:var(--muted)}
@media(max-width:960px){.discover-grid-new{grid-template-columns:repeat(2,1fr)}.beaches-grid-new{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.discover-grid-new{grid-template-columns:1fr}.beaches-grid-new{grid-template-columns:1fr}}

/* Attraction modal */
.attr-modal{display:none;position:fixed;inset:0;background:rgba(15,25,38,.75);z-index:6000;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px)}
.attr-modal.open{display:flex}
.attr-box{background:var(--white);border-radius:2px;width:100%;max-width:500px;overflow:hidden;animation:modalIn .28s cubic-bezier(.34,1.56,.64,1)}
.attr-box-head{background:var(--navy);padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:center}
.attr-box-head h3{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:#fff}
.attr-box-head button{background:none;border:none;color:rgba(255,255,255,.6);font-size:1.4rem;cursor:pointer;line-height:1}
.attr-box-body{padding:1.4rem 1.6rem}
.attr-box-body p{font-size:.9rem;color:var(--muted);line-height:1.78;margin-bottom:1.2rem}
.attr-box-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(181,144,90,.3);padding-bottom:.15rem;transition:border-color .2s}
.attr-box-link:hover{border-color:var(--accent)}
@media(max-width:960px){.discover-cols{grid-template-columns:1fr 1fr;gap:2.5rem}.beaches-list{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.discover-cols{grid-template-columns:1fr}.beaches-list{grid-template-columns:1fr}}

/* WEATHER WIDGET */
.wx-wrap{margin-top:1.2rem;background:#fff;border:1px solid var(--sand-dark);border-radius:2px;overflow:hidden}
.wx-today{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(135deg,#e8f4fd 0%,#fef9f0 100%);border-bottom:1px solid var(--sand-dark)}
.wx-today-icon{font-size:3rem;line-height:1;flex-shrink:0}
.wx-today-info{}
.wx-today-temp{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--navy);line-height:1}
.wx-today-desc{font-size:.78rem;color:var(--muted);margin-top:.2rem}
.wx-today-loc{font-size:.68rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem}
.wx-forecast{display:grid;grid-template-columns:repeat(3,1fr)}
.wx-day{text-align:center;padding:.8rem .4rem;border-right:1px solid var(--sand-dark)}
.wx-day:last-child{border-right:none}
.wx-day-name{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.wx-day-icon{font-size:1.6rem;margin-bottom:.35rem;display:block}
.wx-day-temps{font-size:.82rem;color:var(--navy);font-weight:500}
.wx-day-temps span{color:var(--muted);font-weight:400}
.wx-footer{text-align:right;padding:.4rem .8rem;background:var(--sand)}
.wx-footer a{font-size:.68rem;color:var(--accent);text-decoration:none;letter-spacing:.06em}

/* NEW PRICING TABLE */
#cjenik{background:var(--sand);padding:5.5rem 3rem}
.price-table-wrap{max-width:700px;margin:2rem auto 0}
.price-table{width:100%;border-collapse:collapse;font-size:.88rem}
.price-table thead th{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.6rem 1rem;text-align:left;border-bottom:2px solid var(--sand-dark)}
.price-table tbody tr{border-bottom:1px solid var(--sand-dark);transition:background .15s}
.price-table tbody tr:hover{background:rgba(181,144,90,.06)}
.price-table td{padding:.7rem 1rem;color:var(--text)}
.price-table td:last-child{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--navy);text-align:right;white-space:nowrap}
.price-table .highlight td{background:rgba(181,144,90,.1)}
.price-table .highlight td:last-child{color:var(--accent)}
.price-extra-note{text-align:center;font-size:.78rem;color:var(--muted);margin-top:1.2rem;padding:.8rem;background:var(--white);border-radius:2px;border:1px solid var(--sand-dark)}

/* ── COMPREHENSIVE RESPONSIVE ────────────────────────────────── */
/* Prevent overflow at all zoom levels */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100vw; }
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; }

/* Nav responsive */
@media (max-width: 1100px) {
  .nav-links { gap: 1rem; }
  .nav-links a { font-size: .72rem; }
  .lang-switcher { margin-left: .8rem; padding-left: .8rem; }
  .lang-btn { padding: .22rem .4rem; font-size: .62rem; }
}
@media (max-width: 900px) {
  .nav-links { display: none; }
  .lang-switcher { margin-left: auto; margin-right: .8rem; border-left: none; padding-left: 0; }
}

/* Stats bar */
@media (max-width: 640px) {
  .stats-bar .stats-inner { gap: 1rem; padding: 1rem; }
  .stat-num { font-size: 1.4rem; }
}

/* Section padding */
@media (max-width: 768px) {
  section, #otkrij, #recenzije, #cjenik, #kalkulator, #kalendar { padding: 3.5rem 1.2rem; }
  .container { padding: 0; }
}
@media (max-width: 480px) {
  section, #otkrij, #recenzije, #cjenik, #kalkulator, #kalendar { padding: 2.5rem 1rem; }
}

/* Apt cards */
@media (max-width: 900px) {
  .apts-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .apts-grid { grid-template-columns: 1fr; }
}

/* Reviews */
@media (max-width: 768px) {
  .reviews-grid { grid-template-columns: 1fr; }
}

/* Discover */
@media (max-width: 900px) {
  .discover-cols { grid-template-columns: 1fr; gap: 2rem; }
  .beaches-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .beaches-list { grid-template-columns: 1fr; }
}

/* Calendar tabs */
@media (max-width: 480px) {
  .cal-tab { font-size: .68rem; padding: .45rem .8rem; }
}

/* Price table */
@media (max-width: 480px) {
  .price-table { font-size: .8rem; }
  .price-table td { padding: .5rem .6rem; }
}

/* Calculator */
@media (max-width: 540px) {
  .calc-grid { grid-template-columns: 1fr; }
  .calc-fg.full { grid-column: span 1; }
}

/* Modal */
@media (max-width: 600px) {
  .modal-box { margin: .5rem; max-height: 95vh; }
  .modal-form-grid { grid-template-columns: 1fr; }
  .modal-fg.full { grid-column: span 1; }
}

/* Location section */
@media (max-width: 768px) {
  .loc-grid { grid-template-columns: 1fr; }
}

/* FAB buttons */
@media (max-width: 480px) {
  .fab { bottom: 1rem; right: 1rem; }
  .wa-btn { bottom: 1rem; left: 1rem; }
}

/* Hero text */
@media (max-width: 480px) {
  .hero-title { font-size: 2.4rem; }
  .hero-sub { font-size: .85rem; }
  .hero-actions { flex-direction: column; gap: .8rem; }
  .hero-actions a { width: 100%; text-align: center; }
}

/* Prevent lang-active inline display from breaking layout */
[data-lang].lang-active { display: inline !important; }
.sec-title [data-lang].lang-active { display: inline; }
.btn-primary [data-lang].lang-active,
.btn-outline [data-lang].lang-active { display: inline; }

/* Zoom-safe widths */
.container { width: 100%; max-width: 1180px; margin: 0 auto; }
.modal-box { width: min(780px, 96vw); }
/* Availability calendar */
.avail-day{border-right:1px solid var(--sand-dark);border-bottom:1px solid var(--sand-dark);min-height:52px;padding:.3rem;position:relative;font-size:.78rem}
.avail-day.empty{background:var(--white)}
.avail-day.free{background:#cfeeda;cursor:pointer}
.avail-day.free:hover{background:#b8e4c8}
.avail-day.taken{background:#f4b6b6}
.avail-day.arrival,.avail-day.departure,.avail-day.turnover{background:#fff}
.avail-day.today .avail-num{background:var(--navy);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.avail-num{font-size:.82rem;font-weight:500;color:var(--navy);width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.avail-day.taken .avail-num,.avail-day.arrival .avail-num,.avail-day.departure .avail-num,.avail-day.turnover .avail-num{color:#7b2b2b}

/* Hello KRK guide */
.hello-krk-section{background:#f4f6f7;padding:5.5rem 3rem;overflow:hidden}
.hello-krk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,410px);gap:clamp(2.5rem,7vw,6rem);align-items:center}
.hello-krk-copy{max-width:660px}
.hello-krk-copy .sec-title{margin-bottom:1.4rem}
.hello-krk-copy>p:not(.sec-label):not(.hello-krk-credit){color:var(--muted);font-size:1rem;line-height:1.85;margin:0 0 1.8rem}
.hello-krk-link{display:inline-flex;align-items:center;justify-content:center}
.hello-krk-credit{margin-top:1rem;font-size:.7rem;color:var(--muted);letter-spacing:0;text-transform:none}
.hello-krk-media{display:flex;align-items:center;justify-content:center;min-height:420px}
.hello-krk-media img{display:block;width:min(100%,360px);height:auto;max-height:560px;object-fit:contain;filter:drop-shadow(0 22px 28px rgba(20,33,48,.16))}
.apt-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}
.apt-from-price{display:inline-flex;align-items:baseline;gap:.2rem;color:var(--muted);font-size:.68rem;white-space:nowrap}
.apt-from-price strong{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--navy)}
.apt-from-price small{font-size:.64rem}
.apt-detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.72rem .9rem;border:1px solid var(--navy);border-radius:2px;color:var(--navy);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:all .2s;white-space:nowrap}
.apt-detail-link:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}
@media (max-width:768px){
  .hello-krk-section{padding:3.5rem 1.2rem}
  .hello-krk-grid{grid-template-columns:1fr;gap:2.2rem}
  .hello-krk-copy{text-align:left}
  .hello-krk-media{min-height:0}
  .hello-krk-media img{width:min(82vw,300px);max-height:440px}
}
@media (max-width:900px){
  .lang-btn{min-width:36px;min-height:36px;padding:.4rem .45rem;font-size:.64rem}
  .apt-nav button{width:40px;height:40px}
  .lb-prev,.lb-next,.lb-x{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
  .footer-col ul a{display:inline-flex;align-items:center;min-height:40px}
  .gal-tab,.cal-tab{min-height:40px}
  .beaches-section-head a,.weather-header a{display:inline-flex;align-items:center;min-height:40px}
}
@media (max-width:540px){
  .apt-foot{align-items:stretch;flex-direction:column}
  .apt-actions{width:100%;flex-wrap:wrap}
  .apt-actions .apt-from-price{flex:0 0 100%;padding-bottom:.2rem}
  .apt-actions .apt-detail-link,.apt-actions .btn-sm{flex:1}
}
@media (max-width:480px){
  .hello-krk-section{padding:2.5rem 1rem}
  .hello-krk-link{width:100%}
}

/* Comfortable touch targets on phones */
@media (max-width:900px){
  .avail-nav-btn{width:44px;height:44px}
  .apt-actions .apt-detail-link,.apt-actions .btn-sm{min-height:44px}
  .wx-footer a{display:inline-flex;align-items:center;min-height:44px}
  .cookie-accept,.cookie-decline{min-height:44px}
  #detailModeBooking,#detailModeQuestion,#modalModeBooking,#modalModeQuestion{min-height:44px}
}

.direct-benefits{display:flex;align-items:center;justify-content:center;gap:.7rem 1.2rem;flex-wrap:wrap;margin-top:.75rem;color:rgba(255,255,255,.78);font-size:.7rem;letter-spacing:.04em}
.direct-benefits>span{display:inline-flex;align-items:center;gap:.25rem}
.booking-info-section{background:var(--white);padding:5.5rem 3rem}
.unified-flow-active #kalkulator{display:none}
.unified-booking-flow{margin-bottom:2.5rem}
.unified-booking-copy{max-width:760px}
.unified-search-box{display:grid;grid-template-columns:1fr 1fr .72fr auto;gap:.8rem;align-items:end;margin-top:2rem;padding:1.4rem;background:var(--white);border:1px solid var(--sand-dark);box-shadow:0 8px 28px rgba(26,38,54,.08)}
.unified-field{display:flex;flex-direction:column;gap:.4rem}
.unified-field label{font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.unified-field input,.unified-field select{width:100%;height:48px;padding:0 .9rem;border:1px solid var(--sand-dark);border-radius:2px;background:#fff;color:var(--navy);font-family:var(--sans);font-size:.88rem;outline:none}
.unified-field input:focus,.unified-field select:focus{border-color:var(--accent)}
.unified-field input[readonly]{cursor:pointer}
.unified-search-box>.btn-primary{height:48px;border:0;font-family:var(--sans);white-space:nowrap}
.unified-season-note{margin-top:.65rem;color:var(--muted);font-size:.7rem}
.unified-status{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:90px;margin-top:1.2rem;padding:1.4rem;background:var(--white);border:1px solid var(--sand-dark);color:var(--navy);font-size:.86rem;text-align:center}
.unified-status-error,.unified-status-empty{flex-direction:column}
.unified-status p{color:var(--muted);font-size:.8rem;line-height:1.6}
.unified-status .btn-primary{margin-top:.25rem;border:0;font-family:var(--sans)}
.unified-spinner{width:20px;height:20px;border:2px solid var(--sand-dark);border-top-color:var(--accent);border-radius:50%;animation:unifiedSpin .7s linear infinite}
@keyframes unifiedSpin{to{transform:rotate(360deg)}}
.unified-results-head{margin-top:2rem}
.unified-results-head h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--navy)}
.unified-results-head p{margin-top:.3rem;color:var(--muted);font-size:.8rem}
.unified-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}
.unified-result-card{display:grid;grid-template-columns:180px 1fr;min-height:220px;background:var(--white);border:1px solid var(--sand-dark)}
.unified-result-card>img{width:100%;height:100%;min-height:220px;object-fit:cover}
.unified-result-body{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;padding:1.15rem}
.unified-result-body h3{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--navy)}
.unified-result-body p{font-size:.75rem;line-height:1.5;color:var(--muted)}
.unified-available-mark{color:#3b7a57!important;font-size:.62rem!important;font-weight:700!important;letter-spacing:.1em;text-transform:uppercase}
.unified-price{display:grid;grid-template-columns:1fr auto;align-items:end;margin-top:auto;padding-top:.65rem;border-top:1px solid var(--sand-dark)}
.unified-price span,.unified-price small{font-size:.68rem;color:var(--muted)}
.unified-price strong{grid-row:1/3;grid-column:2;font-family:var(--serif);font-size:1.75rem;font-weight:500;color:var(--navy)}
.unified-result-body>.btn-primary{width:100%;border:0;font-family:var(--sans)}
.unified-calendar-details{margin-top:2.5rem;border:1px solid var(--sand-dark);background:var(--white)}
.unified-calendar-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px;padding:1rem 1.25rem;cursor:pointer;list-style:none}
.unified-calendar-details>summary::-webkit-details-marker{display:none}
.unified-calendar-details>summary span{display:flex;flex-direction:column;gap:.25rem;color:var(--navy);font-size:.83rem}
.unified-calendar-details>summary small{color:var(--muted);font-size:.7rem;font-weight:400}
.unified-calendar-details>summary i{position:relative;width:16px;height:16px;flex:0 0 16px}
.unified-calendar-details>summary i::before,.unified-calendar-details>summary i::after{content:'';position:absolute;top:8px;left:2px;width:12px;height:1px;background:var(--accent);transition:transform .2s}
.unified-calendar-details>summary i::after{transform:rotate(90deg)}
.unified-calendar-details[open]>summary i::after{transform:rotate(0)}
.unified-calendar-details #avail-calendar{border-top:1px solid var(--sand-dark);box-shadow:none!important}
@media(max-width:1040px){.unified-search-box{grid-template-columns:1fr 1fr}.unified-search-box>.btn-primary{width:100%}.unified-results-grid{grid-template-columns:1fr}}
@media(max-width:680px){.unified-search-box{grid-template-columns:1fr;padding:1rem}.unified-result-card{grid-template-columns:110px 1fr;min-height:230px}.unified-result-card>img{min-height:230px}.unified-price{grid-template-columns:1fr}.unified-price strong{grid-row:auto;grid-column:auto;font-size:1.55rem}.unified-calendar-details>summary{min-height:72px}.unified-calendar-details>summary small{max-width:260px}}
.booking-info-intro{max-width:680px}
.booking-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:2.5rem}
.booking-step{position:relative;border-top:2px solid var(--accent);background:var(--sand);padding:1.45rem 1.25rem 1.35rem;min-height:190px}
.booking-step-number{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:1.1rem;background:var(--navy);color:#fff;font-family:var(--serif);font-size:1.15rem}
.booking-step h3{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--navy);margin-bottom:.6rem}
.booking-step p{font-size:.82rem;line-height:1.7;color:var(--muted)}
.booking-policy-note{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.2rem;padding:1.35rem 1.5rem;border:1px solid var(--sand-dark);background:#fff}
.booking-policy-note>div{max-width:770px}
.booking-policy-note strong{display:block;color:var(--navy);font-size:.82rem;margin-bottom:.35rem}
.booking-policy-note p{color:var(--muted);font-size:.78rem;line-height:1.65}
.booking-policy-note .btn-primary{flex-shrink:0;border:0;font-family:var(--sans);white-space:nowrap}
.booking-faq{margin-top:4.5rem;padding-top:3.5rem;border-top:1px solid var(--sand-dark)}
.booking-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;margin-top:2rem}
.booking-faq-item{border-top:1px solid var(--sand-dark)}
.booking-faq-item:nth-last-child(-n+2){border-bottom:1px solid var(--sand-dark)}
.booking-faq-item summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding:.9rem 2rem .9rem 0;color:var(--navy);font-size:.88rem;font-weight:500;line-height:1.4;cursor:pointer;list-style:none}
.booking-faq-item summary::-webkit-details-marker{display:none}
.booking-faq-item summary span::before,.booking-faq-item summary span::after{content:'';position:absolute;right:.2rem;top:50%;width:12px;height:1px;background:var(--accent);transition:transform .2s}
.booking-faq-item summary span::after{transform:rotate(90deg)}
.booking-faq-item[open] summary span::after{transform:rotate(0)}
.booking-faq-item p{padding:0 2rem 1.2rem 0;color:var(--muted);font-size:.82rem;line-height:1.75}
@media(max-width:960px){.booking-steps{grid-template-columns:1fr 1fr}.booking-faq-list{grid-template-columns:1fr}.booking-faq-item:nth-last-child(2){border-bottom:0}.booking-faq-item:last-child{border-bottom:1px solid var(--sand-dark)}}
@media(max-width:680px){.booking-info-section{padding:3.5rem 1.2rem}.booking-steps{grid-template-columns:1fr}.booking-step{min-height:0}.booking-policy-note{align-items:stretch;flex-direction:column}.booking-policy-note .btn-primary{width:100%}.booking-faq{margin-top:3.5rem;padding-top:2.8rem}}
.review-source-links{display:flex;justify-content:center;gap:.4rem;margin-top:.65rem}
.review-source-links a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:30px;border:1px solid rgba(212,180,138,.55);color:var(--accent-light);font-size:.65rem;font-weight:600;text-decoration:none;transition:all .2s}
.review-source-links a:hover,.review-source-links a:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
@media (max-width:540px){
  .direct-benefits{justify-content:flex-start}
  .review-source-links a{min-width:42px;min-height:42px}
  .apt-stars{min-height:40px}
}
@media(max-width:680px),(prefers-reduced-motion:reduce){
  .hero-img{animation:none;transform:scale(1.02)}
  .hero-content,.hero-scroll{animation:none}
}
