:root{
  --bg:#F6FBFD;
  --bg-panel:#FFFFFF;
  --bg-alt:#E6F2F8;
  --ink:#123249;
  --ink-dim:#5B7C90;
  --accent:#1E96D6;
  --accent-2:#F2784B;
  --muted:#8FB6CC;
  --line:rgba(18,50,73,0.12);
  --radius:14px;
  --serif:"Fraunces", Georgia, serif;
  --sans:"Work Sans", -apple-system, sans-serif;
  --mono:"IBM Plex Mono", monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

a{color:inherit;}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0 0 .5em;letter-spacing:-0.01em;color:var(--ink);}
h1{font-size:clamp(2.2rem, 4.5vw, 3.4rem);line-height:1.08;font-weight:700;}
h2{font-size:clamp(1.6rem, 3vw, 2.2rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1em;}

.eyebrow{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 .8em;
}

.lede{color:var(--ink-dim);font-size:1.05rem;max-width:46ch;}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.85em 1.6em;
  border-radius:999px;
  font-weight:600;
  font-size:.95rem;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.btn-primary{background:var(--accent-2);color:#FFFFFF;}
.btn-primary:hover{background:#F5926B;}
.btn-ghost{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,0.6);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-block{width:100%;padding:1em;}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.6em;}

/* Header */
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(246,251,253,0.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.logo{font-family:var(--serif);font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--ink);margin-right:28px;}
.header-right{display:flex;align-items:center;gap:22px;}
.nav{display:flex;align-items:center;gap:28px;}
.nav a{text-decoration:none;color:var(--ink-dim);font-size:.92rem;font-weight:500;white-space:nowrap;}
.nav a:hover{color:var(--ink);}
.nav-cta{
  background:var(--accent-2);color:#FFFFFF !important;
  padding:.55em 1.2em;border-radius:999px;font-weight:600;
}

/* Language switcher */
.lang-switch{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.lang-flag{
  position:relative;
  width:28px;height:28px;
  border-radius:50%;
  border:none;
  background-size:cover;background-position:center;
  cursor:pointer;padding:0;margin:0;
  opacity:.62;
  overflow:hidden;
  box-shadow:0 2px 5px rgba(18,50,73,0.2), inset 0 -4px 7px rgba(0,0,0,0.22);
  transition:opacity .15s ease, box-shadow .15s ease, transform .15s ease;
}
.lang-flag::before{
  content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0.18) 28%, rgba(255,255,255,0) 52%),
    radial-gradient(circle at 72% 80%, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 48%);
}
.lang-flag:hover{opacity:.88;transform:translateY(-1px);}
.lang-flag.active{
  opacity:1;
  box-shadow:0 2px 6px rgba(18,50,73,0.24), inset 0 -4px 7px rgba(0,0,0,0.22), 0 0 0 2px var(--accent);
}
.lang-flag:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.lang-flag span{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.lang-flag[data-lang="sr"]{background-image:url('https://flagcdn.com/w80/rs.png');}
.lang-flag[data-lang="en"]{background-image:url('https://flagcdn.com/w80/gb.png');}
.lang-flag[data-lang="de"]{background-image:url('https://flagcdn.com/w80/de.png');}
.lang-flag[data-lang="zh"]{background-image:url('https://flagcdn.com/w80/cn.png');}
.lang-flag[data-lang="es"]{background-image:url('https://flagcdn.com/w80/es.png');}
.lang-flag[data-lang="ja"]{background-image:url('https://flagcdn.com/w80/jp.png');}
.lang-flag[data-lang="zh"]{background-image:url('https://flagcdn.com/w80/cn.png');}
.lang-flag[data-lang="es"]{background-image:url('https://flagcdn.com/w80/es.png');}
.lang-flag[data-lang="ja"]{background-image:url('https://flagcdn.com/w80/jp.png');}
.lang-flag[data-lang="ru"]{background-image:url('https://flagcdn.com/w80/ru.png');}
.lang-flag[data-lang="uk"]{background-image:url('https://flagcdn.com/w80/ua.png');}
.lang-flag[data-lang="cs"]{background-image:url('https://flagcdn.com/w80/cz.png');}
.lang-flag[data-lang="it"]{background-image:url('https://flagcdn.com/w80/it.png');}

/* Hero */
.hero{
  padding:50px 0 32px;
  position:relative;
  isolation:isolate;
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.hero-bg{
  position:absolute;top:0;bottom:0;left:24px;right:24px;z-index:0;
  background-size:cover;background-position:center 8%;
  border-radius:20px;overflow:hidden;
}
.hero-overlay{
  position:absolute;top:0;bottom:0;left:24px;right:24px;z-index:0;
  border-radius:20px;overflow:hidden;
  background:linear-gradient(100deg, rgba(8,26,18,0.72) 0%, rgba(8,26,18,0.42) 45%, rgba(8,26,18,0.06) 100%);
}
.hero .hero-grid{position:relative;z-index:1;}
.hero .eyebrow{color:#FFD37A;}
.hero .eyebrow{color:#FFD37A;}
.hero h1{color:#FFFFFF;text-shadow:0 2px 18px rgba(0,0,0,0.35);}
.hero .lede{color:rgba(255,255,255,0.88);text-shadow:0 1px 12px rgba(0,0,0,0.3);}
.hero .btn-ghost{
  border-color:rgba(255,255,255,0.55);color:#FFFFFF;background:rgba(0,0,0,0.15);
}
.hero .btn-ghost:hover{border-color:#FFFFFF;color:#FFFFFF;background:rgba(0,0,0,0.28);}
.hero-card{display:flex;justify-content:flex-end;margin-right:-335px;}
.tag-card{
  position:relative;
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:32px 28px 26px;
  width:100%;
  max-width:300px;
  transform:rotate(3deg);
  box-shadow:0 30px 60px -20px rgba(18,50,73,0.25);
}
.tag-hole{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  width:28px;height:28px;border-radius:50%;
  background:var(--bg);
  border:1px solid var(--line);
}
.tag-label{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  color:var(--muted);margin-bottom:1.2em;
}
.tag-row{
  display:flex;justify-content:space-between;
  padding:.5em 0;border-bottom:1px dashed var(--line);
  font-size:.92rem;
}
.tag-row span{color:var(--ink-dim);}
.tag-row strong{font-family:var(--serif);font-weight:600;color:var(--ink);}
.tag-stamp{
  margin-top:1.4em;text-align:center;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;
  color:var(--accent-2);border:1px solid var(--accent-2);
  border-radius:6px;padding:.5em;transform:rotate(-2deg);
}

/* Sections */
.section{padding:46px 0;}
.section-alt{background:var(--bg-alt);}
.section h2{max-width:20ch;}

/* Usluge grid */
.tag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:2.2em;}
.mini-tag{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
}
.mini-tag-id{
  display:inline-block;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;
  color:var(--accent);border:1px solid var(--accent);
  border-radius:5px;padding:.25em .55em;margin-bottom:1em;
}
.mini-tag p{color:var(--ink-dim);font-size:.92rem;margin:0;}

/* Dnevni red */
.dan-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.dan-grid > div{max-width:640px;}
.dan-photo{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:0 20px 45px -30px rgba(18,50,73,0.35);
}
@media (max-width:860px){
  .dan-grid{grid-template-columns:1fr;}
  .dan-grid .dan-photo{order:-1;}
}
.day-list{list-style:none;margin:1.2em 0 0;padding:0;max-width:520px;}
.day-list li{
  display:flex;gap:20px;align-items:baseline;
  padding:4px 0;border-bottom:1px solid var(--line);
}
.day-time{font-family:var(--mono);color:var(--accent);font-size:.9rem;width:56px;flex-shrink:0;}
.day-text{color:var(--ink);}

/* Galerija */
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2.2em;
}
.gallery-grid img{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:1px solid var(--line);
  cursor:zoom-in;transition:transform .3s ease, box-shadow .3s ease;
}
.gallery-grid img:hover{
  transform:scale(1.045);
  box-shadow:0 18px 34px -14px rgba(18,50,73,0.4);
  position:relative;z-index:1;
}
.gallery-grid-full{grid-template-columns:repeat(3,1fr);}

/* Lightbox */
.lightbox{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(8,20,30,0.92);
  align-items:center;justify-content:center;
  padding:60px 24px;
}
.lightbox.active{display:flex;}
.lightbox-img{
  max-width:90vw;max-height:84vh;object-fit:contain;
  border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,0.5);
  animation:lightboxIn .22s ease;
}
@keyframes lightboxIn{
  from{opacity:0;transform:scale(.96);}
  to{opacity:1;transform:scale(1);}
}
.lightbox-close,.lightbox-prev,.lightbox-next{
  position:absolute;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.28);
  color:#fff;border-radius:50%;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;line-height:1;cursor:pointer;
  transition:background .15s ease, transform .15s ease;
}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{
  background:rgba(255,255,255,0.25);transform:scale(1.06);
}
.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{
  outline:2px solid #fff;outline-offset:2px;
}
.lightbox-close{top:20px;right:20px;}
.lightbox-prev{left:20px;top:50%;transform:translateY(-50%);}
.lightbox-next{right:20px;top:50%;transform:translateY(-50%);}
.lightbox-prev:hover,.lightbox-next:hover{transform:translateY(-50%) scale(1.06);}
@media (max-width:640px){
  .lightbox{padding:20px;}
  .lightbox-close{top:10px;right:10px;width:40px;height:40px;font-size:1.4rem;}
  .lightbox-prev{left:6px;width:40px;height:40px;font-size:1.3rem;}
  .lightbox-next{right:6px;width:40px;height:40px;font-size:1.3rem;}
}
@media (prefers-reduced-motion:reduce){
  .gallery-grid img{transition:none;}
  .lightbox-img{animation:none;}
}

/* Galerija teaser (početna) */
.gallery-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.gallery-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.gallery-preview img{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:1px solid var(--line);
}
.gallery-preview img:nth-child(2){transform:translateY(16px);}

/* Camera teaser */
/* Camera teaser */
.camera-teaser{text-align:left;}
.camera-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.camera-grid > div{max-width:640px;}
.camera-photo-teaser{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:0 20px 45px -30px rgba(18,50,73,0.35);
}
@media (max-width:860px){
  .camera-grid{grid-template-columns:1fr;}
  .camera-grid .camera-photo-teaser{order:-1;max-width:360px;margin:0 auto;}
}

/* Kontakt */
.kontakt-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
.contact-form{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  display:flex;flex-direction:column;gap:16px;
  box-shadow:0 20px 45px -30px rgba(18,50,73,0.35);
}
.field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--ink-dim);}
.field input,.field textarea{
  font:inherit;
  background:var(--bg-alt);
  border:1px solid var(--line);
  border-radius:8px;
  padding:.75em .9em;
  color:var(--ink);
}
.field textarea{resize:vertical;min-height:90px;}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.hidden-field{position:absolute;left:-9999px;}
.form-status{
  margin:0;text-align:center;font-size:.88rem;font-weight:600;min-height:1.2em;
}
.form-status-ok{color:#1E9E5B;}
.form-status-error{color:var(--accent-2);}

/* Lokacija */
.map-frame{
  margin-top:2.2em;width:100%;aspect-ratio:16/8;
  border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
}
.map-link{
  display:inline-block;margin-top:14px;color:var(--accent);
  font-weight:600;font-size:.92rem;text-decoration:none;
}
.map-link:hover{text-decoration:underline;}

/* Partneri */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto;}
.partner-banner-wide{grid-column:1 / -1;}
.partner-banner{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 24px;text-decoration:none;color:var(--ink);
  transition:transform .15s ease, border-color .15s ease;
}
.partner-banner:hover{transform:translateY(-2px);border-color:var(--accent);}
.partner-logo{
  height:32px;max-width:140px;object-fit:contain;object-position:left;
  margin-bottom:4px;
}
.partner-name{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--accent);}
.partner-name-dot{color:var(--ink);font-weight:600;}
.partner-tagline{color:var(--ink-dim);font-size:.9rem;}
.partner-tag{
  margin-top:10px;font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent-2);border:1px solid var(--accent-2);
  border-radius:5px;padding:.25em .55em;
}

/* Uskoro */
.uskoro-block{max-width:640px;margin:0 auto;text-align:center;}
.uskoro-block .lede{max-width:52ch;margin-left:auto;margin-right:auto;}
.uskoro-photo{
  display:block;width:100%;max-width:460px;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:0 20px 45px -30px rgba(18,50,73,0.35);
  margin:2em auto 0;
}
.about-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;margin-top:2.2em;
}
.uskoro-photo-grid{
  width:100%;max-width:460px;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:0 20px 45px -30px rgba(18,50,73,0.35);
  display:block;
}
@media (max-width:860px){
  .about-grid{grid-template-columns:1fr;gap:28px;}
  .about-grid .uskoro-photo-grid{max-width:420px;margin:0 auto;}
}

/* Utisci gostiju */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2.2em;}
.testimonial-card{
  background:var(--bg-panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px 26px 26px;
}
.testimonial-mark{
  display:block;font-family:var(--serif);font-size:2.6rem;line-height:1;
  color:var(--accent-2);margin-bottom:.15em;
}
.testimonial-text{color:var(--ink);font-size:.98rem;font-style:italic;margin:0 0 1.1em;}
.testimonial-author{
  font-family:var(--mono);font-size:.76rem;letter-spacing:.03em;
  color:var(--ink-dim);margin:0;
}
@media (max-width:860px){
  .testimonial-grid{grid-template-columns:1fr;}
}

/* Cenovnik */
.cenovnik-hero{
  padding:50px 0 70px;
  position:relative;
  isolation:isolate;
  min-height:520px;
  display:flex;
  align-items:center;
}
.cenovnik-bg{
  position:absolute;top:0;bottom:0;left:24px;right:24px;z-index:0;
  background-size:cover;background-position:center;
  border-radius:20px;overflow:hidden;
}
.cenovnik-hero .wrap{position:relative;z-index:1;width:100%;}
.cenovnik-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
@media (max-width:860px){.cenovnik-grid{grid-template-columns:1fr;}}
.cenovnik-card{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  max-width:640px;
  margin:0 auto;
  padding:40px 40px 44px;
  box-shadow:0 30px 60px -20px rgba(18,50,73,0.35);
}
.cenovnik-card h1{font-size:clamp(1.8rem,4vw,2.4rem);}
.cenovnik-facts{margin:1.4em 0;}
.cenovnik-facts p{margin:0 0 .2em;color:var(--ink-dim);}
.cenovnik-price{
  font-family:var(--mono);color:var(--accent);font-size:1.05rem;font-weight:600;
}
.cenovnik-list{margin:0 0 1.4em;padding-left:1.2em;color:var(--ink-dim);}
.cenovnik-list li{margin-bottom:.5em;}
.cenovnik-note{font-weight:600;color:var(--ink);}
.cenovnik-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.cenovnik-grid .cenovnik-card{margin:0;max-width:none;}
@media (max-width:860px){
  .cenovnik-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .cenovnik-card{padding:28px 22px 32px;}
}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:28px 0;}
.footer-inner{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  font-size:.85rem;color:var(--ink-dim);
}

/* Scroll reveal */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* Mobilni meni (hamburger) */
.menu-toggle{
  display:none;
  align-items:center;justify-content:center;
  width:38px;height:38px;flex-shrink:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg-panel);
  cursor:pointer;padding:0;
}
.menu-toggle svg{width:19px;height:19px;stroke:var(--ink);}
.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

.mobile-nav{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  z-index:150;
  background:rgba(8,26,38,0.35);
  opacity:0;pointer-events:none;
  transition:opacity .2s ease;
}
.mobile-nav.open{opacity:1;pointer-events:auto;}
.mobile-nav-panel{
  position:absolute;
  top:76px;right:16px;left:auto;bottom:auto;
  width:min(78vw,300px);
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 24px 50px -18px rgba(18,50,73,0.35);
  padding:8px 20px 20px;
  display:flex;flex-direction:column;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease;
}
.mobile-nav.open .mobile-nav-panel{opacity:1;transform:translateY(0);}
.mobile-nav-close{
  align-self:flex-end;
  width:30px;height:30px;border:none;background:transparent;
  font-size:1.6rem;line-height:1;color:var(--ink-dim);cursor:pointer;margin:2px 0 2px;
}
.mobile-nav-panel a{
  display:block;padding:.8em .15em;text-decoration:none;
  color:var(--ink);font-weight:500;font-size:1.02rem;
  border-bottom:1px solid var(--line);
}
.mobile-nav-panel a.nav-cta{
  margin-top:14px;background:var(--accent-2);color:#FFFFFF !important;
  text-align:center;border-radius:999px;border-bottom:none;
  padding:.85em 1em;font-weight:600;
}
@media (prefers-reduced-motion:reduce){
  .mobile-nav,.mobile-nav-panel{transition:none;}
}

/* Responsive */
@media (max-width:1400px){
  .logo{margin-right:16px;}
  .header-right{gap:14px;}
  .nav{gap:16px;}
  .nav a{font-size:.86rem;}
  .lang-switch{gap:5px;}
  .lang-flag{width:24px;height:24px;}
}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-card{display:none;}
  .tag-grid{grid-template-columns:repeat(2,1fr);}
  .kontakt-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-teaser-grid{grid-template-columns:1fr;}
  .partner-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .nav{gap:16px;order:0;flex-shrink:0;}
  .nav a:not(.nav-cta){display:none;}
  .header-right{gap:8px;}
  .lang-switch{
    order:2;
    flex:1 1 auto;
    min-width:0;
    flex-wrap:nowrap;
    gap:5px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .lang-switch::-webkit-scrollbar{display:none;}
  .lang-flag{width:22px;height:22px;flex-shrink:0;}
  .tag-grid{grid-template-columns:1fr;}
  .hero{padding:56px 0 48px;}
  .menu-toggle{display:flex;order:1;flex-shrink:0;}
}

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

/* ===== Privremena zaštita celog sajta lozinkom (pre lansiranja) ===== */
/* Vidi sitelock.js — ova pravila samo kontrolišu prikaz. Kad se ukloni
   sitelock.js iz stranica posle lansiranja, ova sekcija se takođe može obrisati. */
html:not(.h4d-unlocked) body{visibility:hidden;}

#siteLockOverlay{
  position:fixed;inset:0;z-index:99999;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.site-lock-card{
  background:var(--bg-panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:34px 32px;
  max-width:380px;width:100%;
  box-shadow:0 20px 45px -30px rgba(18,50,73,0.35);
}
.site-lock-card label{display:block;font-size:.88rem;color:var(--ink-dim);margin-bottom:8px;}
.site-lock-card input{
  width:100%;font:inherit;background:var(--bg-alt);border:1px solid var(--line);
  border-radius:8px;padding:.8em .9em;color:var(--ink);margin-bottom:14px;
}
.site-lock-error{color:var(--accent-2);font-size:.85rem;min-height:1.2em;margin:-6px 0 10px;}
