:root{
  --bg:#070707;
  --bg2:#0d0d0d;
  --card:#111113;
  --card2:#171717;
  --line:rgba(202,168,92,.28);
  --gold:#caa85c;
  --gold2:#f1d48a;
  --text:#fff;
  --muted:#b9b9b9;
  --radius:22px;
}

/* RESET */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:auto}

/* TYPOGRAPHY */
.gold{color:var(--gold)}
.eyebrow{
  color:var(--gold);
  font-size:13px;
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:10px;
}
h1,h2,h3{margin:0;line-height:1.02}
h1{
  font-family:Georgia,serif;
  font-size:clamp(48px,8vw,112px);
  letter-spacing:-2px;
}
h2{
  font-family:Georgia,serif;
  font-size:clamp(34px,5vw,64px);
}
p{color:var(--muted);line-height:1.75}

/* HEADER */
.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:50;
  background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.58),rgba(0,0,0,0));
  border-bottom:1px solid rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.navbar{
  height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.logo{
  display:flex;
  align-items:center;
  gap:13px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
}
.logo-mark{
  width:50px;
  height:42px;
  border:2px solid #fff;
  border-radius:10px;
  position:relative;
}
.logo-mark:before{
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  border:2px solid #fff;
  border-radius:50%;
  left:12px;
  top:9px;
}
.logo-mark:after{
  content:"";
  position:absolute;
  width:12px;
  height:5px;
  background:#fff;
  border-radius:4px;
  left:8px;
  top:-6px;
}
.logo small{
  display:block;
  color:var(--gold);
  font-size:11px;
  letter-spacing:5px;
  margin-top:3px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:28px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1.4px;
}
.nav-links a{
  color:rgba(255,255,255,.7);
  position:relative;
  transition:.3s;
}
.nav-links a:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  transition:.25s;
}
.nav-links a:hover,
.nav-links a.active{
  color:#fff;
}
.nav-links a:hover:after,
.nav-links a.active:after{
  width:100%;
}
.header-actions{
  display:flex;
  gap:12px;
  align-items:center;
}
.menu-btn{
  display:none;
  background:none;
  border:0;
  color:#fff;
  font-size:30px;
  cursor:pointer;
}

/* BUTTONS */
.btn{
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:#fff;
  padding:14px 20px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  transition:.25s;
  cursor:pointer;
}
.btn:hover{
  transform:translateY(-2px);
  border-color:var(--gold);
  box-shadow:0 15px 40px rgba(202,168,92,.12);
}
.btn-primary{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#14100a;
  border-color:transparent;
}
.btn-wide{width:100%}

/* CALL BUTTON MOBILE */
@media(max-width:768px){
  .btn-call{
    position:relative;
    animation:pulseCall 1.6s infinite;
  }
  @keyframes pulseCall{
    0%{box-shadow:0 0 0 0 rgba(202,168,92,.6)}
    70%{box-shadow:0 0 0 18px rgba(202,168,92,0)}
    100%{box-shadow:0 0 0 0 rgba(202,168,92,0)}
  }
}

/* HERO */
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:150px 0 90px;
  position:relative;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62),rgba(0,0,0,.1)),
    url("img/121.webp") center/cover no-repeat;
}
.hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:220px;
  background:linear-gradient(0deg,var(--bg),transparent);
}
.hero-content{
  position:relative;
  z-index:2;
  width:min(720px,100%);
}
.hero p{
  font-size:21px;
  color:#f0f0f0;
}
.hero-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.hero-stats{
  margin-top:46px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  max-width:620px;
}
.stat{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.32);
  border-radius:16px;
  padding:18px;
}
.stat b{
  font-size:25px;
  color:var(--gold);
  display:block;
}
.stat span{
  font-size:12px;
  color:#ccc;
  text-transform:uppercase;
  letter-spacing:1px;
}

/* LAYOUT */
.section{padding:82px 0}
.section-dark{background:#0a0a0a}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:38px;
}
.section-head p{max-width:560px}
.grid{display:grid;gap:22px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}

/* VIDEO CARDS */
.video-card,
.package,
.feature,
.contact-card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  overflow:hidden;
  transition:.3s;
}
.video-card:hover,
.package:hover,
.feature:hover,
.contact-card:hover{
  transform:translateY(-6px);
  border-color:var(--line);
}
.video-card{
  position:relative;
  overflow:hidden;
}
.video-thumb{
  height:210px;
  background:center/cover no-repeat;
  position:relative;
  overflow:hidden;
  transition:transform .45s ease, filter .45s ease;
}
.video-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(0,0,0,.75),transparent 65%),
    radial-gradient(circle at center,rgba(202,168,92,.12),transparent 45%);
  opacity:.85;
  transition:.35s ease;
}
.video-card:hover .video-thumb{
  transform:scale(1.06);
  filter:contrast(1.08) brightness(.92);
}
.video-card:hover .video-thumb::after{
  opacity:1;
}
.video-card::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:0;
  transform:scaleX(.4);
  transition:.35s ease;
}
.video-card:hover::after{
  opacity:1;
  transform:scaleX(1);
}
.play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:62px;
  height:62px;
  border-radius:50%;
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.45);
  display:grid;
  place-items:center;
  z-index:2;
  transition:.35s ease;
}
.play:before{
  content:"";
  border-left:17px solid #fff;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  margin-left:5px;
}
.video-card:hover .play{
  transform:translate(-50%,-50%) scale(1.12);
  border-color:var(--gold);
  background:rgba(202,168,92,.22);
  box-shadow:0 0 28px rgba(202,168,92,.35);
}
.video-card h3{
  padding:18px 18px 4px;
  font-size:18px;
  position:relative;
  z-index:3;
  transition:.3s;
}
.video-card p{
  padding:0 18px 20px;
  margin:0;
  font-size:14px;
  position:relative;
  z-index:3;
}
.video-card:hover h3{color:var(--gold)}

/* VIDEO MODAL */
.video-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}
.video-modal.active{display:flex}
.video-content{
  position:relative;
  width:90%;
  max-width:900px;
  aspect-ratio:16/9;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 100px rgba(0,0,0,.8);
  animation:zoomIn .3s ease;
}
.video-content iframe{
  width:100%;
  height:100%;
  border:none;
}
.close{
  position:absolute;
  top:-40px;
  right:0;
  font-size:30px;
  color:#fff;
  cursor:pointer;
}
@keyframes zoomIn{
  from{transform:scale(.8);opacity:0}
  to{transform:scale(1);opacity:1}
}

/* PACKAGES */
.package{
  padding:34px;
  position:relative;
  overflow:hidden;
}
.package::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right,rgba(202,168,92,.18),transparent 40%);
  opacity:0;
  transition:.4s ease;
  pointer-events:none;
}
.package:hover{
  transform:translateY(-10px) scale(1.02);
  border-color:rgba(202,168,92,.5);
  box-shadow:
    0 30px 80px rgba(0,0,0,.6),
    0 0 40px rgba(202,168,92,.15);
}
.package:hover::before{opacity:1}
.package h3{
  font-size:26px;
  margin-bottom:18px;
  transition:.3s;
}
.package:hover h3{color:var(--gold)}
.package-desc{
  position:relative;
  z-index:2;
}
.package ul{
  padding:0;
  margin:0;
  list-style:none;
  position:relative;
  z-index:2;
}
.package li{
  color:#d5d5d5;
  margin:12px 0;
  padding-left:21px;
  position:relative;
}
.package li:before{
  content:"•";
  color:var(--gold);
  position:absolute;
  left:0;
}
.price{
  font-size:42px;
  color:var(--gold);
  font-weight:900;
  margin:24px 0;
  transition:.3s;
  position:relative;
  z-index:2;
}
.package:hover .price{
  transform:scale(1.06);
  color:var(--gold2);
}
.package .btn{
  position:relative;
  z-index:2;
}
.package:hover .btn{
  box-shadow:
    0 10px 30px rgba(202,168,92,.3),
    0 0 20px rgba(202,168,92,.2);
  transform:translateY(-2px);
}
.package-note{
  margin:12px 0 0;
  color:rgba(255,255,255,.56);
  font-size:12.5px;
  line-height:1.45;
  text-align:center;
  position:relative;
  z-index:2;
}

/* FEATURED PACKAGE */
.package.featured{
  position:relative;
  z-index:3;
  transform:scale(1.045);
  border:1px solid rgba(241,212,138,.78);
  background:
    radial-gradient(circle at 78% 10%,rgba(202,168,92,.16),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
  box-shadow:
    0 34px 95px rgba(0,0,0,.62),
    0 0 0 1px rgba(202,168,92,.18),
    0 0 42px rgba(202,168,92,.18);
}
.package.featured::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(202,168,92,0),rgba(241,212,138,.36),rgba(202,168,92,0));
  opacity:.38;
  filter:blur(14px);
  z-index:-1;
  animation:standardGlow 3.4s ease-in-out infinite;
  pointer-events:none;
}
.package.featured::after{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  transform:skewX(-18deg);
  transition:.8s ease;
  pointer-events:none;
}
.package.featured:hover::after{left:135%}
@keyframes standardGlow{
  0%,100%{opacity:.26;transform:scale(1)}
  50%{opacity:.52;transform:scale(1.025)}
}
.package.featured:hover{
  transform:scale(1.065) translateY(-12px);
  border-color:rgba(241,212,138,.98);
  box-shadow:
    0 42px 115px rgba(0,0,0,.72),
    0 0 0 1px rgba(241,212,138,.28),
    0 0 62px rgba(202,168,92,.28);
}
.package .badge,
.package.featured .badge{
  position:absolute;
  top:16px;
  right:16px;
  transform:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  background:rgba(202,168,92,.16);
  color:var(--gold2);
  border:1px solid rgba(241,212,138,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:7px 13px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  box-shadow:
    0 0 18px rgba(202,168,92,.20),
    inset 0 1px 0 rgba(255,255,255,.10);
  animation:badgeBreath 2.8s ease-in-out infinite;
  z-index:5;
}
@keyframes badgeBreath{
  0%,100%{box-shadow:0 0 12px rgba(202,168,92,.12),inset 0 1px 0 rgba(255,255,255,.10)}
  50%{box-shadow:0 0 24px rgba(202,168,92,.34),inset 0 1px 0 rgba(255,255,255,.16)}
}
.package.featured h3{
  color:#fff;
  padding-right:125px;
  text-shadow:0 0 18px rgba(202,168,92,.22);
}
.package.featured .package-desc strong{color:#f4f4f4}
.package.featured .price{
  color:var(--gold2);
  text-shadow:0 0 24px rgba(202,168,92,.24);
}
.package.featured .standard-btn,
.package.featured .btn{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#111;
  border:none;
  box-shadow:
    0 16px 42px rgba(202,168,92,.30),
    inset 0 1px 0 rgba(255,255,255,.34);
  position:relative;
  overflow:hidden;
}
.package.featured .standard-btn::after,
.package.featured .btn::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:skewX(-18deg);
  transition:.65s ease;
}
.package.featured:hover .standard-btn::after,
.package.featured:hover .btn::after{
  left:130%;
}

/* FEATURES */
.feature{
  padding:28px;
  text-align:center;
}
.icon{
  position:relative;
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.12);
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  font-size:28px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:.3s ease;
  animation:floatIcon 4s ease-in-out infinite;
}
.icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.08),transparent 60%);
  opacity:0;
  transition:.3s;
}
.icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:rgba(255,255,255,.88);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.feature:hover .icon{
  color:#fff;
  border-color:rgba(202,168,92,.5);
  background:rgba(255,255,255,.08);
  box-shadow:
    0 0 20px rgba(202,168,92,.2),
    0 0 40px rgba(202,168,92,.1);
  transform:scale(1.1);
}
.feature:hover .icon svg{stroke:#fff}
.feature h3{transition:.3s}
.feature:hover h3{
  color:var(--gold);
  transform:translateY(-2px);
}
@keyframes floatIcon{
  0%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
  100%{transform:translateY(0)}
}

/* CTA / FORMA SECTION - CLEAN FINAL */
.cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:110px 0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.88) 32%,rgba(0,0,0,.58) 62%,rgba(0,0,0,.28) 100%),
    url("img/forma.webp") 75% center / cover no-repeat !important;
  border-top:1px solid rgba(202,168,92,.12);
  border-bottom:1px solid rgba(202,168,92,.12);
}
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 30%,rgba(202,168,92,.08),transparent 42%),
    radial-gradient(circle at 18% 48%,rgba(202,168,92,.04),transparent 38%);
}

.cta .container{
  position:relative;
  z-index:2;
}
.form-wrap{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:44px;
  align-items:center;
}
.form-box,
.info-box{
  border-radius:var(--radius);
  padding:34px;
}
.cta .info-box,
.cta .form-box{
  background:rgba(8,8,8,.58);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(202,168,92,.26);
  box-shadow:
    0 24px 78px rgba(0,0,0,.68),
    inset 0 1px 0 rgba(255,255,255,.05);
  transition:.3s ease;
}
.cta .info-box:hover,
.cta .form-box:hover{
  border-color:rgba(202,168,92,.45);
  box-shadow:
    0 28px 88px rgba(0,0,0,.75),
    0 0 25px rgba(202,168,92,.10);
}
.cta .info-box h2{
  text-shadow:0 0 28px rgba(0,0,0,.55);
}
.cta .info-box p{
  color:rgba(255,255,255,.76);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.form-group.full{grid-column:1/-1}
label{
  display:block;
  font-size:12px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:900;
  margin-bottom:8px;
}
input,
select,
textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:#0c0c0d;
  color:#fff;
  border-radius:12px;
  padding:15px;
  font-size:15px;
  outline:none;
}
textarea{
  min-height:130px;
  resize:vertical;
}
.cta input,
.cta select,
.cta textarea{
  background:rgba(0,0,0,.58);
  border:1px solid rgba(255,255,255,.12);
  color:#eee;
  transition:.2s ease;
}
.cta input:hover,
.cta select:hover,
.cta textarea:hover{
  border-color:rgba(202,168,92,.36);
}
.cta input:focus,
.cta select:focus,
.cta textarea:focus{
  border-color:var(--gold);
  background:rgba(0,0,0,.74);
  box-shadow:0 0 0 2px rgba(202,168,92,.12);
  transform:translateY(-1px);
}
.cta .btn-primary{
  min-height:54px;
  position:relative;
  overflow:hidden;
  box-shadow:
    0 12px 35px rgba(202,168,92,.25),
    inset 0 1px 0 rgba(255,255,255,.25);
}
.cta .btn-primary::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);
  transition:.75s ease;
}
.cta .btn-primary:hover::after{left:130%}
.form-note{
  font-size:13px;
  color:#aaa;
  margin-top:14px;
  text-align:center;
}
.contact-lines{margin-top:20px}
.contact-line{
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0;
  font-weight:600;
}
.contact-line svg{
  width:20px;
  height:20px;
  stroke:var(--gold);
  stroke-width:1.8;
  fill:none;
  opacity:.88;
  flex-shrink:0;
}
.contact-line span{color:#ddd}

/* FAQ */
.faq-item{
  border-bottom:1px solid rgba(255,255,255,.1);
}
.faq-question{
  width:100%;
  background:none;
  border:none;
  color:#fff;
  font-size:18px;
  text-align:left;
  padding:20px 0;
  display:flex;
  justify-content:space-between;
  cursor:pointer;
}
.faq-question span{
  color:var(--gold);
  font-size:22px;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  color:rgba(255,255,255,.7);
  transition:.3s ease;
}
.faq-item.active .faq-answer{
  max-height:220px;
  padding-bottom:15px;
}

/* FOOTER */
.footer{
  background:#030303;
  border-top:1px solid rgba(255,255,255,.08);
  padding:64px 0 25px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1.2fr;
  gap:35px;
}
.footer h4{
  color:#fff;
  text-transform:uppercase;
  letter-spacing:1.2px;
}
.footer a,
.footer p{
  color:#aaa;
  font-size:14px;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:38px;
  padding-top:22px;
  color:#777;
  font-size:13px;
  text-align:center;
}

/* FLOATING VIBER */
.floating-viber{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:50px;
  background:linear-gradient(135deg,#7b3ff2,#5d42d8);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:
    0 18px 45px rgba(123,63,242,.35),
    0 0 0 0 rgba(123,63,242,.45);
  animation:viberPulse 2s infinite;
  transition:.3s ease;
}
.floating-viber:hover{
  transform:translateY(-4px) scale(1.05);
  box-shadow:
    0 22px 55px rgba(123,63,242,.45),
    0 0 28px rgba(123,63,242,.25);
}
.floating-viber svg{
  width:30px;
  height:30px;
  fill:#fff;
  flex:0 0 auto;
}
.viber-label{
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.viber-badge{
  position:absolute;
  top:-7px;
  right:-6px;
  background:#00ff88;
  color:#000;
  font-size:10px;
  font-weight:900;
  padding:4px 7px;
  border-radius:20px;
  box-shadow:0 0 14px rgba(0,255,136,.65);
}
.viber-tooltip{
  position:absolute;
  right:0;
  bottom:76px;

  background:rgba(10,10,10,.92);
  color:#fff;

  border:1px solid rgba(202,168,92,.35);
  border-radius:14px;

  padding:10px 13px;

  width:220px;

  font-size:13px;
  font-weight:600;
  line-height:1.35;

  box-shadow:0 20px 50px rgba(0,0,0,.45);

  opacity:0;
  transform:translateY(10px);

  pointer-events:none;

  transition:.35s ease;
}

.viber-tooltip::after{
  content:"";
  position:absolute;
  right:22px;
  bottom:-7px;
  width:14px;
  height:14px;
  background:rgba(10,10,10,.92);
  border-right:1px solid rgba(202,168,92,.35);
  border-bottom:1px solid rgba(202,168,92,.35);
  transform:rotate(45deg);
}

.viber-tooltip.show-once{
  animation:viberTooltipOnce 6s ease forwards !important;
}

.floating-viber:hover .viber-tooltip{
  opacity:1;
  transform:translateY(0);
}

@keyframes viberTooltipOnce{
  0%{opacity:0;transform:translateY(10px)}
  18%{opacity:1;transform:translateY(0)}
  72%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(10px)}
}

@media(max-width:768px){

  .viber-tooltip{
    display:block !important;
    animation:viberTooltipOnce 6s ease forwards !important;
  }

}
  18%{opacity:1;transform:translateY(0)}
  72%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(10px)}
}

/* REVEAL */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:.7s;
}
.reveal.visible{
  opacity:1;
  transform:none;
}
.success{
  display:none;
  margin-top:15px;
  padding:14px;
  border:1px solid rgba(70,255,160,.25);
  border-radius:12px;
  background:rgba(70,255,160,.08);
  color:#caffdf;
}

/* RESPONSIVE */
@media(max-width:900px){
  .menu-btn{display:block}

  .nav-links{
    position:fixed;
    inset:86px 0 auto 0;
    background:#050505;
    display:none;
    flex-direction:column;
    padding:30px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav-links.open{display:flex}
  .header-actions .btn{display:none}

  .grid-4,
  .grid-3,
  .grid-2,
  .form-wrap,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .section-head{display:block}

  .hero{
    min-height:100vh;
    padding:115px 0 45px;
    align-items:flex-start;
    background:
      linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62),rgba(0,0,0,.1)),
      url("img/121.webp") 62% center/cover no-repeat !important;
  }
  .hero-content{
    width:100%;
    padding-top:10px;
  }
  .hero .eyebrow{
    font-size:11px;
    letter-spacing:3px;
    margin-bottom:12px;
  }
  .hero h1{
    font-size:34px;
    line-height:1.12;
    letter-spacing:-.8px;
    max-width:340px;
  }
  .hero p{
    font-size:13.5px;
    line-height:1.6;
    max-width:330px;
    opacity:.86;
    font-weight:300;
  }
  .hero-buttons{
    margin-top:22px;
    gap:12px;
  }
  .hero-buttons .btn{
    width:100%;
    justify-content:center;
    padding:15px 18px;
  }
  .hero-stats{
    margin-top:28px;
    grid-template-columns:1fr;
    gap:10px;
    max-width:100%;
  }
  .stat{
    padding:14px 16px;
    background:rgba(0,0,0,.42);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    border-color:rgba(202,168,92,.18);
  }
  .stat b{font-size:28px}
  .stat span{font-size:11px}

  .form-grid{grid-template-columns:1fr}

  .cta{
    padding:80px 0;
    background:
      linear-gradient(180deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.82) 58%,rgba(0,0,0,.70) 100%),
      url("img/forma.webp") center center / cover no-repeat !important;
  }
  .cta::before{
    background:
      radial-gradient(circle at 70% 30%,rgba(202,168,92,.06),transparent 38%);
  }
  .cta .info-box,
  .cta .form-box{
    padding:26px;
  }

  .package.featured{
    transform:none;
  }
  .package.featured:hover{
    transform:translateY(-6px);
  }
  .package.featured h3{
    padding-right:0;
    margin-top:24px;
  }
  .package .badge,
  .package.featured .badge{
    top:14px;
    right:14px;
    padding:6px 10px;
    font-size:10px;
  }

  .floating-viber{
    width:62px;
    height:62px;
    padding:0;
    border-radius:50%;
    justify-content:center;
    right:18px;
    bottom:18px;
  }
  .floating-viber svg{
    width:32px;
    height:32px;
  }
  .viber-label{display:none}
  .viber-tooltip{
    right:0;
    bottom:74px;
    width:210px;
    font-size:12px;
  }
}



/* =========================================================
   O NAMA - LEVEL MAX FINAL
   ========================================================= */

.about-hero{
  min-height:62vh;
  display:flex;
  align-items:flex-end;
  padding:155px 0 80px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.72) 42%, rgba(0,0,0,.28) 100%),
    url("img/o-nama.webp") center / cover no-repeat;
}

.about-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:190px;
  background:linear-gradient(0deg, var(--bg), transparent);
  pointer-events:none;
}

.about-hero .container{
  position:relative;
  z-index:2;
}

.about-hero p{
  max-width:620px;
  color:rgba(255,255,255,.82);
  font-size:18px;
  margin-top:18px;
}

.about-section{
  position:relative;
  overflow:hidden;
}

.about-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(202,168,92,.07), transparent 34%),
    radial-gradient(circle at 85% 75%, rgba(202,168,92,.05), transparent 30%);
  pointer-events:none;
}

.about-grid{
  align-items:center;
  position:relative;
  z-index:2;
}

.about-copy p{
  font-size:16px;
  color:rgba(255,255,255,.72);
}

.about-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:28px 0;
}

.about-points div{
  border:1px solid rgba(202,168,92,.18);
  background:rgba(255,255,255,.035);
  border-radius:16px;
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.about-points strong{
  display:block;
  color:var(--gold2);
  font-size:24px;
  line-height:1;
  margin-bottom:6px;
}

.about-points span{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
}

.about-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.about-photo{
  position:relative;
  min-height:520px;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(202,168,92,.22);
  background:rgba(255,255,255,.03);
  box-shadow:
    0 34px 110px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.about-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(0deg, rgba(0,0,0,.65), transparent 55%),
    radial-gradient(circle at 72% 20%, rgba(202,168,92,.12), transparent 35%);
  pointer-events:none;
}

.about-photo-inner{
  position:absolute;
  inset:0;
  background:url("img/o-nama.webp") center / cover no-repeat;
  transform:scale(1.02);
  transition:1.1s ease;
}

.about-photo:hover .about-photo-inner{
  transform:scale(1.08);
}

.about-features .feature{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
}

.about-features .icon{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.about-features .icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:rgba(255,255,255,.82);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:.3s ease;
}

.about-features .feature:hover .icon{
  background:rgba(202,168,92,.06);
  border-color:rgba(202,168,92,.42);
  box-shadow:
    0 0 24px rgba(202,168,92,.14),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.about-features .feature:hover .icon svg{
  stroke:#fff;
}

.about-cta{
  padding-top:0;
}

.about-cta-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:38px;
  border-radius:var(--radius);
  border:1px solid rgba(202,168,92,.26);
  background:
    radial-gradient(circle at 85% 20%, rgba(202,168,92,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
  box-shadow:0 28px 90px rgba(0,0,0,.55);
}

.about-cta-box h2{
  font-size:clamp(30px,4vw,52px);
}

.about-cta-box p{
  max-width:680px;
  margin-bottom:0;
}

@media(max-width:900px){
  .about-hero{
    min-height:58vh;
    padding:125px 0 60px;
    background:
      linear-gradient(180deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.72) 62%, rgba(0,0,0,.55) 100%),
      url("img/o-nama.webp") center / cover no-repeat;
  }

  .about-photo{
    min-height:390px;
  }

  .about-points{
    grid-template-columns:1fr;
  }

  .about-buttons .btn{
    width:100%;
  }

  .about-cta-box{
    display:block;
    padding:28px;
  }

  .about-cta-box .btn{
    width:100%;
    margin-top:22px;
  }
}



/* =========================================================
   ULTRA CINEMATIC O NAMA + LEVEL MAX HOMEPAGE FINAL
   ========================================================= */

/* HOME HERO - Apple/Netflix premium depth */
.hero{
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.70) 45%, rgba(0,0,0,.18) 100%),
    url("img/121.webp") center / cover no-repeat !important;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 32%, rgba(202,168,92,.10), transparent 38%),
    radial-gradient(circle at 18% 48%, rgba(202,168,92,.06), transparent 36%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.42));
}

.hero::after{
  z-index:1;
  height:260px;
  background:linear-gradient(0deg, var(--bg) 0%, rgba(7,7,7,.86) 35%, transparent 100%);
}

.hero-content{
  z-index:3;
}

.hero h1{
  text-shadow:0 22px 80px rgba(0,0,0,.62);
}

.hero p{
  color:rgba(255,255,255,.86);
  text-shadow:0 10px 45px rgba(0,0,0,.65);
}

.hero .btn-primary{
  box-shadow:
    0 18px 55px rgba(202,168,92,.28),
    inset 0 1px 0 rgba(255,255,255,.30);
}

.hero .stat{
  background:rgba(0,0,0,.42);
  border-color:rgba(202,168,92,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

/* HOME SECTION DEPTH */
.section{
  position:relative;
}

.video-card,
.package,
.feature{
  box-shadow:0 18px 60px rgba(0,0,0,.28);
}

.video-card:hover,
.package:hover,
.feature:hover{
  box-shadow:
    0 28px 90px rgba(0,0,0,.52),
    0 0 36px rgba(202,168,92,.10);
}

/* O NAMA HERO - cleaner premium version */
.about-hero{
  min-height:64vh !important;
  display:flex;
  align-items:flex-end;
  padding:155px 0 82px !important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.75) 40%, rgba(0,0,0,.35) 100%),
    url("img/o-nama.webp") center / cover no-repeat !important;
}

.about-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 28%, rgba(202,168,92,.10), transparent 38%),
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.35));
}

.about-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:230px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg, var(--bg) 0%, rgba(7,7,7,.82) 38%, transparent 100%);
}

.about-hero .container{
  position:relative;
  z-index:3;
}

.about-hero h1{
  text-shadow:0 24px 90px rgba(0,0,0,.72);
}

.about-hero p{
  max-width:640px;
  color:rgba(255,255,255,.82);
  font-size:18px;
  margin-top:18px;
  text-shadow:0 10px 40px rgba(0,0,0,.62);
}

/* O NAMA PHOTO - true cinematic card */
.about-photo{
  position:relative;
  min-height:540px;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(202,168,92,.26);
  background:rgba(255,255,255,.025);
  box-shadow:
    0 42px 125px rgba(0,0,0,.72),
    0 0 46px rgba(202,168,92,.10),
    inset 0 1px 0 rgba(255,255,255,.06);
  transform:translateZ(0);
}

/* cinematic overlay */
.about-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(0deg, rgba(0,0,0,.72), transparent 60%),
    radial-gradient(circle at 72% 20%, rgba(202,168,92,.15), transparent 35%),
    radial-gradient(circle at 20% 80%, rgba(0,0,0,.62), transparent 42%);
}

/* subtle film grain without external image */
.about-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  opacity:.045;
  mix-blend-mode:overlay;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.35) 1px, transparent 1px),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,.24) 1px, transparent 1px);
  background-size:4px 4px, 7px 7px;
}

.about-photo-inner{
  position:absolute;
  inset:0;
  background:url("img/o-nama.webp") center / cover no-repeat !important;
  transform:scale(1.12) translateX(0);
  filter:brightness(.75) contrast(1.15) saturate(1.05) blur(1px);
  transition:1.2s ease;
  animation:cinematicMove 12s ease-in-out infinite alternate;
}

.about-photo:hover .about-photo-inner{
  transform:scale(1.18) translateX(-10px);
  filter:brightness(.86) contrast(1.20) saturate(1.10) blur(0);
}

@keyframes cinematicMove{
  0%{transform:scale(1.12) translateX(0);}
  100%{transform:scale(1.18) translateX(-10px);}
}

/* O nama text cards */
.about-points div{
  transition:.3s ease;
}

.about-points div:hover{
  transform:translateY(-4px);
  border-color:rgba(202,168,92,.38);
  box-shadow:
    0 18px 55px rgba(0,0,0,.36),
    0 0 24px rgba(202,168,92,.08);
}

/* transparent icons premium */
.about-features .icon,
.feature .icon{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.about-features .icon svg,
.feature .icon svg{
  fill:none;
  stroke:rgba(255,255,255,.82);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.about-features .feature:hover .icon,
.feature:hover .icon{
  background:rgba(202,168,92,.06);
  border-color:rgba(202,168,92,.44);
  box-shadow:
    0 0 28px rgba(202,168,92,.15),
    inset 0 1px 0 rgba(255,255,255,.09);
}

.about-features .feature:hover .icon svg,
.feature:hover .icon svg{
  stroke:#fff;
}

/* about CTA stronger */
.about-cta-box{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(202,168,92,.30);
  background:
    radial-gradient(circle at 86% 20%, rgba(202,168,92,.14), transparent 34%),
    radial-gradient(circle at 14% 90%, rgba(202,168,92,.06), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.014));
  box-shadow:
    0 32px 105px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.about-cta-box::after{
  content:"";
  position:absolute;
  top:0;
  left:-140%;
  width:72%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  transform:skewX(-18deg);
  transition:.9s ease;
  pointer-events:none;
}

.about-cta-box:hover::after{
  left:135%;
}

/* responsive polish */
@media(max-width:900px){
  .hero{
    background:
      linear-gradient(180deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.74) 58%, rgba(0,0,0,.48) 100%),
      url("img/121.webp") 62% center / cover no-repeat !important;
  }

  .about-hero{
    min-height:60vh !important;
    padding:125px 0 64px !important;
    background:
      linear-gradient(180deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.74) 62%, rgba(0,0,0,.56) 100%),
      url("img/o-nama.webp") center / cover no-repeat !important;
  }

  .about-photo{
    min-height:390px;
  }

  .about-photo-inner{
    animation:none;
    transform:scale(1.08);
    filter:brightness(.82) contrast(1.12) saturate(1.02) blur(.4px);
  }

  .about-photo:hover .about-photo-inner{
    transform:scale(1.12);
  }
}
.hero h1{
  text-shadow:0 20px 80px rgba(0,0,0,.7);
}

.hero p{
  text-shadow:0 10px 40px rgba(0,0,0,.6);
}
.cta .info-box h2{
  text-shadow:0 0 30px rgba(0,0,0,.6);
}
.sticky-call{
  display:none;
}

@media(max-width:768px){
  .sticky-call{
    display:block;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index:9999;
    background:linear-gradient(135deg,#caa85c,#f1d48a);
    text-align:center;
    padding:16px;
    box-shadow:0 -10px 40px rgba(0,0,0,.4);
  }

  .sticky-call a{
    color:#111;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:15px;
  }
}.btn-call{
  animation: callPulse 1.6s infinite;
}

@keyframes callPulse{
  0%{box-shadow:0 0 0 0 rgba(202,168,92,.6)}
  70%{box-shadow:0 0 0 20px rgba(202,168,92,0)}
  100%{box-shadow:0 0 0 0 rgba(202,168,92,0)}
}
.video-thumb iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  filter:brightness(.65);
}

.video-card:hover iframe{
  filter:brightness(.9);
  transform:scale(1.05);
}



/* =========================================================
   PORTFOLIO GRID - HOLLYWOOD FINAL
   8 kartica = 4 + 4 desktop / 2 tablet / 1 mobile
   ========================================================= */

.grid.grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
}

.video-card{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  cursor:pointer;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015));
  border:1px solid rgba(202,168,92,.18);
  box-shadow:
    0 22px 70px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.06);
  transform:translateZ(0);
  transition:
    transform .38s ease,
    border-color .38s ease,
    box-shadow .38s ease;
}

.video-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 18%, rgba(241,212,138,.12), transparent 34%),
    linear-gradient(135deg, rgba(202,168,92,.18), transparent 38%, rgba(255,255,255,.035));
  opacity:.45;
  transition:.38s ease;
}

.video-card::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:0;
  height:2px;
  z-index:4;
  background:linear-gradient(90deg, transparent, var(--gold2), transparent);
  opacity:0;
  transform:scaleX(.35);
  transition:.38s ease;
}

.video-card:hover{
  transform:translateY(-10px) scale(1.018);
  border-color:rgba(241,212,138,.55);
  box-shadow:
    0 36px 110px rgba(0,0,0,.68),
    0 0 42px rgba(202,168,92,.13),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.video-card:hover::before{
  opacity:.8;
}

.video-card:hover::after{
  opacity:1;
  transform:scaleX(1);
}

.video-thumb{
  height:auto;
  aspect-ratio:16/9;
  min-height:0;
  position:relative;
  overflow:hidden;
  background-size:cover !important;
  background-position:center !important;
  transform:translateZ(0);
  transition:transform .55s ease, filter .55s ease;
}

.video-thumb::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 68% 26%, rgba(241,212,138,.18), transparent 36%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.36)),
    linear-gradient(90deg, rgba(0,0,0,.28), transparent 48%, rgba(0,0,0,.14));
  opacity:.82;
  transition:.38s ease;
}

.video-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to top, rgba(0,0,0,.72), transparent 62%);
  opacity:.88;
  transition:.38s ease;
}

.video-card:hover .video-thumb{
  transform:scale(1.065);
  filter:contrast(1.08) brightness(.94) saturate(1.08);
}

.video-card:hover .video-thumb::before{
  opacity:1;
}

.video-card h3,
.video-card p{
  position:relative;
  z-index:3;
}

.video-card h3{
  padding:19px 20px 4px;
  font-size:18px;
  line-height:1.15;
  letter-spacing:.2px;
}

.video-card p{
  padding:0 20px 22px;
  font-size:13.5px;
  color:rgba(255,255,255,.62);
}

.play{
  width:66px;
  height:66px;
  z-index:5;
  background:
    radial-gradient(circle, rgba(241,212,138,.24), rgba(0,0,0,.58));
  border:1px solid rgba(241,212,138,.55);
  box-shadow:
    0 0 0 8px rgba(0,0,0,.14),
    0 18px 45px rgba(0,0,0,.45),
    0 0 35px rgba(202,168,92,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.video-card:hover .play{
  transform:translate(-50%,-50%) scale(1.12);
  border-color:rgba(241,212,138,.95);
  background:
    radial-gradient(circle, rgba(241,212,138,.38), rgba(0,0,0,.64));
  box-shadow:
    0 0 0 10px rgba(202,168,92,.08),
    0 20px 55px rgba(0,0,0,.55),
    0 0 42px rgba(202,168,92,.32);
}

.video-content{
  border:1px solid rgba(241,212,138,.24);
  box-shadow:
    0 34px 120px rgba(0,0,0,.85),
    0 0 55px rgba(202,168,92,.14);
}

@media(max-width:1100px){
  .grid.grid-4{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:700px){
  .grid.grid-4{
    grid-template-columns:1fr;
    gap:18px;
  }

  .video-card{
    border-radius:20px;
  }

  .play{
    width:58px;
    height:58px;
  }
}
.footer-pro {
  background: #0a0a0a;
  color: #fff;
}

.footer-cta {
  text-align: center;
  padding: 60px 20px;
  background: linear-gradient(180deg, #111, #000);
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.footer-cta h2 {
  font-size: 32px;
  margin-bottom: 10px;
}

.footer-cta p {
  opacity: 0.7;
  margin-bottom: 25px;
}

.footer-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.btn-call {
  background: #1a1a1a;
  border: 1px solid #444;
}

.footer-grid {
  padding: 50px 0;
}

.footer a {
  color: #ccc;
  transition: 0.3s;
}

.footer a:hover {
  color: #d4af37; /* gold */
}
.logo-img img{
  width:115px !important;
  height:auto;
  display:block;
  object-fit:contain;
}

@media(max-width:768px){

  .navbar{
    height:74px;
  }

  .logo-img img{
    width:95px !important;
  }

}
.header .logo{
  display:flex;
  align-items:center;
}

/* =========================================================
   KONTAKT STRANICA - FINAL SANDWICH FIX
   hero / crni separator / forma - bez spajanja slika
   ========================================================= */

.kontakt-hero-pro{
  min-height:68vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:145px 0 110px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.58) 42%, rgba(0,0,0,.35) 100%),
    url("img/kontakt.webp") center / cover no-repeat !important;
}

.kontakt-hero-pro::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 75% 30%, rgba(202,168,92,.11), transparent 38%),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.50));
}

.kontakt-hero-pro::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:190px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg, #050505 0%, rgba(5,5,5,.82) 45%, transparent 100%);
}

.kontakt-hero-pro .container{
  position:relative;
  z-index:3;
}

.kontakt-hero-pro h1{
  max-width:820px;
  text-shadow:0 22px 80px rgba(0,0,0,.75);
}

.kontakt-hero-pro p{
  max-width:620px;
  color:rgba(255,255,255,.86);
  font-size:18px;
  line-height:1.65;
  text-shadow:0 10px 35px rgba(0,0,0,.65);
}

/* CRNI SANDWICH IZMEĐU HERO I FORME */
.kontakt-sandwich{
  position:relative;
  z-index:4;
  padding:70px 0 78px;
  background:
    radial-gradient(circle at 50% 0%, rgba(202,168,92,.08), transparent 32%),
    linear-gradient(180deg, #050505 0%, #090909 55%, #050505 100%);
  border-top:1px solid rgba(202,168,92,.10);
  border-bottom:1px solid rgba(202,168,92,.12);
}

.kontakt-sandwich::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(760px,80%);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(241,212,138,.55), transparent);
}

.kontakt-sandwich-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:34px 38px;
  border-radius:24px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(202,168,92,.22);
  box-shadow:
    0 25px 90px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.kontakt-sandwich-card span{
  display:block;
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:10px;
}

.kontakt-sandwich-card h2{
  font-size:clamp(32px,4vw,58px);
}

.kontakt-sandwich-card p{
  max-width:440px;
  margin:0;
  color:rgba(255,255,255,.70);
}

/* FORMA NE SME DA SE LEPI ZA HERO */
.kontakt-form-section{
  margin-top:0 !important;
  padding-top:95px !important;
  padding-bottom:110px !important;
  background:
    linear-gradient(180deg, rgba(5,5,5,.96) 0%, rgba(10,10,10,.88) 42%, rgba(5,5,5,.98) 100%),
    url("img/forma.webp") 75% center / cover no-repeat !important;
}

.kontakt-form-section.cta{
  margin-top:0 !important;
}

@media(max-width:900px){
  .kontakt-hero-pro{
    min-height:58vh;
    padding:125px 0 80px;
    background:
      linear-gradient(180deg, rgba(0,0,0,.90) 0%, rgba(0,0,0,.70) 60%, rgba(0,0,0,.52) 100%),
      url("img/kontakt.webp") center / cover no-repeat !important;
  }

  .kontakt-hero-pro p{
    font-size:15px;
  }

  .kontakt-sandwich{
    padding:48px 0 54px;
  }

  .kontakt-sandwich-card{
    display:block;
    padding:26px;
  }

  .kontakt-sandwich-card p{
    margin-top:16px;
  }

  .kontakt-form-section{
    padding-top:70px !important;
    padding-bottom:85px !important;
    background:
      linear-gradient(180deg, rgba(5,5,5,.97), rgba(10,10,10,.90), rgba(5,5,5,.98)),
      url("img/forma.webp") center / cover no-repeat !important;
  }
}
/* FIX RAZMAKA KOD FOOTER LINIJE */

.cta{
  padding-bottom:40px !important; /* smanjuje razmak iznad linije */
}

/* ta linija (ako je hr ili border-top) */
footer{
  margin-top:40px !important;
  padding-top:40px !important;
}

/* ako imaš poseban divider */
.divider,
.section-divider{
  margin:40px auto !important;
  opacity:.3;
}
footer{
  border-top:1px solid rgba(202,168,92,.25);
}
/* Ukloni sve duple linije */
.cta{
  border-bottom:none !important;
}

footer{
  border-top:1px solid rgba(255,255,255,.08); /* samo jedna linija */
}

/* ako postoji divider */
.divider,
.section-divider,
hr{
  display:none !important;
}
footer{
  border-top:1px solid rgba(202,168,92,.25);
}
.cta{
  margin-bottom:0 !important;
}

.footer-pro{
  margin-top:0 !important;
  padding-top:28px !important;
}

/* =========================================================
   FINAL FIX - UKLANJANJE NEŽELJENIH HORIZONTALNIH LINIJA
   Problem su pravili globalni border-i:
   .cta border-top/bottom, .footer border-top,
   .footer-cta border-bottom, .footer-bottom border-top
   ========================================================= */

.cta,
.kontakt-form-section{
  border-top:none !important;
  border-bottom:none !important;
}

.footer,
.footer-pro{
  border-top:none !important;
  margin-top:0 !important;
}

.footer-cta{
  border-top:none !important;
  border-bottom:none !important;
}

.footer-bottom{
  border-top:none !important;
}

/* Kontakt strana: uklanja tanku zlatnu/sivu liniju iz sandwich sekcije */
.kontakt-sandwich{
  border-top:none !important;
  border-bottom:none !important;
}

.kontakt-sandwich::before,
.kontakt-sandwich::after{
  display:none !important;
}

/* Ako se negde pojavi ručni divider ili hr */
hr,
.divider,
.section-divider{
  display:none !important;
}

/* =========================================================
   HARD FIX - UKLANJA TRAGOVE/LINIJE NA SVIM STRANICAMA OSIM INDEXA
   Ostavlja index bez diranja, a čisti O nama / Portfolio / Kontakt.
   ========================================================= */

/* O nama hero fade linije */
.about-hero::after,
.about-hero::before{
  box-shadow:none !important;
}

/* Kontakt hero + sandwich tragovi */
.kontakt-hero-pro::after,
.kontakt-hero-pro::before,
.kontakt-sandwich::before,
.kontakt-sandwich::after{
  box-shadow:none !important;
}

.kontakt-sandwich{
  border-top:none !important;
  border-bottom:none !important;
}

/* Portfolio / ostali page hero tragovi */
.page-hero,
.hero-galerija,
.about-hero,
.kontakt-hero-pro{
  border-bottom:none !important;
  box-shadow:none !important;
}

/* Sve sekcije posle hero-a na unutrašnjim stranama bez linija */
body:has(.about-hero) .section,
body:has(.hero-galerija) .section,
body:has(.kontakt-hero-pro) .section{
  border-top:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
}

/* CTA i footer globalni tragovi */
.cta,
.footer,
.footer-pro,
.footer-cta,
.footer-bottom{
  border-top:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
}

/* Ako pretraživač ne podrži :has, ovo dodatno čisti standardne klase */
.about-section,
.about-cta,
.about-features,
.kontakt-form-section,
.section-dark{
  border-top:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
}

/* Ručni separatori */
hr,
.divider,
.section-divider{
  display:none !important;
}

/* Zadrži samo kartice da imaju svoj border */
.info-box,
.form-box,
.package,
.video-card,
.feature,
.about-cta-box,
.kontakt-sandwich-card{
  border-color:rgba(202,168,92,.22) !important;
}
.cta::after{
  display:none !important;
}
.btn-primary{
  background:linear-gradient(135deg,#d4af37,#f1d27a);
  color:#111 !important;
  font-weight:600;
}
/* GLOBAL MOBILE HERO - SVETLIJE SLIKE NA TELEFONU */
@media(max-width:768px){

  .hero,
  .about-hero,
  .hero-galerija,
  .kontakt-hero,
  .kontakt-hero-pro,
  .page-hero{
    background-blend-mode:normal !important;
    filter:none !important;
  }

  .hero{
    background:
      linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.22)),
      url("img/121.webp") center/cover no-repeat !important;
  }

  .about-hero{
    background:
      linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.22)),
      url("img/o-nama.webp") center/cover no-repeat !important;
  }

  .hero-galerija{
    background:
      linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.22)),
      url("img/galerija.webp") center/cover no-repeat !important;
  }

  .kontakt-hero,
  .kontakt-hero-pro{
    background:
      linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.22)),
      url("img/kontakt.webp") center/cover no-repeat !important;
  }

  .hero::before,
  .about-hero::before,
  .kontakt-hero-pro::before{
    background:rgba(0,0,0,.18) !important;
  }
}
/* PREGAZI INLINE STYLE NA MOBILNOM */
@media(max-width:768px){

  .page-hero{
    background:
    linear-gradient(90deg,
      rgba(0,0,0,.55),
      rgba(0,0,0,.15)
    ) !important;

    background-size:cover !important;
    background-position:center !important;
  }

}
/* --- FIX ZA SVETLIJE HERO SLIKE NA MOBILNOM I TABLETU --- */
@media (max-width: 991px) {
  /* Glavna Hero sekcija */
  .hero {
    background-image: 
      linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), 
      url("img/121.webp") !important;
    background-position: 62% center !important;
    background-size: cover !important;
  }

  /* O Nama Hero */
  .about-hero {
    background-image: 
      linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), 
      url("img/o-nama.webp") !important;
    background-position: center !important;
    background-size: cover !important;
  }

  /* Galerija Hero */
  .hero-galerija {
    background-image: 
      linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), 
      url("img/galerija.webp") !important;
    background-position: center !important;
    background-size: cover !important;
  }

  /* Kontakt Hero */
  .kontakt-hero-pro, .kontakt-hero {
    background-image: 
      linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), 
      url("img/kontakt.webp") !important;
    background-position: center !important;
    background-size: cover !important;
  }

  /* Isključivanje svih tamnih filtera i blend modova koji guše sliku */
  .hero, .about-hero, .hero-galerija, .kontakt-hero, .kontakt-hero-pro {
    background-blend-mode: normal !important;
    filter: none !important;
  }

  /* Pojačavanje senke na slovima da bi se tekst video na svetlijoj slici */
  .hero h1, .about-hero h1, .hero-galerija h1, .kontakt-hero-pro h1 {
    text-shadow: 2px 2px 15px rgba(0,0,0,0.7) !important;
  }
}
/* --- KRAJ FIX-A --- */
/* OSNOVNO */
.logo-image img{
  width:100%;
  height:auto;
  display:block;
}
.logo-image{
  display:flex;
  align-items:center;
  width:260px;
  margin-right:20px;
}

.logo-image img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}

/* mobile */
@media(max-width:768px){
  .logo-image{
    width:180px;
  }
}

/* footer */
.footer .logo-image{
  width:240px;
}

/* DESKTOP HEADER */
.header .logo-image{
  width:220px;
}

/* MOBILE HEADER */
@media(max-width:768px){
  .header .logo-image{
    width:160px;
  }
}

/* FOOTER LOGO */
.footer .logo-image{
  width:200px;
}.footer-cta{
  text-align:center !important;
}

.footer-cta h2,
.footer-cta p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.footer-cta p{
  display:block !important;
  max-width:760px !important;
  width:100% !important;
  margin-top:0 !important;
  margin-bottom:24px !important;
  color:rgba(255,255,255,.65) !important;
}document.querySelectorAll(".video-card").forEach(card => {
  card.addEventListener("click", function () {
    const videoUrl = this.getAttribute("data-video");
    const modal = document.getElementById("videoModal");
    const frame = document.getElementById("videoFrame");

    frame.src = videoUrl;
    modal.classList.add("active");
  });
});

// zatvaranje
document.querySelector(".close").addEventListener("click", function () {
  document.getElementById("videoModal").classList.remove("active");
  document.getElementById("videoFrame").src = "";
});

/* =========================================
   FINAL FIX - VIDEO MODAL + PORTFOLIO
========================================= */
body.modal-open{
  overflow:hidden;
}
.video-modal{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.88) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  z-index:999999 !important;
  padding:22px !important;
}
.video-modal.active{
  display:flex !important;
}
.video-content{
  position:relative !important;
  width:min(920px,94vw) !important;
  aspect-ratio:16/9 !important;
  background:#000 !important;
  border-radius:18px !important;
  overflow:visible !important;
  box-shadow:0 30px 100px rgba(0,0,0,.85) !important;
}
.video-content iframe{
  width:100% !important;
  height:100% !important;
  border:0 !important;
  border-radius:18px !important;
  display:block !important;
  background:#000 !important;
}
.video-modal .close{
  position:absolute !important;
  top:-48px !important;
  right:0 !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(0,0,0,.45) !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:1 !important;
  cursor:pointer !important;
  border-radius:50% !important;
  z-index:2 !important;
}
.video-card[data-video=""] .play,
.video-card:not([data-video]) .play{
  opacity:.45;
}
.video-card[data-video=""]{
  cursor:default;
}
.grid.grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.logo-image img{
  width:100%;
  height:auto;
  display:block;
}
.header .logo-image{
  width:260px;
}
.footer .logo-image{
  width:200px;
  margin-bottom:14px;
}
@media(max-width:900px){
  .grid.grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .header .logo-image{
    width:180px;
  }
}
@media(max-width:620px){
  .grid.grid-4{
    grid-template-columns:1fr !important;
  }
  .video-modal{
    padding:14px !important;
  }
  .video-content{
    width:96vw !important;
    border-radius:14px !important;
  }
  .video-content iframe{
    border-radius:14px !important;
  }
  .video-modal .close{
    top:-44px !important;
    font-size:32px !important;
  }
}
.cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(255, 200, 0, 0.3);
}
.contact-line {
  cursor: pointer;
  transition: 0.2s;
}

.contact-line:hover {
  transform: translateX(5px);
  color: #ffd700;
}

/* =========================================================
   BOOKING UI FIX - FINAL CLEAN
   ========================================================= */
.kontakt-form-section .form-box{
  padding:46px !important;
}

.kontakt-form-section .booking-ui{
  display:flex;
  flex-direction:column;
  gap:26px;
}

.kontakt-form-section .booking-ui .form-group{
  margin-bottom:0 !important;
  width:100%;
}

.kontakt-form-section .booking-ui label{
  display:block;
  margin-bottom:12px;
  color:#caa85c;
  letter-spacing:1.8px;
}

.kontakt-form-section .option-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:0;
}

.kontakt-form-section .option-buttons button{
  min-height:46px;
  padding:13px 18px;
  border-radius:14px;
  background:rgba(0,0,0,.52);
  border:1px solid rgba(202,168,92,.20);
  color:#fff;
  cursor:pointer;
  transition:.22s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.kontakt-form-section .option-buttons button:hover,
.kontakt-form-section .option-buttons button.active{
  background:linear-gradient(135deg,#caa85c,#f1d48a);
  color:#111;
  border-color:transparent;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(202,168,92,.22);
}

.kontakt-form-section .package-auto-box{
  display:block !important;
  width:100% !important;
  min-height:70px;
  border:1px solid rgba(202,168,92,.22);
  background:rgba(0,0,0,.52);
  border-radius:14px;
  padding:16px;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.5;
  position:relative;
  z-index:5;
}

.kontakt-form-section .package-auto-box.active{
  border-color:rgba(241,212,138,.7);
  background:rgba(202,168,92,.08);
  box-shadow:0 12px 30px rgba(202,168,92,.12);
}

.kontakt-form-section .package-auto-box strong{
  display:block !important;
  color:#f1d48a;
  font-size:18px;
  margin-bottom:4px;
}

.kontakt-form-section .package-auto-box span{
  display:block !important;
  color:rgba(255,255,255,.7);
}

.kontakt-form-section .booking-ui input,
.kontakt-form-section .booking-ui textarea{
  width:100%;
  min-height:54px;
  border-radius:14px;
  padding:16px;
  background:rgba(0,0,0,.62);
}

.kontakt-form-section .booking-ui textarea{
  min-height:150px;
}

.kontakt-form-section .booking-submit{
  display:flex !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  margin-top:28px;
  min-height:62px;
  border-radius:16px;
  letter-spacing:1.5px;
  box-shadow:0 18px 45px rgba(202,168,92,.25);
}

.kontakt-form-section .form-note{
  margin-top:18px;
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.68);
}

@media(max-width:768px){
  .kontakt-form-section .form-box{
    padding:28px !important;
  }
  .kontakt-form-section .booking-ui{
    gap:22px;
  }
  .kontakt-form-section .option-buttons button{
    flex:1 1 calc(50% - 8px);
  }
  .kontakt-form-section .package-auto-box{
    padding:16px !important;
    font-size:13px;
  }
  .kontakt-form-section .package-auto-box strong{
    font-size:17px;
  }
  .kontakt-form-section .booking-submit{
    min-height:58px;
  }
}
/* FINAL UX POLISH - Booking forma */
.booking-ui {
  gap: 24px;
}

.form-group.full {
  width: 100%;
}

.package-auto-box {
  border: 1px solid rgba(202,168,92,.28);
  background: rgba(0,0,0,.55);
  border-radius: 16px;
  padding: 18px;
  min-height: 74px;
  transition: .25s ease;
}

.package-auto-box.active {
  border-color: rgba(241,212,138,.85);
  background: rgba(202,168,92,.09);
  box-shadow: 0 0 28px rgba(202,168,92,.16);
  transform: translateY(-2px);
}

.package-auto-box strong {
  display: block;
  color: #f1d48a;
  font-size: 20px;
  margin-bottom: 5px;
}

.package-auto-box span {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

.option-buttons button.active {
  box-shadow: 0 0 24px rgba(202,168,92,.25);
}

.form-box .btn-wide {
  position: sticky;
  bottom: 12px;
  z-index: 20;
}

/* mobile polish */
@media(max-width:768px){
  .form-box {
    padding: 24px !important;
  }

  .booking-ui {
    gap: 20px;
  }

  .option-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .option-buttons button {
    width: 100%;
    min-height: 48px;
  }

  .package-auto-box {
    padding: 16px;
    min-height: 76px;
  }

  .package-auto-box strong {
    font-size: 18px;
  }

  .form-box .btn-wide {
    margin-top: 24px;
    min-height: 58px;
    bottom: 8px;
  }
}
/* LUX PRICE UI */
.package-auto-box.active {
  position: relative;
  overflow: hidden;
  border-color: rgba(241,212,138,.9) !important;
  background:
    radial-gradient(circle at top right, rgba(241,212,138,.16), transparent 34%),
    rgba(0,0,0,.62) !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.45),
    0 0 32px rgba(202,168,92,.22);
}

.package-auto-box.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 70%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  transform: skewX(-18deg);
  animation: priceShine 2.8s ease-in-out infinite;
}

@keyframes priceShine {
  0% { left: -120%; }
  45% { left: 130%; }
  100% { left: 130%; }
}

.package-auto-box.active strong {
  color: #f1d48a;
  text-shadow: 0 0 18px rgba(202,168,92,.35);
}

.package-auto-box.active span {
  display: inline-block;
  margin-top: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg,#caa85c,#f1d48a);
  color: #111 !important;
  font-weight: 900;
}
/* FIX dugmadi na indexu */
.option-buttons button {
  background: #0c0c0d !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  cursor: pointer;
  transition: .2s;
}

/* hover + aktivno */
.option-buttons button:hover,
.option-buttons button.active {
  background: linear-gradient(135deg,#caa85c,#f1d48a) !important;
  color: #111 !important;
  border-color: transparent !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(202,168,92,.25);
}
/* INDEX FORMA - samo početna strana */
.index-booking-form {
  padding: 44px !important;
}

.index-booking-form .booking-ui {
  gap: 24px;
}

.index-booking-form .form-group {
  margin-bottom: 4px;
}

.index-booking-form label {
  margin-bottom: 10px;
}

.index-booking-form .option-buttons {
  gap: 12px;
  margin-top: 12px;
}

.index-booking-form .option-buttons button {
  min-height: 46px;
  padding: 13px 18px !important;
}

.index-booking-form input {
  min-height: 56px;
}

.index-booking-form .package-auto-box {
  min-height: 78px;
  padding: 18px 20px !important;
}

.index-booking-form textarea {
  min-height: 150px;
}

.index-booking-form .btn-wide {
  margin-top: 28px !important;
  min-height: 62px;
}

@media(max-width:768px){
  .index-booking-form {
    padding: 28px !important;
  }

  .index-booking-form .booking-ui {
    gap: 20px;
  }
}
/* =========================================
   INDEX – EXTRA AIR (NE DIRA KONTAKT)
   ========================================= */

.index-booking-form {
  padding: 48px !important;
}

.index-booking-form .booking-ui {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

/* SVAKI BLOK DA DIŠE */
.index-booking-form .form-group {
  margin-bottom: 6px;
}

/* LABEL ODVOJI */
.index-booking-form label {
  margin-bottom: 12px;
  display: block;
}

/* DUGMAD RAZMAK */
.index-booking-form .option-buttons {
  gap: 14px;
  margin-top: 10px;
}

/* INPUTI VEĆI */
.index-booking-form input {
  min-height: 58px;
  padding: 16px;
}

/* TEXTAREA VEĆI */
.index-booking-form textarea {
  min-height: 160px;
}

/* PAKET BOX PRODIŠE */
.index-booking-form .package-auto-box {
  padding: 22px !important;
  min-height: 90px;
}

/* DUGME DA NE GUŠI */
.index-booking-form .btn-wide {
  margin-top: 32px !important;
  min-height: 64px;
}

/* NOTE ISPOD */
.index-booking-form .form-note {
  margin-top: 16px;
}
/* samo index CTA razmak */
.index-booking-form {
  transform: translateY(10px);
}
/* =========================================
   INDEX BOOKING – APPLE FEEL
   ne dira kontakt stranu
========================================= */

.index-booking-form {
  padding: 54px !important;
  border-radius: 28px !important;
  background: rgba(8,8,8,.50) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    0 35px 120px rgba(0,0,0,.72),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 45px rgba(202,168,92,.10);
}

.index-booking-form .booking-ui {
  gap: 30px;
}

.index-booking-form label {
  margin-bottom: 13px;
  letter-spacing: 2px;
}

.index-booking-form .option-buttons {
  gap: 14px;
}

.index-booking-form .option-buttons button {
  min-height: 50px;
  padding: 14px 20px !important;
  border-radius: 16px !important;
  background: rgba(0,0,0,.48) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}

.index-booking-form .option-buttons button.active {
  background: linear-gradient(135deg,#caa85c,#f1d48a) !important;
  color: #111 !important;
  box-shadow:
    0 16px 35px rgba(202,168,92,.25),
    inset 0 1px 0 rgba(255,255,255,.35);
}

.index-booking-form input,
.index-booking-form textarea {
  min-height: 60px;
  border-radius: 18px !important;
  padding: 18px !important;
  background: rgba(0,0,0,.56) !important;
}

.index-booking-form textarea {
  min-height: 170px;
}

.index-booking-form .package-auto-box {
  border-radius: 20px !important;
  padding: 24px !important;
  min-height: 96px;
}

.index-booking-form .btn-wide {
  min-height: 68px;
  border-radius: 20px !important;
  margin-top: 36px !important;
  letter-spacing: 1.8px;
}

.index-booking-form .form-note {
  margin-top: 18px;
  opacity: .82;
}

/* MOBILE */
@media(max-width:768px){
  .index-booking-form {
    padding: 30px !important;
    border-radius: 24px !important;
  }

  .index-booking-form .booking-ui {
    gap: 24px;
  }

  .index-booking-form .option-buttons {
    grid-template-columns: 1fr 1fr;
  }

  .index-booking-form .btn-wide {
    min-height: 62px;
  }
}
/* INDEX FORMA - samo malo vazduha, ne dira kontakt */
.home-booking-fix .form-box {
  padding: 38px !important;
}

.home-booking-fix .booking-ui {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.home-booking-fix .option-buttons {
  gap: 12px;
  margin-top: 10px;
}

.home-booking-fix input,
.home-booking-fix textarea {
  min-height: 56px;
}

.home-booking-fix textarea {
  min-height: 150px;
}

.home-booking-fix .package-auto-box {
  padding: 20px !important;
  min-height: 86px;
}

.home-booking-fix .btn-wide {
  margin-top: 28px !important;
  min-height: 62px;
}
/* O NAMA - rezervacije kartica centriranje */
.about-cta {
  padding: 90px 0 90px !important;
}

.about-cta .container {
  display: flex;
  justify-content: center;
}

.about-cta-box {
  width: min(100%, 980px);
  margin: 0 auto !important;
  align-items: center;
}

@media(max-width:900px){
  .about-cta {
    padding: 70px 0 70px !important;
  }
}
/* O NAMA CTA dugme fix */
.about-cta-box .btn {
  padding: 12px 22px;        /* manji padding */
  font-size: 12.5px;         /* malo manji tekst */
  height: auto;              /* skini stretch */
  min-width: unset;
  width: auto;               /* da ne bude full širine */
  border-radius: 10px;
  white-space: nowrap;
}

/* desktop poravnanje */
.about-cta-box {
  align-items: center;
}

/* MOBILE da ostane lepo */
@media(max-width:900px){
  .about-cta-box .btn {
    width: 100%;             /* na telefonu neka bude full */
    padding: 14px;
  }
}
.about-cta-note {
  max-width: 280px;
  color: rgba(255,255,255,.66);
  font-size: 14px;
  line-height: 1.7;
  border-left: 1px solid rgba(202,168,92,.45);
  padding-left: 18px;
}

@media(max-width:900px){
  .about-cta-note {
    max-width: 100%;
    margin-top: 22px;
  }
}
/* PORTFOLIO INTRO KARTICA */
.portfolio-intro {
  display: flex;
  justify-content: center;
  margin: 50px 0 10px;
}

.portfolio-intro-box {
  max-width: 720px;
  padding: 26px 32px;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  text-align: center;

  /* malo “premium” osećaj */
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}

.portfolio-intro-box p {
  color: rgba(255,255,255,.75);
  font-size: 16px;
  line-height: 1.8;
}

/* MOBILE */
@media(max-width:768px){
  .portfolio-intro-box {
    padding: 20px;
  }
}
.portfolio-intro-box .eyebrow {
  margin-bottom: 12px;
}
/* PORTFOLIO INTRO ANIMACIJA */
.portfolio-intro-box {
  position: relative;
  overflow: hidden;
}

.portfolio-intro-box::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold2), transparent);
  transform: translateX(-50%);
  transition: width .9s ease;
}

.portfolio-intro.visible .portfolio-intro-box::after {
  width: 70%;
}

.portfolio-intro-box .eyebrow {
  margin-bottom: 12px;
  opacity: .9;
  text-shadow: 0 0 18px rgba(202,168,92,.25);
}

.portfolio-intro.visible .portfolio-intro-box {
  animation: portfolioCardIn .8s ease forwards;
}

@keyframes portfolioCardIn {
  from {
    opacity: 0;
    transform: translateY(18px);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
/* PORTFOLIO GOLD GLOW (on scroll) */
.portfolio-intro-box {
  transition: box-shadow .5s ease, border-color .5s ease;
}

/* kada uđe u viewport */
.portfolio-intro.visible .portfolio-intro-box {
  border-color: rgba(202,168,92,.45);
  box-shadow:
    0 30px 90px rgba(0,0,0,.55),
    0 0 30px rgba(202,168,92,.18),
    0 0 60px rgba(202,168,92,.08);
}
.portfolio-intro.visible .portfolio-intro-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;

  background:
    radial-gradient(circle at 70% 20%, rgba(241,212,138,.18), transparent 40%);

  opacity: .6;
}
/* =========================================
   LUX GLOW ANIMACIJA (PORTFOLIO INTRO)
========================================= */

.portfolio-intro-box {
  position: relative;
  transition: box-shadow .5s ease, border-color .5s ease;
  overflow: hidden;
}

/* glow kada uđe u viewport */
.portfolio-intro.visible .portfolio-intro-box {
  border-color: rgba(241,212,138,.55);
  box-shadow:
    0 30px 90px rgba(0,0,0,.6),
    0 0 30px rgba(202,168,92,.18),
    0 0 70px rgba(202,168,92,.10);
}

/* GOLD LIGHT SPOT */
.portfolio-intro-box::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;

  background:
    radial-gradient(circle at 70% 20%, rgba(241,212,138,.22), transparent 40%),
    radial-gradient(circle at 20% 80%, rgba(202,168,92,.12), transparent 45%);

  opacity: 0;
  transition: opacity .6s ease;
}

/* uključi glow */
.portfolio-intro.visible .portfolio-intro-box::before {
  opacity: .7;
}

/* LIGHT SWEEP (Apple efekat) */
.portfolio-intro-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  pointer-events: none;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.18),
    transparent
  );

  transform: skewX(-18deg);
}

/* pokret kad se pojavi */
.portfolio-intro.visible .portfolio-intro-box::after {
  animation: luxSweep 2.6s ease forwards;
}

@keyframes luxSweep {
  0% { left: -120%; }
  60% { left: 140%; }
  100% { left: 140%; }
}
/* FIX - PORTFOLIO LIGHT SWEEP */
.portfolio-intro-box {
  position: relative !important;
  overflow: hidden !important;
}

.portfolio-intro-box > * {
  position: relative;
  z-index: 2;
}

/* poništava staru zlatnu liniju i pravi sweep */
.portfolio-intro-box::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -140% !important;
  width: 70% !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: none !important;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.22),
    transparent
  ) !important;

  transform: skewX(-18deg) !important;
}

/* animacija kad kartica postane visible */
.portfolio-intro.visible .portfolio-intro-box::after {
  animation: portfolioSweepFix 2.4s ease forwards !important;
}

@keyframes portfolioSweepFix {
  0% {
    left: -140%;
  }
  100% {
    left: 140%;
  }
}
/* PORTFOLIO INTRO - lagano presijavanje */
.portfolio-intro.visible .portfolio-intro-box {
  animation: portfolioGlowBreath 3.8s ease-in-out infinite;
}

@keyframes portfolioGlowBreath {
  0%, 100% {
    box-shadow:
      0 30px 90px rgba(0,0,0,.55),
      0 0 24px rgba(202,168,92,.12),
      0 0 55px rgba(202,168,92,.06);
  }

  50% {
    box-shadow:
      0 34px 105px rgba(0,0,0,.65),
      0 0 38px rgba(241,212,138,.34),
      0 0 85px rgba(202,168,92,.12);
  }
}
/* PORTFOLIO INTRO - GOLD LINE STYLE */

.portfolio-intro-box {
  position: relative;
  border-radius: 0 !important;      /* skida kartica look */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding-bottom: 18px;
}

/* ZLATNA LINIJA DOLE */
.portfolio-intro-box::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 120px;
  height: 2px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--gold),
    var(--gold2),
    transparent
  );

  transform: translateX(-50%);
  opacity: .7;
  transition: .4s ease;
}

/* HOVER BLAGO POJAČA */
.portfolio-intro-box:hover::after {
  width: 160px;
  opacity: 1;
}

/* EYEBROW malo elegantniji */
.portfolio-intro-box .eyebrow {
  text-align: center;
  margin-bottom: 10px;
  letter-spacing: 3px;
}

/* TEKST */
.portfolio-intro-box p {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
/* =========================================
   PORTFOLIO INTRO – MINIMAL GOLD LINE
========================================= */

.portfolio-intro {
  display: flex;
  justify-content: center;
  margin: 50px 0 20px;
}

.portfolio-intro-box {
  position: relative;
  text-align: center;

  /* uklanjamo kartica look */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  padding-bottom: 20px;
  max-width: 720px;
}

/* EYEBROW */
.portfolio-intro-box .eyebrow {
  margin-bottom: 10px;
  letter-spacing: 3px;
}

/* TEKST */
.portfolio-intro-box p {
  color: rgba(255,255,255,.75);
  line-height: 1.8;
}

/* ZLATNA LINIJA */
.portfolio-intro-box::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;

  width: 110px;
  height: 2px;

  background: linear-gradient(
    90deg,
    transparent,
    var(--gold),
    var(--gold2),
    transparent
  );

  transform: translateX(-50%);
  opacity: .75;
  transition: .4s ease;
}

/* HOVER EFEKAT */
.portfolio-intro-box:hover::after {
  width: 150px;
  opacity: 1;
}

/* SCROLL FADE (već imaš reveal) */
.portfolio-intro.reveal {
  opacity: 0;
  transform: translateY(20px);
}

.portfolio-intro.reveal.visible {
  opacity: 1;
  transform: translateY(0);
  transition: .7s ease;
}
/* FORCE GOLD LINE (portfolio intro) */

.portfolio-intro-box {
  position: relative !important;
  display: block;
}

/* ubij sve stare after efekte */
.portfolio-intro-box::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;

  width: 120px !important;
  height: 2px !important;

  background: linear-gradient(
    90deg,
    transparent,
    #caa85c,
    #f1d48a,
    transparent
  ) !important;

  transform: translateX(-50%) !important;
  opacity: 1 !important;
  z-index: 5 !important;
}

/* hover */
.portfolio-intro-box:hover::after {
  width: 160px !important;
}
/* FORCE linija da bude DOLE ispod teksta */
.portfolio-intro-box {
  position: relative !important;
  padding-bottom: 26px !important;
}

.portfolio-intro-box::after {
  top: auto !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
/* PAGE REVEAL ANIMACIJA UKLONJENA - blokirala je prikaz stranice */

/* =========================================
   TESTIMONIALS
========================================= */

.testimonials-section{
  position:relative;
  overflow:hidden;
}

.testimonials-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(202,168,92,.05), transparent 35%),
    radial-gradient(circle at 80% 80%, rgba(202,168,92,.04), transparent 30%);
  pointer-events:none;
}

.testimonial-card{
  position:relative;
  padding:34px;
  border-radius:24px;
  overflow:hidden;

  background:
    linear-gradient(180deg,
      rgba(255,255,255,.05),
      rgba(255,255,255,.015));

  border:1px solid rgba(255,255,255,.08);

  box-shadow:
    0 20px 60px rgba(0,0,0,.35);

  transition:.35s ease;
}

.testimonial-card:hover{
  transform:translateY(-6px);
  border-color:rgba(202,168,92,.35);

  box-shadow:
    0 30px 80px rgba(0,0,0,.52),
    0 0 30px rgba(202,168,92,.08);
}

.featured-testimonial{
  border-color:rgba(202,168,92,.4);

  background:
    radial-gradient(circle at top right,
      rgba(202,168,92,.12),
      transparent 35%),

    linear-gradient(180deg,
      rgba(255,255,255,.06),
      rgba(255,255,255,.02));
}

.testimonial-stars{
  color:var(--gold2);
  font-size:18px;
  letter-spacing:4px;
  margin-bottom:20px;
}

.testimonial-card p{
  color:#f1f1f1;
  font-size:16px;
  line-height:1.9;
  margin-bottom:26px;
}

.testimonial-user strong{
  display:block;
  font-size:15px;
  color:#fff;
}

.testimonial-user span{
  color:rgba(255,255,255,.5);
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
}
.testimonial-card:hover{
  transform:translateY(-6px);

  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    0 0 32px rgba(202,168,92,.10);
}
/* PREMIUM FOOTER CTA GLOW */
.footer-cta{
  position:relative;
  overflow:hidden;
}

.footer-cta::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:55%;
  height:100%;
  background:linear-gradient(
    110deg,
    transparent,
    rgba(255,255,255,.10),
    rgba(241,212,138,.16),
    transparent
  );
  transform:skewX(-18deg);
  animation:footerGoldSweep 6s ease-in-out infinite;
  pointer-events:none;
}

.footer-cta h2{
  text-shadow:
    0 0 18px rgba(202,168,92,.18),
    0 0 38px rgba(0,0,0,.65);
}

@keyframes footerGoldSweep{
  0%{left:-120%; opacity:0}
  18%{opacity:1}
  38%{left:135%; opacity:0}
  100%{left:135%; opacity:0}
}

/* =========================================================
   SAFE FIX - UKLONJENO BLOKIRANJE OD ANIMACIJA
   ========================================================= */
html, body{
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  animation:none !important;
}

.hero-content{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}

.hero::before{
  animation:none !important;
}

/* Ako JS za reveal zakasni ili pukne, sadržaj ostaje vidljiv */
.reveal{
  opacity:1 !important;
  transform:none !important;
}

/* =========================================================
   INDEX VIDEO SECTION ONLY - NE DIRA GALERIJU
   ========================================================= */
.index-video-section{
  padding-top:95px;
  padding-bottom:95px;
}

.index-video-section .section-head{
  margin-bottom:42px;
}

.index-video-grid{
  gap:26px;
}

.index-video-grid .video-card{
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(202,168,92,.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border:1px solid rgba(202,168,92,.14);
  box-shadow:
    0 24px 70px rgba(0,0,0,.42),
    0 0 24px rgba(202,168,92,.06);
  transition:.4s ease;
}

.index-video-grid .video-card:hover{
  transform:translateY(-10px);
  border-color:rgba(202,168,92,.34);
  box-shadow:
    0 38px 95px rgba(0,0,0,.58),
    0 0 38px rgba(202,168,92,.12);
}

.index-video-grid .video-thumb{
  height:245px;
}

.index-video-grid .video-card h3{
  font-size:22px;
  padding:22px 22px 8px;
}

.index-video-grid .video-card p{
  padding:0 22px 24px;
  font-size:14.5px;
  color:rgba(255,255,255,.72);
}

.index-video-grid .video-card::after{
  height:2px;
  left:22px;
  right:22px;
}

.index-video-grid .play{
  width:68px;
  height:68px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.index-video-grid .play:before{
  border-left:18px solid #fff;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
}

@media(max-width:900px){
  .index-video-section{
    padding-top:70px;
    padding-bottom:70px;
  }

  .index-video-grid{
    gap:22px;
  }

  .index-video-grid .video-thumb{
    height:230px;
  }

  .index-video-grid .video-card h3{
    font-size:20px;
  }
}
/* FIX MOBILE/TABLET */
@media(max-width:900px){

  .index-video-grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .index-video-grid .video-card{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }

}
/* TABLET FIX */
@media(min-width:768px) and (max-width:1024px){

  .index-video-grid{
    grid-template-columns:1fr !important;
    gap:28px;
  }

  .index-video-grid .video-card{
    width:100%;
  }

  .index-video-grid .video-thumb{
    height:340px;
  }

}
/* PLAY BUTTON FIX */
.index-video-grid .play{
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}
/* FINAL PLAY FIX */
.video-thumb{
  position:relative;
}

.play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  transform:translate(-50%,-50%) !important;
  z-index:5;
}

/* TABLET FIX */
@media(min-width:768px) and (max-width:1024px){

  .index-video-grid{
    grid-template-columns:1fr !important;
    gap:26px;
  }

}
/* ===============================
   FINAL INDEX VIDEO FIX
   =============================== */

.index-video-section .container{
  width:min(1180px,92%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.index-video-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:26px !important;
}

.index-video-grid .video-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.index-video-grid .video-thumb{
  width:100% !important;
  max-width:none !important;
  height:245px !important;
  position:relative !important;
  display:block !important;
  background-size:cover !important;
  background-position:center !important;
}

.index-video-grid .play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  transform:translate(-50%,-50%) !important;
  z-index:20 !important;
}

/* TABLET + MOBILE */
@media(max-width:1024px){

  .index-video-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .index-video-grid .video-thumb{
    height:300px !important;
  }

}

/* MOBILNI */
@media(max-width:600px){

  .index-video-grid .video-thumb{
    height:230px !important;
  }

}


/* =========================================================
   FOTO ONLY HOMEPAGE - PREMIUM SECTIONS
   Dodato za index bez videa. Ne dira galeriju.
   ========================================================= */

.photo-services-section{
  padding-top:95px;
  padding-bottom:95px;
}

.photo-services-section .section-head{
  margin-bottom:42px;
}

.photo-services-grid{
  gap:26px !important;
}

.photo-service-card{
  position:relative;
  min-height:430px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(202,168,92,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
  box-shadow:0 26px 80px rgba(0,0,0,.46),0 0 28px rgba(202,168,92,.06);
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  transition:.45s ease;
}

.photo-service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.14) 100%),
    radial-gradient(circle at 72% 18%,rgba(202,168,92,.15),transparent 38%);
  transition:.4s ease;
}

.photo-service-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:2px;
  z-index:4;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.75;
  transform:scaleX(.7);
  transition:.4s ease;
}

.photo-service-card:hover{
  transform:translateY(-10px);
  border-color:rgba(202,168,92,.42);
  box-shadow:0 38px 105px rgba(0,0,0,.64),0 0 45px rgba(202,168,92,.13);
}

.photo-service-card:hover::after{
  opacity:1;
  transform:scaleX(1);
}

.photo-service-card:hover::before{
  background:
    linear-gradient(0deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.38) 52%,rgba(0,0,0,.08) 100%),
    radial-gradient(circle at 72% 18%,rgba(202,168,92,.22),transparent 40%);
}

.photo-service-img{
  position:absolute;
  inset:0;
  z-index:1;
  background:center/cover no-repeat;
  transform:scale(1.02);
  filter:brightness(.78) contrast(1.08) saturate(1.04);
  transition:1s ease;
}

.photo-service-card:hover .photo-service-img{
  transform:scale(1.10);
  filter:brightness(.92) contrast(1.12) saturate(1.08);
}

.photo-service-content{
  position:relative;
  z-index:3;
  padding:28px;
}

.photo-service-content span{
  display:inline-flex;
  color:var(--gold2);
  font-size:12px;
  font-weight:900;
  letter-spacing:2px;
  margin-bottom:14px;
}

.photo-service-content h3{
  font-family:Georgia,serif;
  font-size:clamp(28px,3vw,42px);
  margin-bottom:12px;
  text-shadow:0 18px 60px rgba(0,0,0,.75);
}

.photo-service-content p{
  color:rgba(255,255,255,.76);
  margin:0 0 18px;
  font-size:15px;
}

.photo-service-content strong{
  color:var(--gold2);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1.2px;
}

.editorial-photo-section{
  overflow:hidden;
}

.editorial-photo-grid{
  align-items:center;
  gap:54px;
}

.editorial-photo{
  position:relative;
  min-height:560px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(202,168,92,.24);
  box-shadow:0 38px 115px rgba(0,0,0,.65),0 0 40px rgba(202,168,92,.10);
  background:#111;
}

.editorial-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%),radial-gradient(circle at 80% 20%,rgba(202,168,92,.13),transparent 34%);
  pointer-events:none;
}

.editorial-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
  filter:brightness(.82) contrast(1.08);
}

.editorial-copy p{
  font-size:17px;
  color:rgba(255,255,255,.74);
  max-width:620px;
}

.editorial-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:30px 0;
}

.editorial-points div{
  border:1px solid rgba(202,168,92,.18);
  background:rgba(255,255,255,.035);
  border-radius:16px;
  padding:16px;
}

.editorial-points strong{
  display:block;
  color:var(--gold2);
  font-size:20px;
  margin-bottom:5px;
}

.editorial-points span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
}

.lux-gallery-section{
  overflow:hidden;
}

.lux-gallery-strip{
  display:grid;
  grid-template-columns:1.2fr .85fr 1fr .85fr 1.15fr;
  gap:14px;
  align-items:stretch;
}

.lux-gallery-strip img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:22px;
  border:1px solid rgba(202,168,92,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  filter:brightness(.86) contrast(1.06);
  transition:.35s ease;
}

.lux-gallery-strip img:nth-child(even){
  height:300px;
  margin-top:44px;
}

.lux-gallery-strip img:hover{
  transform:translateY(-6px) scale(1.015);
  filter:brightness(.96) contrast(1.1);
  border-color:rgba(202,168,92,.38);
}

.packages-preview-section .package h3{
  padding-right:0;
}

/* Sakrij stare play elemente ako negde ostanu na index-u */
.photo-services-section .play,
.photo-services-section .video-modal{
  display:none !important;
}

@media(max-width:1024px){
  .photo-services-grid,
  .editorial-photo-grid{
    grid-template-columns:1fr !important;
  }

  .photo-service-card{
    min-height:390px;
  }

  .editorial-photo{
    min-height:430px;
  }

  .editorial-points{
    grid-template-columns:1fr;
  }

  .lux-gallery-strip{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:12px;
  }

  .lux-gallery-strip img,
  .lux-gallery-strip img:nth-child(even){
    flex:0 0 78%;
    height:340px;
    margin-top:0;
    scroll-snap-align:center;
  }
}

@media(max-width:600px){
  .photo-services-section{
    padding-top:70px;
    padding-bottom:70px;
  }

  .photo-service-card{
    min-height:360px;
    border-radius:22px;
  }

  .photo-service-content{
    padding:22px;
  }

  .editorial-photo{
    min-height:360px;
  }

  .lux-gallery-strip img,
  .lux-gallery-strip img:nth-child(even){
    flex-basis:86%;
    height:300px;
  }
}
/* DROPDOWN MENU */
.nav-dropdown{
  position:relative;
}

.dropdown-toggle{
  background:none;
  border:0;
  color:rgba(255,255,255,.7);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-weight:600;
  cursor:pointer;
  padding:0;
  display:flex;
  align-items:center;
  gap:6px;
  transition:.3s;
}

.dropdown-toggle:hover{
  color:#fff;
}

.dropdown-menu{
  position:absolute;
  top:34px;
  left:50%;
  transform:translateX(-50%) translateY(10px);
  min-width:190px;
  background:rgba(5,5,5,.96);
  border:1px solid rgba(202,168,92,.24);
  border-radius:16px;
  padding:10px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.dropdown-menu a{
  display:block;
  padding:12px 14px;
  border-radius:10px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  letter-spacing:1.1px;
}

.dropdown-menu a:hover{
  background:rgba(202,168,92,.10);
  color:#fff;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.open .dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

/* MOBILE DROPDOWN */
@media(max-width:900px){
  .nav-dropdown{
    width:100%;
  }

  .dropdown-toggle{
    width:100%;
    justify-content:center;
    font-size:13px;
    padding:12px 0;
  }

  .dropdown-menu{
    position:static;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    display:none;
    min-width:100%;
    margin-top:6px;
    background:rgba(255,255,255,.035);
    box-shadow:none;
  }

  .nav-dropdown.open .dropdown-menu{
    display:block;
  }

  .dropdown-menu a{
    text-align:center;
  }
}
/* =========================================================
   DYNAMIC PHOTO PACKAGES FORM - FINAL
   ========================================================= */
.dynamic-booking-form .form-group.full{grid-column:1/-1}
.form-event-switch{justify-content:flex-start;margin:0}
.event-switch{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 4px}
.event-btn{border:1px solid rgba(202,168,92,.24);background:rgba(255,255,255,.035);color:#fff;min-height:48px;padding:0 18px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.25s ease}
.event-btn:hover,.event-btn.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#12100a;border-color:transparent;box-shadow:0 14px 34px rgba(202,168,92,.20)}
.packages-wrap{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.packages-wrap.active{display:grid}
.package-card{position:relative;padding:22px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(202,168,92,.18);box-shadow:0 16px 45px rgba(0,0,0,.28);overflow:hidden;transition:.25s ease}
.package-card:hover{transform:translateY(-4px);border-color:rgba(241,212,138,.45);box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 28px rgba(202,168,92,.10)}
.package-card span{color:var(--gold2);font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.package-card h3{font-size:22px;margin:10px 0 8px;line-height:1.05}
.package-card strong{display:block;font-size:34px;color:var(--gold);margin-bottom:14px}
.package-card ul{list-style:none;margin:0 0 18px;padding:0}
.package-card li{position:relative;color:rgba(255,255,255,.72);font-size:13px;line-height:1.45;padding-left:16px;margin:8px 0}
.package-card li::before{content:"•";position:absolute;left:0;color:var(--gold)}
.select-package{width:100%;min-height:46px;border:0;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(202,168,92,.22);font-size:12px;font-weight:900;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.25s ease}
.select-package:hover,.select-package.active{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111;border-color:transparent}
.package-card.recommended{border-color:rgba(241,212,138,.55);box-shadow:0 26px 74px rgba(0,0,0,.42),0 0 30px rgba(202,168,92,.14)}
.recommended-badge{position:absolute;top:14px;right:14px;background:rgba(202,168,92,.18);color:var(--gold2);border:1px solid rgba(241,212,138,.48);padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.package-auto-box{margin-top:16px;padding:16px 18px;border-radius:14px;border:1px solid rgba(202,168,92,.28);background:rgba(0,0,0,.34);color:rgba(255,255,255,.78)}
.package-auto-box strong{display:block;color:var(--gold2);font-size:16px;margin-bottom:4px}
.package-auto-box span{display:block;color:rgba(255,255,255,.72);font-size:13px}
@media(max-width:900px){.packages-wrap{grid-template-columns:1fr}.event-btn{flex:1 1 100%}.package-card{padding:20px}}

/* FORM PACKAGE AIR FIX */
.dynamic-booking-form{
  max-width:760px;
  margin-left:auto;
}

.cta .form-wrap{
  grid-template-columns:.8fr 1.35fr;
  gap:52px;
}

.dynamic-booking-form .packages-wrap{
  gap:18px;
}

.dynamic-booking-form .package-card{
  padding:26px 20px 24px;
  min-height:320px;
}

.dynamic-booking-form .package-card h3{
  font-size:24px;
  padding-right:0;
}

.dynamic-booking-form .package-card strong{
  font-size:38px;
}

.dynamic-booking-form .recommended-badge{
  top:12px;
  right:12px;
  left:auto;
  transform:none;
  font-size:9px;
  padding:6px 9px;
}

.dynamic-booking-form .package-card.recommended h3{
  margin-top:18px;
}

@media(min-width:1100px){
  .cta .info-box{
    max-width:460px;
    align-self:center;
  }
}

@media(max-width:900px){
  .dynamic-booking-form{
    max-width:100%;
  }

  .cta .form-wrap{
    grid-template-columns:1fr;
  }

  .dynamic-booking-form .package-card{
    min-height:auto;
  }
}
/* FORM FULL WIDTH FIX */
.cta .form-wrap{
  display:flex;
  justify-content:center;
}

.dynamic-booking-form{
  width:100%;
  max-width:1050px;
  margin:0 auto;
}

.dynamic-booking-form .packages-wrap{
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.dynamic-booking-form .package-card{
  min-height:340px;
}

@media(max-width:900px){

  .dynamic-booking-form .packages-wrap{
    grid-template-columns:1fr;
  }

}
/* FIX PACKAGE AUTO BOX ON CONTACT */
.package-auto-box span{
  display:inline-flex !important;
  width:auto !important;
  max-width:max-content !important;
  padding:9px 16px !important;
  border-radius:999px !important;
}

.package-auto-box{
  display:block !important;
}

.package-auto-box strong{
  display:block !important;
  margin-bottom:12px !important;
}
/* MOBILE MENU DROPDOWN FIX */
@media(max-width:900px){

  .nav-links{
    align-items:center !important;
    text-align:center !important;
  }

  .nav-dropdown{
    width:100% !important;
    text-align:center !important;
  }

  .dropdown-toggle{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    padding:14px 0 !important;
  }

  .dropdown-menu{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:100% !important;
    min-width:100% !important;
    margin:8px auto 0 !important;
    text-align:center !important;
  }

  .dropdown-menu a{
    display:block !important;
    text-align:center !important;
    width:100% !important;
  }
}
/* AUTO PACKAGE LINK TARGET */
#booking{scroll-margin-top:100px;}
/* BOOKING INTRO */
.booking-form-intro{
  text-align:center;
  margin-bottom:34px;
}

.booking-form-intro h2{
  margin-bottom:14px;
}

.booking-form-intro p{
  max-width:680px;
  margin:auto;
}
/* BOOKING INTRO + URL TARGET */
#booking{
  scroll-margin-top:100px;
}

.booking-form-intro{
  text-align:center;
  margin-bottom:34px;
}

.booking-form-intro h2{
  margin-bottom:14px;
}

.booking-form-intro p{
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}


/* =========================================================
   FINAL SEO IMAGE + HERO CONTROL FIX
   Hero slike menjaš u HTML-u:
   <section class="hero" style="--hero-img:url('img/tvoja-slika.webp')">
   ========================================================= */

.hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62),rgba(0,0,0,.1)),
    var(--hero-img, url("img/121.webp")) center/cover no-repeat !important;
}

.wedding-hero,
.christening-hero,
.birthday-hero,
.about-hero,
.kontakt-hero-pro{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.70) 43%,rgba(0,0,0,.22) 100%),
    var(--hero-img) center/cover no-repeat !important;
}

@media(max-width:900px){
  .hero{
    background:
      linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62),rgba(0,0,0,.1)),
      var(--hero-img, url("img/121.webp")) 62% center/cover no-repeat !important;
  }

  .wedding-hero,
  .christening-hero,
  .birthday-hero,
  .about-hero,
  .kontakt-hero-pro{
    background:
      linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.75),rgba(0,0,0,.58)),
      var(--hero-img) center/cover no-repeat !important;
  }
}

.photo-service-img,
.video-thumb{
  position:relative;
  overflow:hidden;
}

.photo-service-img img,
.video-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.photo-service-img{
  min-height:260px;
}

.video-thumb{
  height:210px;
}

.video-thumb::after{
  z-index:1;
}

.video-thumb img{
  transition:transform .45s ease, filter .45s ease;
}

.video-card:hover .video-thumb img{
  transform:scale(1.06);
  filter:contrast(1.08) brightness(.92);
}


/* =========================================================
   FIX INDEX SERVICE CARDS AFTER IMG ALT CONVERSION
   ========================================================= */

.photo-service-card{
  position:relative;
  overflow:hidden;
}

.photo-service-img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border-radius:inherit !important;
  overflow:hidden !important;
  z-index:0 !important;
}

.photo-service-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:scale(1.02);
  transition:transform .55s ease, filter .55s ease;
}

.photo-service-card:hover .photo-service-img img{
  transform:scale(1.08);
  filter:brightness(.9) contrast(1.08);
}

.photo-service-img::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.34),rgba(0,0,0,.10)),
    radial-gradient(circle at 70% 20%,rgba(202,168,92,.14),transparent 42%);
}

.photo-service-content{
  position:relative !important;
  z-index:2 !important;
}

@media(max-width:900px){
  .photo-service-card{
    min-height:430px;
  }
}
/* =========================
   INSTAGRAM GALLERY FINAL
========================= */

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  cursor:pointer;
  background:#111;
  border:1px solid rgba(255,255,255,.06);
  aspect-ratio: 1 / 1;
}

.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.gallery-item:hover img{
  transform:scale(1.06);
}

/* LIGHTBOX */

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:99999;
  padding:30px;
}

.lightbox.active{
  display:flex;
}

.lightbox-img{
  max-width:95%;
  max-height:92vh;
  border-radius:18px;
  box-shadow:0 30px 100px rgba(0,0,0,.8);
}

.lightbox-close{
  position:absolute;
  top:30px;
  right:40px;
  color:#fff;
  font-size:52px;
  cursor:pointer;
  z-index:2;
}

/* MOBILE */

@media(max-width:768px){

  .gallery-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .gallery-item{
    border-radius:16px;
  }

  .lightbox-close{
    top:15px;
    right:20px;
    font-size:42px;
  }

}

/* =========================================================
   FINAL REAL FIX - MOBILE MENU + PORTFOLIO LANDSCAPE GALLERY
   ========================================================= */

/* MENU MUST WORK ABOVE EVERYTHING */
@media(max-width:900px){
  .menu-btn{
    display:block !important;
    position:relative;
    z-index:100001 !important;
  }

  .nav-links{
    position:fixed !important;
    top:86px !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    z-index:100000 !important;
    background:rgba(5,5,5,.98) !important;
    display:none !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
    padding:26px 24px 34px !important;
    border-bottom:1px solid rgba(202,168,92,.18) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.7) !important;
  }

  .nav-links.open{
    display:flex !important;
  }

  .nav-dropdown{
    width:100% !important;
    text-align:center !important;
  }

  .dropdown-toggle{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .dropdown-menu{
    position:static !important;
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    margin:10px auto 0 !important;
    transform:none !important;
    text-align:center !important;
  }

  .nav-dropdown.open .dropdown-menu{
    display:block !important;
  }

  .dropdown-menu a{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    padding:12px 0 !important;
  }
}

/* PORTFOLIO PAGE - FORCE HORIZONTAL LANDSCAPE, NOT SQUARE */
.gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:18px !important;
}

.gallery-item{
  position:relative !important;
  width:100% !important;
  aspect-ratio:16 / 10 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
}

.gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

@media(max-width:900px){
  .gallery-grid{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  .gallery-item{
    aspect-ratio:16 / 10 !important;
    height:auto !important;
    border-radius:16px !important;
  }
}

@media(max-width:560px){
  .gallery-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .gallery-item{
    aspect-ratio:16 / 10 !important;
    height:auto !important;
    border-radius:18px !important;
  }
}

/* prevent old video-card rules from touching gallery */
.gallery-grid .gallery-item::after,
.gallery-grid .gallery-item img::after{
  display:none !important;
}


/* =========================================================
   INDEX LUX GALLERY INSTAGRAM HARD FIX
   Samo index sekcija: .home-lux-instagram-section
   Cilj: sve slike iste veličine, Instagram grid, bez sečenja glave/gornjeg dela.
   ========================================================= */

/* Sekcija ostaje normalna */
.home-lux-instagram-section{
  overflow:hidden !important;
}

/* PRESECA stare strip/slider stilove */
.home-lux-instagram-section .lux-gallery-strip,
.home-lux-instagram-section .home-lux-instagram-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:16px !important;
  width:100% !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 !important;
  align-items:stretch !important;
  scroll-snap-type:none !important;
}

/* Sve slike ISTE dimenzije */
.home-lux-instagram-section .lux-gallery-strip img,
.home-lux-instagram-section .home-lux-instagram-grid img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:4 / 5 !important;
  object-fit:cover !important;
  object-position:top center !important;
  border-radius:22px !important;
  flex:none !important;
  margin:0 !important;
  transform:none !important;
  scroll-snap-align:none !important;
  box-shadow:0 20px 70px rgba(0,0,0,.35) !important;
  border:1px solid rgba(202,168,92,.16) !important;
}

/* Gasi sve nth-child razlike koje su pravile jednu veću, jednu manju */
.home-lux-instagram-section .lux-gallery-strip img:nth-child(1),
.home-lux-instagram-section .lux-gallery-strip img:nth-child(2),
.home-lux-instagram-section .lux-gallery-strip img:nth-child(3),
.home-lux-instagram-section .lux-gallery-strip img:nth-child(4),
.home-lux-instagram-section .lux-gallery-strip img:nth-child(5){
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:4 / 5 !important;
  margin:0 !important;
  transform:none !important;
  object-fit:cover !important;
  object-position:top center !important;
}

/* Hover premium, ali bez menjanja layouta */
.home-lux-instagram-section .lux-gallery-strip img:hover{
  transform:translateY(-4px) scale(1.025) !important;
  filter:brightness(.94) contrast(1.08) !important;
}

/* Tablet: 3 slike u redu, iste dimenzije */
@media(max-width:1024px){
  .home-lux-instagram-section .lux-gallery-strip,
  .home-lux-instagram-section .home-lux-instagram-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:14px !important;
  }

  .home-lux-instagram-section .lux-gallery-strip img{
    aspect-ratio:4 / 5 !important;
    object-position:top center !important;
  }
}

/* Telefon: 2 slike u redu kao Instagram, nema horizontalnog scrolla */
@media(max-width:600px){
  .home-lux-instagram-section{
    padding-top:70px !important;
    padding-bottom:70px !important;
  }

  .home-lux-instagram-section .section-head{
    margin-bottom:22px !important;
  }

  .home-lux-instagram-section .lux-gallery-strip,
  .home-lux-instagram-section .home-lux-instagram-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
    overflow:visible !important;
  }

  .home-lux-instagram-section .lux-gallery-strip img{
    aspect-ratio:4 / 5 !important;
    border-radius:15px !important;
    object-fit:cover !important;
    object-position:top center !important;
  }
}

/* Vrlo usko: i dalje 2 kolone, da izgleda kao Instagram */
@media(max-width:380px){
  .home-lux-instagram-section .lux-gallery-strip,
  .home-lux-instagram-section .home-lux-instagram-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }
}


/* =========================================================
   INDEX LUX GALLERY POPUP + 6 IMAGES
   ========================================================= */

.home-lux-instagram-section .lux-gallery-strip img{
  cursor:pointer !important;
}

.home-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:26px;
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.home-gallery-lightbox.active{
  display:flex;
}

.home-gallery-lightbox-img{
  max-width:96vw;
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 100px rgba(0,0,0,.85);
}

.home-gallery-close{
  position:absolute;
  top:22px;
  right:32px;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:50%;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
  z-index:1000000;
}

@media(max-width:600px){
  .home-gallery-lightbox{
    padding:14px;
  }

  .home-gallery-lightbox-img{
    max-width:100%;
    max-height:86vh;
    border-radius:14px;
  }

  .home-gallery-close{
    top:12px;
    right:14px;
    width:46px;
    height:46px;
    font-size:36px;
  }
}


/* PORTFOLIO MOBILE 2 PER ROW FINAL */
/* Samo portfolio strana — ne dira index */
body.portfolio-page .gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

body.portfolio-page .gallery-item{
  aspect-ratio:4 / 5 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
}

body.portfolio-page .gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:top center !important;
  display:block !important;
}

@media(max-width:1024px){
  body.portfolio-page .gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
}

@media(max-width:700px){
  body.portfolio-page .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  body.portfolio-page .gallery-item{
    aspect-ratio:4 / 5 !important;
    border-radius:15px !important;
  }
}

@media(max-width:380px){
  body.portfolio-page .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
}


/* PORTFOLIO MOBILE INSTAGRAM FIX */
@media(max-width:700px){
  body.portfolio-page .gallery-item{
    aspect-ratio:3 / 4 !important;
  }
}
.inner-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:150px 0 90px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.62),rgba(0,0,0,.1)),
    var(--hero-img) center/cover no-repeat !important;
}

.inner-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:220px;
  background:linear-gradient(0deg,var(--bg),transparent);
  z-index:1;
}

.inner-hero .hero-content{
  position:relative;
  z-index:2;
}
/* INNER HERO DESKTOP HEIGHT FIX */
@media(min-width:901px){
  .inner-hero{
    min-height:78vh !important;
    padding:135px 0 70px !important;
    align-items:center !important;
  }

  .inner-hero .hero-stats{
    margin-top:28px !important;
  }

  .inner-hero .hero-buttons{
    margin-top:24px !important;
  }
}
/* =========================================
   GLOBAL SPACING POLISH
========================================= */

.section{
  padding:82px 0;
}

.section-head{
  margin-bottom:34px;
}

.hero + .section,
.inner-hero + .section{
  padding-top:72px;
}

/* CTA spacing */
.wedding-cta-strip,
.christening-cta-strip,
.birthday-cta-strip{
  margin-top:10px;
}

/* GRID AIR */
.grid{
  gap:20px;
}

/* MOBILE */
@media(max-width:700px){

  .section{
    padding:68px 0;
  }

  .section-head{
    margin-bottom:26px;
  }

}
@media(max-width:700px){

  .section{
    padding:68px 0;
  }

}
.footer-pro{
  padding-top:28px !important;
}

.footer-cta{
  margin-top:0 !important;
}
.footer-cta{
  padding-top:38px !important;
}
.footer-cta{
  background:#0a0a0a !important;
}
/* =========================================================
   PREMIUM MOBILE MENU ANIMATION
========================================================= */

.nav-links{
  opacity:0;
  visibility:hidden;
  transform:translateY(-18px);
  transition:
    opacity .35s ease,
    transform .35s ease,
    visibility .35s;
}

.nav-links.open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* links stagger */
.nav-links a{
  opacity:0;
  transform:translateY(12px);
  transition:
    opacity .35s ease,
    transform .35s ease;
}

.nav-links.open a{
  opacity:1;
  transform:translateY(0);
}

.nav-links.open a:nth-child(1){transition-delay:.05s}
.nav-links.open a:nth-child(2){transition-delay:.10s}
.nav-links.open a:nth-child(3){transition-delay:.15s}
.nav-links.open a:nth-child(4){transition-delay:.20s}
.nav-links.open a:nth-child(5){transition-delay:.25s}
.nav-links.open a:nth-child(6){transition-delay:.30s}

/* glass background */
@media(max-width:900px){

  .nav-links{
    background:rgba(5,5,5,.88);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(202,168,92,.18);

    box-shadow:
      0 25px 80px rgba(0,0,0,.58);
  }

}
/* =========================================================
   HARD FIX DESKTOP MENU
========================================================= */

@media(min-width:901px){

  .nav-links{
    display:flex !important;
    flex-direction:row !important;

    opacity:1 !important;
    visibility:visible !important;

    transform:none !important;

    position:static !important;
    inset:auto !important;

    background:none !important;
    border:none !important;

    padding:0 !important;
  }

  .nav-links a{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  .menu-btn{
    display:none !important;
  }

}
/* =========================================================
   LIGHTBOX GALLERY
========================================================= */

.lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(0,0,0,.94);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:.35s ease;
  padding:30px;
}

.lightbox.active{
  opacity:1;
  visibility:visible;
}

.lightbox-img{
  max-width:92%;
  max-height:90vh;
  border-radius:18px;
  box-shadow:0 30px 100px rgba(0,0,0,.75);
}

.lightbox-close{
  position:absolute;
  top:22px;
  right:24px;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:34px;
  cursor:pointer;
}

.lightbox-prev,
.lightbox-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:46px;
  line-height:1;
  cursor:pointer;
}

.lightbox-prev{
  left:24px;
}

.lightbox-next{
  right:24px;
}

@media(max-width:700px){

  .lightbox{
    padding:14px;
  }

  .lightbox-img{
    max-width:100%;
  }

  .lightbox-prev,
  .lightbox-next{
    width:44px;
    height:44px;
    font-size:34px;
  }

  .lightbox-prev{
    left:10px;
  }

  .lightbox-next{
    right:10px;
  }

  .lightbox-close{
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    font-size:28px;
  }

}
@media(max-width:900px){

  .home-gallery-lightbox{
    display:none !important;
  }

  .lightbox{
    z-index:99999999 !important;
  }

  .lightbox.active{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
  }

}
@media(max-width:768px){

  .services-head{
    gap:20px !important;
  }

}
@media(max-width:768px){

  .services-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .services-head .btn{
    margin-top:28px !important;
  }

}
@media(max-width:768px){

  .photo-services-section .btn{
    margin-top:20px !important;
    display:inline-flex !important;
  }

}
@media(max-width:768px){

  .header{
    border-bottom:1px solid rgba(202,168,92,.10) !important;
  }

}
@media(max-width:768px){

  .hero::before{
    top:-2px !important;
  }

}	
.compare-box{
  position:relative;
  max-width:820px;
  margin:0 auto;
  border-radius:22px;
  overflow:hidden;
  background:#111;
  box-shadow:0 35px 100px rgba(0,0,0,.55);
}

.compare-img{
  width:100%;
  display:block;
  user-select:none;
  pointer-events:none;
}

.compare-after{
  position:absolute;
  inset:0;
  height:100%;
  object-fit:cover;
  clip-path:inset(0 50% 0 0);
}

.compare-range{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
  z-index:10;
}

.compare-line{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  background:#fff;
  transform:translateX(-50%);
  z-index:5;
  pointer-events:none;
}

.compare-line span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:54px;
  height:54px;
  border-radius:50%;
  background:#fff;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:900;
  box-shadow:0 14px 35px rgba(0,0,0,.35);
}

.compare-label{
  position:absolute;
  bottom:18px;
  z-index:6;
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}

.compare-label-left{
  left:18px;
}

.compare-label-right{
  right:18px;
}

@media(max-width:768px){
  .compare-box{
    border-radius:18px;
  }

  .compare-line span{
    width:44px;
    height:44px;
    font-size:18px;
  }

  .compare-label{
    font-size:11px;
    padding:7px 11px;
  }
}
/* FIX BEFORE/AFTER DESKTOP OVERLAY */
.compare-box{
  position:relative !important;
  max-width:820px !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border-radius:22px !important;
}

.compare-img{
  width:100% !important;
  height:auto !important;
  display:block !important;
}

.compare-before{
  position:relative !important;
  z-index:1 !important;
}

.compare-after{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  z-index:2 !important;
  clip-path:inset(0 50% 0 0);
}

.compare-range{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  z-index:10 !important;
  cursor:ew-resize !important;
}

.compare-line{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:50%;
  z-index:6 !important;
}


/* =========================================================
   FINAL FIX - BEFORE / AFTER COMPARE OVERLAY
   Desktop + tablet + mobile
========================================================= */

.compare-box{
  position:relative !important;
  display:block !important;
  width:min(820px, 100%) !important;
  max-width:820px !important;
  margin:0 auto !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#111 !important;
  box-shadow:0 35px 100px rgba(0,0,0,.55) !important;
  isolation:isolate !important;
}

.compare-box img.compare-img{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  display:block !important;
  margin:0 !important;
  float:none !important;
  user-select:none !important;
  pointer-events:none !important;
}

.compare-before{
  position:relative !important;
  z-index:1 !important;
}

.compare-after{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  z-index:2 !important;
  clip-path:inset(0 50% 0 0) !important;
}

.compare-range{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  cursor:ew-resize !important;
  z-index:10 !important;
}

.compare-line{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:50%;
  width:3px !important;
  background:#fff !important;
  transform:translateX(-50%) !important;
  z-index:6 !important;
  pointer-events:none !important;
}

.compare-line span{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:54px !important;
  height:54px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#111 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
  font-weight:900 !important;
  box-shadow:0 14px 35px rgba(0,0,0,.35) !important;
}

.compare-label{
  position:absolute !important;
  bottom:18px !important;
  z-index:7 !important;
  background:rgba(0,0,0,.55) !important;
  color:#fff !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.compare-label-left{left:18px !important;}
.compare-label-right{right:18px !important;}

@media(max-width:768px){
  .compare-box{
    border-radius:18px !important;
  }

  .compare-line span{
    width:44px !important;
    height:44px !important;
    font-size:18px !important;
  }

  .compare-label{
    font-size:11px !important;
    padding:7px 11px !important;
  }
}
/* FINAL COMPARE SIZE FIX */

.compare-box{
  position:relative;
  width:100%;
  max-width:720px;
  margin:0 auto;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:24px;
  background:#000;
}

.compare-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.compare-before{
  z-index:1;
}

.compare-after{
  z-index:2;
  clip-path: inset(0 50% 0 0);
  -webkit-clip-path: inset(0 50% 0 0);
}

.compare-range{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  z-index:20;
  cursor:ew-resize;
}

.compare-line{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  background:#fff;
  z-index:10;
  transform:translateX(-50%);
}

.compare-line span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:54px;
  height:54px;
  border-radius:50%;
  background:#fff;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:900;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.compare-label{
  position:absolute;
  bottom:16px;
  z-index:15;
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

.compare-label-left{
  left:16px;
}

.compare-label-right{
  right:16px;
}

@media(max-width:768px){

  .compare-box{
    max-width:100%;
    aspect-ratio:3/4;
  }

}
.compare-box{
  max-width:560px !important;
}
.fm-ba-box{
  position:relative;
  width:100%;
  max-width:520px;
  aspect-ratio:4/5;
  margin:0 auto;
  overflow:hidden;
  border-radius:24px;
  background:#000;
  box-shadow:0 35px 100px rgba(0,0,0,.55);
}

.fm-ba-img{
  position:absolute;
  inset:0;
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
}

.fm-ba-before{
  background-image:url("img/punoletstvo-before.webp");
  z-index:1;
}

.fm-ba-after{
  background-image:url("img/punoletstvo-after.webp");
  z-index:2;
  width:50%;
  background-size:520px 100%;
  background-position:left center;
  background-repeat:no-repeat;
}

.fm-ba-range{
  display:none !important;
}

.fm-ba-line{
  cursor:ew-resize;
  touch-action:none;
  pointer-events:auto;
  z-index:30;
}

.fm-ba-line span{
  cursor:ew-resize;
  touch-action:none;
}
.fm-ba-line span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  background:#fff;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}

.fm-ba-label{
  position:absolute;
  bottom:16px;
  z-index:15;
  background:rgba(0,0,0,.55);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

.fm-ba-left{left:16px}
.fm-ba-right{right:16px}

@media(max-width:768px){
  .fm-ba-box{
    max-width:100%;
    aspect-ratio:3/4;
  }

  .fm-ba-after{
    background-size:100vw 100%;
  }
}

@media(max-width:768px){
  .fm-ba-box{
    max-width:100%;
    aspect-ratio:3/4;
  }
}
/* WEDDING BEFORE AFTER */

.fm-ba-wedding .fm-ba-before{
  background-image:url("img/vencanje-before.webp");
}

.fm-ba-wedding .fm-ba-after{
  background-image:url("img/vencanje-after.webp");
}
/* WEDDING MOBILE FIX */

.fm-ba-wedding .fm-ba-before,
.fm-ba-wedding .fm-ba-after{
  background-size:92vw 100% !important;
  background-position:left center !important;
}

@media(min-width:769px){

  .fm-ba-wedding .fm-ba-before,
  .fm-ba-wedding .fm-ba-after{
    background-size:520px 100% !important;
  }

}
/* KRSTENJE BEFORE AFTER */

.fm-ba-krstenje .fm-ba-before{
  background-image:url("img/krstenje-before.webp");
}

.fm-ba-krstenje .fm-ba-after{
  background-image:url("img/krstenje-after.webp");
}
/* KRSTENJE MOBILE FIX */

.fm-ba-krstenje .fm-ba-before,
.fm-ba-krstenje .fm-ba-after{
  background-size:92vw 100% !important;
  background-position:left center !important;
}

@media(min-width:769px){

  .fm-ba-krstenje .fm-ba-before,
  .fm-ba-krstenje .fm-ba-after{
    background-size:520px 100% !important;
  }

}
/* HOME BEFORE AFTER */

.fm-ba-home .fm-ba-before{
  background-image:url("img/home-before.webp");
}

.fm-ba-home .fm-ba-after{
  background-image:url("img/home-after.webp");
}
/* HOME BEFORE AFTER */

.fm-ba-home .fm-ba-before{
  background-image:url("img/home-before.webp");
}

.fm-ba-home .fm-ba-after{
  background-image:url("img/home-after.webp");
}

/* HOME SLIDER FIX */

.fm-ba-home .fm-ba-before,
.fm-ba-home .fm-ba-after{
  background-size:92vw 100% !important;
  background-position:left center !important;
}

@media(min-width:769px){

  .fm-ba-home .fm-ba-before,
  .fm-ba-home .fm-ba-after{
    background-size:520px 100% !important;
  }

}
/* PUNOLETSTVO SLIDER FIX */

.fm-ba-punoletstvo .fm-ba-before,
.fm-ba-punoletstvo .fm-ba-after{
  background-size:92vw 100% !important;
  background-position:left center !important;
}

@media(min-width:769px){

  .fm-ba-punoletstvo .fm-ba-before,
  .fm-ba-punoletstvo .fm-ba-after{
    background-size:520px 100% !important;
  }

}
.reviews-strip{
  margin:40px 0 70px;
}

.reviews-strip-box{
  display:flex;
  align-items:center;
  gap:18px;

  padding:18px 24px;

  border:1px solid rgba(212,175,55,.18);
  border-radius:18px;

  background:
  linear-gradient(
    180deg,
    rgba(255,255,255,.03),
    rgba(255,255,255,.01)
  );

  backdrop-filter:blur(10px);
}

.reviews-stars{
  color:#d4af37;
  font-size:22px;
  letter-spacing:3px;
  flex-shrink:0;
}

.reviews-strip-content{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.reviews-strip-content strong{
  color:#fff;
  font-size:18px;
}

.reviews-strip-content span{
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.5;
}

@media(max-width:768px){

  .reviews-strip{
    margin:30px 0 55px;
  }

  .reviews-strip-box{
    flex-direction:column;
    align-items:flex-start;
    padding:18px;
    gap:10px;
  }

  .reviews-stars{
    font-size:18px;
  }

  .reviews-strip-content strong{
    font-size:16px;
  }

}
.fm-ba-label{
  transition:opacity .25s ease;
}
.fm-ba-label{
  transition:opacity .25s ease;
}


/* =========================================================
   FINAL FM BEFORE / AFTER FIX - HANDLE ONLY
   Ovo vraća liniju/kružić i sprečava klik na celu sliku.
   ========================================================= */

.fm-ba-box{
  position:relative !important;
  overflow:hidden !important;
}

.fm-ba-img{
  position:absolute !important;
  inset:0 !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
}

.fm-ba-before{
  z-index:1 !important;
}

.fm-ba-after{
  z-index:2 !important;
  width:50%;
}

.fm-ba-range{
  display:none !important;
}

.fm-ba-line{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  left:50%;
  width:2px !important;
  background:#fff !important;
  z-index:40 !important;
  transform:translateX(-50%);
  cursor:ew-resize;
  touch-action:none;
  pointer-events:auto !important;
}

.fm-ba-line span{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:52px !important;
  height:52px !important;
  border-radius:50%;
  background:#fff !important;
  color:#111 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:900;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  cursor:ew-resize;
  touch-action:none;
  pointer-events:auto !important;
}

.fm-ba-label{
  transition:opacity .25s ease;
}

@media(max-width:768px){
  .fm-ba-line span{
    width:46px !important;
    height:46px !important;
    font-size:14px;
  }
}
/* SCROLL TOP */

.scroll-progress{
  position:fixed;

  right:88px;
  bottom:115px;

  width:46px;
  height:46px;

  border:none;
  border-radius:50%;

  background:
  conic-gradient(
    #d4af37 var(--scroll,0%),
    rgba(255,255,255,.08) 0%
  );

  display:flex;
  align-items:center;
  justify-content:center;

  z-index:9999;

  cursor:pointer;

  opacity:0;
  visibility:hidden;

  transition:.25s ease;
}

.scroll-progress::before{
  content:"↑";

  width:38px;
  height:38px;

  border-radius:50%;

  background:#0b0b0b;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#d4af37;

  font-size:18px;
  font-weight:700;
}

.scroll-progress.show{
  opacity:1;
  visibility:visible;
}
/* SCROLL PROGRESS */

.scroll-progress{
  --scroll:0%;

  position:fixed;

  right:88px;
  bottom:115px;

  width:46px;
  height:46px;

  border:none;
  border-radius:50%;

  background:
  conic-gradient(
    #d4af37 var(--scroll),
    rgba(255,255,255,.12) 0
  );

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;

  z-index:99999;

  opacity:0;
  visibility:hidden;

  transition:.25s ease;
}

.scroll-progress::before{
  content:"↑";

  width:38px;
  height:38px;

  border-radius:50%;

  background:#0b0b0b;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#d4af37;

  font-size:18px;
  font-weight:700;
}

.scroll-progress.show{
  opacity:1;
  visibility:visible;
}

@media(max-width:768px){

  .scroll-progress{
    right:18px;
    bottom:95px;
  }

}


/* =========================================================
   DODATO — DEČIJI ROĐENDANI I EVENTI
========================================================= */

.fm-ba-children .fm-ba-before{
  background-image:url("img/children-before.webp");
}

.fm-ba-children .fm-ba-after{
  background-image:url("img/children-after.webp");
}

.fm-ba-events .fm-ba-before{
  background-image:url("img/event-before.webp");
}

.fm-ba-events .fm-ba-after{
  background-image:url("img/event-after.webp");
}

.children-hero,
.events-hero{
  min-height:86vh;
  display:flex;
  align-items:flex-end;
  padding:155px 0 85px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.children-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.70) 43%,rgba(0,0,0,.22) 100%),
    url("img/deciji-rodjendani.webp") center/cover no-repeat;
}

.events-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.70) 43%,rgba(0,0,0,.22) 100%),
    url("img/eventi.webp") center/cover no-repeat;
}

.children-hero::before,
.events-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 30%,rgba(202,168,92,.13),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.42));
}

.children-hero::after,
.events-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:260px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg,var(--bg) 0%,rgba(7,7,7,.86) 38%,transparent 100%);
}

.children-hero .container,
.events-hero .container{
  position:relative;
  z-index:3;
  width:min(1180px,92%);
}

.children-hero-content,
.events-hero-content{
  max-width:780px;
}

.children-hero h1,
.events-hero h1{
  text-shadow:0 24px 90px rgba(0,0,0,.72);
}

.children-hero p,
.events-hero p{
  max-width:660px;
  font-size:20px;
  color:rgba(255,255,255,.86);
  text-shadow:0 10px 45px rgba(0,0,0,.65);
}

@media(max-width:900px){
  .children-hero,
  .events-hero{
    min-height:76vh;
    padding:125px 0 62px;
  }

  .children-hero{
    background:
      linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.75),rgba(0,0,0,.58)),
      url("img/deciji-rodjendani.webp") center/cover no-repeat;
  }

  .events-hero{
    background:
      linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.75),rgba(0,0,0,.58)),
      url("img/eventi.webp") center/cover no-repeat;
  }

  .children-hero p,
  .events-hero p{
    font-size:15px;
  }
}
/* PROCESS LUXURY GRID */

.process-grid{
  margin-top:44px;
  gap:32px;
}

.process-card{
  position:relative;

  padding:38px;

  border-radius:28px;

  background:
    radial-gradient(circle at top right,
    rgba(212,175,55,.10),
    transparent 34%),

    linear-gradient(180deg,
    rgba(255,255,255,.045),
    rgba(255,255,255,.015));

  border:1px solid rgba(255,255,255,.08);

  overflow:hidden;

  transition:.35s ease;

  box-shadow:
    0 24px 90px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.process-card:hover{
  transform:translateY(-6px);

  border-color:rgba(212,175,55,.24);

  box-shadow:
    0 34px 110px rgba(0,0,0,.58),
    0 0 34px rgba(212,175,55,.10);
}

.process-card span{
  display:block;

  margin-bottom:18px;

  color:#d4af37;

  font-size:13px;
  font-weight:800;

  letter-spacing:3px;

  text-transform:uppercase;
}

.process-card h3{
  font-size:28px;

  line-height:1.1;

  margin-bottom:18px;

  color:#fff;
}

.process-card p{
  color:rgba(255,255,255,.70);

  line-height:1.8;

  margin:0;
}

@media(max-width:768px){

  .process-grid{
    gap:20px;
  }

  .process-card{
    padding:28px;
    border-radius:22px;
  }

  .process-card h3{
    font-size:24px;
  }

}
/* 5 SERVICE CARDS FIX */



@media(max-width:1200px){
  .photo-services-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:768px){
  .photo-services-grid{
    grid-template-columns:1fr;
  }
}
/* 5 SERVICE CARDS FIX */



@media(max-width:1200px){
  .photo-services-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:768px){
  .photo-services-grid{
    grid-template-columns:1fr;
  }
}
/* HOME SERVICES - 5 CARDS CLEAN FIX */

.photo-services-grid{
  grid-template-columns:repeat(3,1fr) !important;
  gap:26px !important;
}

@media(min-width:901px){
  .photo-services-grid .photo-service-card:nth-child(4){
    grid-column:1 / 2;
  }

  .photo-services-grid .photo-service-card:nth-child(5){
    grid-column:2 / 3;
  }
}

@media(max-width:900px){
  .photo-services-grid{
    grid-template-columns:1fr !important;
  }
}
/* HERO BRIGHTNESS FIX — EVENTS + CHILDREN */

.children-hero,
.events-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.16) 100%),
    var(--hero-img) center/cover no-repeat !important;
}

.children-hero::before,
.events-hero::before{
  background:
    radial-gradient(circle at 72% 30%,rgba(202,168,92,.10),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.22)) !important;
}

@media(max-width:768px){
  .children-hero,
  .events-hero{
    background:
      linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.22)),
      var(--hero-img) center/cover no-repeat !important;
  }
}
/* MOBILE BEFORE/AFTER FIX — CHILDREN + EVENTS */

@media(max-width:768px){

  .fm-ba-children .fm-ba-before,
  .fm-ba-children .fm-ba-after,
  .fm-ba-events .fm-ba-before,
  .fm-ba-events .fm-ba-after{
    background-size:92vw 100% !important;
    background-position:left center !important;
  }

}

@media(min-width:769px){

  .fm-ba-children .fm-ba-before,
  .fm-ba-children .fm-ba-after,
  .fm-ba-events .fm-ba-before,
  .fm-ba-events .fm-ba-after{
    background-size:520px 100% !important;
    background-position:left center !important;
  }

}

/* =========================================================
   NEKRETNINE — HERO, GALLERY, BEFORE/AFTER
========================================================= */
.property-hero{
  min-height:86vh;
  display:flex;
  align-items:flex-end;
  padding:155px 0 85px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.16) 100%),
    var(--hero-img) center/cover no-repeat !important;
}
.property-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 30%,rgba(202,168,92,.10),transparent 38%),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.22));
}
.property-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:260px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(0deg,var(--bg) 0%,rgba(7,7,7,.86) 38%,transparent 100%);
}
.property-hero .container{position:relative;z-index:3;width:min(1180px,92%)}
.property-hero-content{max-width:780px}
.property-hero h1{text-shadow:0 24px 90px rgba(0,0,0,.72)}
.property-hero p{max-width:680px;font-size:20px;color:rgba(255,255,255,.86);text-shadow:0 10px 45px rgba(0,0,0,.65)}

.property-gallery-vertical{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  overflow:visible !important;
}
.property-gallery-vertical img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:3/4 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:22px !important;
  border:1px solid rgba(202,168,92,.16) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.38) !important;
}

.fm-ba-property .fm-ba-before{background-image:url("img/property-before.webp");}
.fm-ba-property .fm-ba-after{background-image:url("img/property-after.webp");}

@media(max-width:768px){
  .property-hero{
    min-height:76vh;
    padding:125px 0 62px;
    background:
      linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.22)),
      var(--hero-img) center/cover no-repeat !important;
  }
  .property-hero p{font-size:15px}
  .property-gallery-vertical{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .property-gallery-vertical img{border-radius:15px !important;}
  .fm-ba-property .fm-ba-before,
  .fm-ba-property .fm-ba-after{
    background-size:92vw 100% !important;
    background-position:left center !important;
  }
}
@media(min-width:769px){
  .fm-ba-property .fm-ba-before,
  .fm-ba-property .fm-ba-after{
    background-size:520px 100% !important;
    background-position:left center !important;
  }
}

/* 6 service cards on homepage: 3 + 3 */
.photo-services-grid{grid-template-columns:repeat(3,1fr) !important;gap:26px !important;}
@media(max-width:900px){.photo-services-grid{grid-template-columns:1fr !important;}}
.property-gallery-horizontal{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.property-gallery-horizontal img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:20px;
  border:1px solid rgba(202,168,92,.18);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  transition:.35s ease;
}

.property-gallery-horizontal img:hover{
  transform:translateY(-4px) scale(1.01);
  filter:brightness(.96);
  border-color:rgba(202,168,92,.42);
}

@media(max-width:900px){
  .property-gallery-horizontal{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
}

@media(max-width:600px){
  .property-gallery-horizontal{
    grid-template-columns:1fr;
  }

  .property-gallery-horizontal img{
    aspect-ratio:16/11;
  }
}



/* =========================================================
   FOTO MOMENTS — LUXURY SAVETI / SEO CARDS
========================================================= */

.blog-preview-section,
.related-advice-section{
  position:relative;
  overflow:hidden;
}

.blog-preview-section::before,
.related-advice-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%,rgba(202,168,92,.07),transparent 34%),
    radial-gradient(circle at 82% 74%,rgba(202,168,92,.045),transparent 30%);
}

.advice-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.advice-card{
  position:relative;
  min-height:360px;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(202,168,92,.18);
  background:#111;
  box-shadow:0 28px 90px rgba(0,0,0,.44);
  isolation:isolate;
  transition:.35s ease;
}

.advice-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38) 42%,rgba(0,0,0,.86)),
    radial-gradient(circle at 82% 18%,rgba(202,168,92,.16),transparent 30%);
  pointer-events:none;
}

.advice-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.72) contrast(1.08);
  transform:scale(1.01);
  transition:.6s ease;
}

.advice-card:hover{
  transform:translateY(-8px);
  border-color:rgba(241,212,138,.48);
  box-shadow:
    0 36px 115px rgba(0,0,0,.62),
    0 0 42px rgba(202,168,92,.13);
}

.advice-card:hover img{
  transform:scale(1.08);
  filter:brightness(.84) contrast(1.12);
}

.advice-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  padding:28px;
}

.advice-card span{
  display:block;
  color:var(--gold2);
  font-size:12px;
  font-weight:900;
  letter-spacing:2.4px;
  text-transform:uppercase;
  margin-bottom:11px;
}

.advice-card h3{
  font-size:28px;
  line-height:1.06;
  margin-bottom:12px;
  color:#fff;
}

.advice-card p{
  margin:0 0 18px;
  color:rgba(255,255,255,.72);
  font-size:14.5px;
  line-height:1.65;
}

.advice-card strong{
  color:var(--gold2);
  font-size:12px;
  letter-spacing:1.6px;
  text-transform:uppercase;
}

.saveti-hero{
  min-height:68vh;
  display:flex;
  align-items:flex-end;
  padding:155px 0 86px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.68),rgba(0,0,0,.24)),
    url("img/hero/10.webp") center/cover no-repeat;
}

.saveti-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:230px;
  background:linear-gradient(0deg,var(--bg),transparent);
  pointer-events:none;
}

.saveti-hero .container{
  position:relative;
  z-index:3;
}

.article-hero{
  min-height:66vh;
  display:flex;
  align-items:flex-end;
  padding:155px 0 82px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.70),rgba(0,0,0,.22)),
    var(--article-img) center/cover no-repeat;
}

.article-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:230px;
  background:linear-gradient(0deg,var(--bg),transparent);
  pointer-events:none;
}

.article-hero .container{
  position:relative;
  z-index:3;
}

.article-wrap{
  max-width:860px;
  margin:auto;
}

.article-card{
  border:1px solid rgba(202,168,92,.20);
  background:
    radial-gradient(circle at 88% 12%,rgba(202,168,92,.08),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.014));
  border-radius:28px;
  padding:42px;
  box-shadow:0 28px 90px rgba(0,0,0,.46);
}

.article-card h2{
  font-size:clamp(30px,4vw,48px);
  margin-top:34px;
  margin-bottom:14px;
}

.article-card p{
  font-size:17px;
  color:rgba(255,255,255,.72);
}

.article-cta{
  margin-top:34px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

@media(max-width:900px){
  .advice-grid{
    grid-template-columns:1fr;
  }

  .advice-card{
    min-height:330px;
  }

  .article-card{
    padding:28px;
  }

  .saveti-hero,
  .article-hero{
    min-height:58vh;
    padding:125px 0 62px;
  }
}

/* =========================================================
   INDEX MINI CTA - FINAL: kratko, premium, bez ogromne forme
   ========================================================= */
.home-mini-cta-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 20%, rgba(202,168,92,.13), transparent 34%),
    linear-gradient(180deg, #070707 0%, #0b0b0b 100%);
  border-top:1px solid rgba(202,168,92,.12);
  border-bottom:1px solid rgba(202,168,92,.12);
}

.home-mini-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:38px;
  border-radius:var(--radius);
  border:1px solid rgba(202,168,92,.28);
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    radial-gradient(circle at 90% 15%, rgba(202,168,92,.12), transparent 36%);
  box-shadow:
    0 28px 90px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.home-mini-cta h2{
  font-size:clamp(30px,4.3vw,54px);
  max-width:760px;
}

.home-mini-cta p{
  max-width:720px;
  margin:16px 0 0;
  color:rgba(255,255,255,.74);
}

.home-mini-cta-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px;
  min-width:300px;
}

.blog-preview-section{
  border-top:1px solid rgba(255,255,255,.06);
}

.blog-preview-section .advice-grid{
  margin-top:10px;
}

@media(max-width:900px){
  .home-mini-cta{
    display:block;
    padding:28px;
  }

  .home-mini-cta-actions{
    min-width:0;
    justify-content:flex-start;
    margin-top:24px;
  }

  .home-mini-cta-actions .btn{
    width:100%;
  }
}


/* =========================================================
   ARTICLE MODERN DESCRIPTION BLOCK - FINAL RESPONSIVE
   Ovo ide ISPOD postojećeg hero dela na blog stranicama.
   Hero ostaje isti; ovaj blok je premium opis članka.
   ========================================================= */
.article-modern-section{
  position:relative;
  overflow:hidden;
  padding:70px 0 88px;
  background:
    radial-gradient(circle at 82% 18%, rgba(202,168,92,.10), transparent 34%),
    radial-gradient(circle at 16% 82%, rgba(202,168,92,.055), transparent 34%),
    #070707;
}
.article-modern-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  width:min(1120px,100%);
  margin:0 auto;
  padding:54px 54px 48px;
  border-radius:30px;
  border:1px solid rgba(202,168,92,.42);
  background:
    linear-gradient(120deg, rgba(255,255,255,.055), rgba(255,255,255,.014) 48%, rgba(202,168,92,.045)),
    #0b0b0c;
  box-shadow:
    0 34px 110px rgba(0,0,0,.66),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.article-modern-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,.28), transparent 50%),
    radial-gradient(circle at 76% 12%, rgba(241,212,138,.16), transparent 30%);
  pointer-events:none;
}
.article-modern-card::after{
  content:"";
  position:absolute;
  top:0;
  left:10%;
  right:10%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(241,212,138,.92), transparent);
  opacity:.75;
}
.article-modern-deco{
  position:absolute;
  right:-18px;
  top:64px;
  width:260px;
  height:560px;
  opacity:.36;
  pointer-events:none;
  background:
    radial-gradient(ellipse at center, rgba(202,168,92,.16), transparent 62%);
  filter:blur(.2px);
}
.article-modern-deco::before,
.article-modern-deco::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(28deg, transparent 44%, rgba(202,168,92,.58) 45%, transparent 46%),
    linear-gradient(-26deg, transparent 50%, rgba(202,168,92,.38) 51%, transparent 52%),
    linear-gradient(54deg, transparent 57%, rgba(202,168,92,.28) 58%, transparent 59%);
  border-radius:50%;
}
.article-modern-kicker{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--gold2);
  margin-bottom:26px;
}
.article-modern-kicker span{
  display:block;
  width:58px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold));
}
.article-modern-kicker strong{
  font-size:12px;
  letter-spacing:4px;
  text-transform:uppercase;
  line-height:1.4;
  font-weight:850;
}
.article-modern-head{
  max-width:780px;
}
.article-modern-head h2{
  font-family:Inter, Arial, sans-serif;
  font-weight:420;
  letter-spacing:-.055em;
  line-height:.97;
  font-size:clamp(40px, 6vw, 82px);
  margin:0;
  color:#fff;
  text-shadow:0 18px 50px rgba(0,0,0,.42);
}
.article-modern-head h2 span{
  color:var(--gold);
  font-weight:520;
}
.article-modern-head p{
  max-width:650px;
  margin:22px 0 0;
  font-size:clamp(15px,1.5vw,19px);
  line-height:1.72;
  color:rgba(255,255,255,.72);
}
.article-modern-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:48px;
  padding-top:8px;
}
.article-modern-point{
  position:relative;
  text-align:center;
  padding:0 30px;
}
.article-modern-point + .article-modern-point{
  border-left:1px solid rgba(255,255,255,.13);
}
.article-modern-icon{
  width:78px;
  height:78px;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(202,168,92,.35);
  background:
    radial-gradient(circle at 35% 18%, rgba(241,212,138,.16), transparent 46%),
    rgba(255,255,255,.035);
  box-shadow:
    0 18px 48px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.article-modern-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:var(--gold2);
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 10px rgba(202,168,92,.18));
}
.article-modern-point h3{
  font-family:Inter, Arial, sans-serif;
  font-size:clamp(20px,2vw,28px);
  letter-spacing:-.03em;
  line-height:1.15;
  color:#fff;
  margin:0 0 12px;
  font-weight:650;
}
.article-modern-point p{
  max-width:300px;
  margin:0 auto;
  color:rgba(255,255,255,.68);
  font-size:clamp(14px,1.25vw,16px);
  line-height:1.65;
}
.article-modern-actions{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
  margin-top:46px;
}
.article-modern-btn{
  min-width:260px;
  min-height:58px;
  border-radius:12px;
  font-size:13px;
  letter-spacing:2.6px;
  padding:15px 24px;
}
.article-modern-btn .btn-svg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.article-modern-btn .btn-svg svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.article-modern-btn .btn-arrow{
  font-size:20px;
  line-height:1;
  transform:translateY(-1px);
}
.article-modern-btn-secondary{
  color:var(--gold2);
  border-color:rgba(202,168,92,.55);
  background:rgba(0,0,0,.16);
}
.article-modern-btn-secondary:hover{
  background:rgba(202,168,92,.07);
}

@media(max-width:1024px){
  .article-modern-card{padding:46px 36px 42px;border-radius:26px;}
  .article-modern-deco{opacity:.22;right:-80px;}
  .article-modern-point{padding:0 20px;}
}
@media(max-width:768px){
  .article-modern-section{padding:46px 0 62px;}
  .article-modern-card{padding:32px 20px 28px;border-radius:22px;}
  .article-modern-kicker{gap:12px;margin-bottom:20px;}
  .article-modern-kicker span{width:34px;}
  .article-modern-kicker strong{font-size:10px;letter-spacing:2.6px;}
  .article-modern-head h2{font-size:clamp(34px,11vw,52px);line-height:1.02;letter-spacing:-.05em;}
  .article-modern-head p{font-size:14.5px;line-height:1.68;margin-top:18px;}
  .article-modern-points{grid-template-columns:1fr;margin-top:34px;gap:22px;}
  .article-modern-point{padding:0;text-align:left;display:grid;grid-template-columns:66px 1fr;column-gap:16px;align-items:start;}
  .article-modern-point + .article-modern-point{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;}
  .article-modern-icon{width:60px;height:60px;margin:0;grid-row:1 / span 2;}
  .article-modern-icon svg{width:30px;height:30px;}
  .article-modern-point h3{font-size:20px;margin:0 0 7px;}
  .article-modern-point p{max-width:none;margin:0;font-size:14px;line-height:1.6;}
  .article-modern-actions{margin-top:32px;gap:12px;}
  .article-modern-btn{width:100%;min-width:0;min-height:54px;font-size:12px;letter-spacing:1.8px;}
  .article-modern-deco{display:none;}
}
@media(min-width:769px) and (max-width:1180px){
  .article-modern-head h2{font-size:clamp(48px,6.4vw,72px);}
  .article-modern-btn{min-width:240px;}
}


/* BOOKING SCROLL FOCUS - FINAL */
.package-card.booking-card-focus,
.package-auto-box.booking-summary-focus{
  border-color:rgba(241,212,138,.9) !important;
  box-shadow:
    0 0 0 1px rgba(241,212,138,.35),
    0 0 34px rgba(202,168,92,.24),
    0 22px 70px rgba(0,0,0,.55) !important;
  transition:box-shadow .35s ease,border-color .35s ease;
  animation:bookingFocusPulse 2.8s ease both;
}

@keyframes bookingFocusPulse{
  0%{
    box-shadow:
      0 0 0 0 rgba(241,212,138,0),
      0 0 0 rgba(202,168,92,0),
      0 22px 70px rgba(0,0,0,.45);
  }
  32%{
    box-shadow:
      0 0 0 1px rgba(241,212,138,.48),
      0 0 42px rgba(202,168,92,.38),
      0 24px 76px rgba(0,0,0,.62);
  }
  100%{
    box-shadow:
      0 0 0 1px rgba(241,212,138,.18),
      0 0 18px rgba(202,168,92,.12),
      0 22px 70px rgba(0,0,0,.50);
  }
}
/* ===== LUXURY PACKAGE CARDS FINAL ===== */

.lux-packages{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
    margin-top:70px;
}

.lux-card{
    position:relative;
    background:
    radial-gradient(circle at top right,
    rgba(212,175,55,.14),
    transparent 35%),
    #080808;

    border:1px solid rgba(212,175,55,.22);
    border-radius:34px;

    padding:42px 34px 34px;

    overflow:hidden;

    transition:.45s ease;

    box-shadow:
    inset 0 0 50px rgba(212,175,55,.03);
}

.lux-card:hover{
    transform:translateY(-8px);

    border-color:rgba(212,175,55,.55);

    box-shadow:
    0 0 40px rgba(212,175,55,.14),
    inset 0 0 70px rgba(212,175,55,.06);
}

/* featured */

.lux-card.featured{
    border-color:#d4af37;

    box-shadow:
    0 0 50px rgba(212,175,55,.16),
    inset 0 0 90px rgba(212,175,55,.08);

    transform:scale(1.03);
}

/* badge */

.lux-badge{
    position:absolute;
    top:22px;
    right:22px;

    background:linear-gradient(135deg,#f3d37d,#c89b2d);

    color:#111;

    font-size:12px;
    font-weight:700;
    letter-spacing:1px;

    padding:10px 16px;

    border-radius:999px;
}

/* icon */

.lux-icon{
    width:84px;
    height:84px;

    border-radius:50%;

    border:1px solid rgba(212,175,55,.35);

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 28px;

    color:#d4af37;

    font-size:34px;

    box-shadow:
    0 0 22px rgba(212,175,55,.14),
    inset 0 0 24px rgba(212,175,55,.04);
}

/* title */

.lux-card h3{
    text-align:center;

    color:#fff;

    font-size:64px;

    line-height:1;

    letter-spacing:2px;

    margin-bottom:18px;

    font-family:"Cormorant Garamond",serif;
}

/* line */

.lux-line{
    width:140px;
    height:1px;

    background:
    linear-gradient(to right,
    transparent,
    #d4af37,
    transparent);

    margin:0 auto 26px;
}

/* duration */

.lux-time{
    text-align:center;

    color:#d4af37;

    letter-spacing:2px;

    font-size:15px;

    margin-bottom:32px;
}

/* list */

.lux-card ul{
    list-style:none;
    padding:0;
    margin:0 0 32px;
}

.lux-card ul li{
    display:flex;
    align-items:center;
    gap:14px;

    color:#f2f2f2;

    margin-bottom:18px;

    font-size:18px;

    line-height:1.5;
}

.lux-card ul li i{
    color:#d4af37;
    font-size:18px;
}

/* price */

.lux-price{
    text-align:center;

    font-size:76px;

    line-height:1;

    color:#d4af37;

    margin-top:10px;

    font-family:"Cormorant Garamond",serif;
}

/* button */

.lux-btn{
    width:100%;

    height:62px;

    border:none;
    border-radius:18px;

    margin-top:28px;

    background:
    linear-gradient(135deg,#f4d27a,#c89b2d);

    color:#111;

    font-size:15px;
    font-weight:700;
    letter-spacing:1px;

    cursor:pointer;

    transition:.35s ease;
}

.lux-btn:hover{
    transform:translateY(-2px);

    box-shadow:
    0 0 24px rgba(212,175,55,.26);
}

/* bottom description */

.lux-bottom{
    text-align:center;

    color:#9d9d9d;

    font-size:14px;

    line-height:1.6;

    margin-top:18px;
}

/* responsive */

@media(max-width:1100px){

.lux-packages{
    grid-template-columns:1fr;
}

.lux-card.featured{
    transform:none;
}

}

@media(max-width:768px){

.lux-card{
    padding:36px 26px 28px;
}

.lux-card h3{
    font-size:48px;
}

.lux-price{
    font-size:58px;
}

.lux-card ul li{
    font-size:16px;
}

.lux-btn{
    height:56px;
}

}


/* =========================================================
   KRSTENJA — LUXURY PACKAGE CARDS WEB FINAL
   Premium look + real CTA dugmad + kratak opis ispod
========================================================= */
.lux-package-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 24%,rgba(202,168,92,.08),transparent 34%),
    #080808;
}
.lux-package-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 40%,rgba(202,168,92,.06),transparent 28%),
    radial-gradient(circle at 88% 50%,rgba(202,168,92,.06),transparent 28%);
}
.lux-package-section .container{position:relative;z-index:2}
.lux-package-head{margin-bottom:18px}
.lux-packages{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
  margin-top:58px;
  align-items:stretch;
}
.lux-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:640px;
  background:
    radial-gradient(circle at 78% 8%,rgba(202,168,92,.14),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),
    #070707;
  border:1px solid rgba(202,168,92,.26);
  border-radius:34px;
  padding:44px 34px 34px;
  overflow:hidden;
  box-shadow:
    0 26px 80px rgba(0,0,0,.46),
    inset 0 0 55px rgba(202,168,92,.035);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.lux-card::after{
  content:"";
  position:absolute;
  left:32px;
  right:32px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(241,212,138,.7),transparent);
  opacity:.35;
}
.lux-card:hover{
  transform:translateY(-8px);
  border-color:rgba(241,212,138,.62);
  box-shadow:
    0 34px 100px rgba(0,0,0,.62),
    0 0 42px rgba(202,168,92,.13),
    inset 0 0 70px rgba(202,168,92,.055);
}
.lux-card.featured{
  transform:scale(1.035);
  border-color:rgba(241,212,138,.82);
  box-shadow:
    0 34px 105px rgba(0,0,0,.66),
    0 0 52px rgba(202,168,92,.20),
    inset 0 0 95px rgba(202,168,92,.075);
}
.lux-card.featured:hover{transform:scale(1.035) translateY(-8px)}
.lux-badge{
  position:absolute;
  top:22px;
  right:22px;
  z-index:5;
  background:linear-gradient(135deg,#f4d27a,#c89b2d);
  color:#111;
  padding:10px 17px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
  box-shadow:0 0 24px rgba(202,168,92,.24), inset 0 1px 0 rgba(255,255,255,.38);
}
.lux-icon{
  width:86px;
  height:86px;
  border-radius:50%;
  border:1px solid rgba(202,168,92,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 30px;
  color:var(--gold2);
  box-shadow:0 0 26px rgba(202,168,92,.13), inset 0 0 25px rgba(202,168,92,.05);
}
.lux-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lux-card h3{
  text-align:center;
  font-family:Georgia,"Cormorant Garamond",serif;
  color:#fff;
  font-size:clamp(42px,4vw,62px);
  line-height:1;
  letter-spacing:2px;
  margin:0 0 20px;
  text-shadow:0 0 28px rgba(0,0,0,.55);
}
.lux-line{
  width:145px;
  height:1px;
  margin:0 auto 26px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.lux-time{
  text-align:center;
  color:var(--gold2);
  font-size:14px;
  font-weight:800;
  letter-spacing:2.2px;
  text-transform:uppercase;
  margin-bottom:30px;
}
.lux-card ul{
  list-style:none;
  padding:0;
  margin:0 0 28px;
}
.lux-card li{
  display:flex;
  align-items:center;
  gap:14px;
  color:rgba(255,255,255,.88);
  font-size:16.5px;
  line-height:1.45;
  margin:0 0 17px;
}
.lux-card li svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:var(--gold2);
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(202,168,92,.25));
}
.lux-price{
  margin-top:auto;
  text-align:center;
  color:var(--gold2);
  font-family:Georgia,"Cormorant Garamond",serif;
  font-size:clamp(58px,6vw,78px);
  line-height:1;
  text-shadow:0 0 24px rgba(202,168,92,.18);
}
.lux-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:58px;
  margin-top:26px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#f5d87d,#c89b2d);
  color:#101010;
  font-size:14px;
  font-weight:950;
  letter-spacing:1.1px;
  text-transform:uppercase;
  box-shadow:0 15px 34px rgba(202,168,92,.22), inset 0 1px 0 rgba(255,255,255,.38);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.lux-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 19px 42px rgba(202,168,92,.32), 0 0 24px rgba(202,168,92,.15), inset 0 1px 0 rgba(255,255,255,.42);
}
.lux-bottom{
  text-align:center;
  color:rgba(255,255,255,.56);
  font-size:13px;
  line-height:1.55;
  margin-top:16px;
}
@media(max-width:1100px){
  .lux-packages{grid-template-columns:1fr;gap:22px;margin-top:38px}
  .lux-card,.lux-card.featured{transform:none;min-height:auto}
  .lux-card.featured:hover{transform:translateY(-8px)}
}
@media(max-width:768px){
  .lux-card{padding:36px 24px 28px;border-radius:26px}
  .lux-icon{width:74px;height:74px;margin-bottom:24px}
  .lux-icon svg{width:30px;height:30px}
  .lux-time{font-size:12px;letter-spacing:1.8px}
  .lux-card li{font-size:15.5px;align-items:flex-start}
  .lux-price{font-size:58px}
  .lux-btn{min-height:54px}
  .lux-badge{top:16px;right:16px;font-size:10px;padding:8px 12px}
}


/* =========================================================
   FIX LUX PAKETI - compact premium cards 18.05
   ========================================================= */
.lux-package-section{
  overflow:hidden;
}
.lux-package-section .container{
  width:min(1180px,94%);
}
.lux-packages{
  max-width:1120px !important;
  margin:46px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,340px)) !important;
  justify-content:center !important;
  gap:26px !important;
  align-items:stretch !important;
}
.lux-card,
.lux-card.featured{
  min-width:0 !important;
  min-height:560px !important;
  padding:34px 30px 26px !important;
  border-radius:28px !important;
  transform:none !important;
}
.lux-card:hover,
.lux-card.featured:hover{
  transform:translateY(-6px) !important;
}
.lux-card.featured{
  box-shadow:
    0 30px 90px rgba(0,0,0,.60),
    0 0 42px rgba(202,168,92,.16),
    inset 0 0 70px rgba(202,168,92,.06) !important;
}
.lux-icon{
  width:70px !important;
  height:70px !important;
  margin:0 auto 24px !important;
}
.lux-icon svg{
  width:28px !important;
  height:28px !important;
}
.lux-card h3{
  font-size:clamp(34px,3.1vw,48px) !important;
  letter-spacing:1.2px !important;
  white-space:nowrap !important;
  margin-bottom:16px !important;
}
.lux-line{
  width:110px !important;
  margin-bottom:22px !important;
}
.lux-time{
  font-size:12.5px !important;
  letter-spacing:1.8px !important;
  margin-bottom:24px !important;
}
.lux-card ul{
  margin-bottom:22px !important;
}
.lux-card li{
  font-size:15px !important;
  line-height:1.42 !important;
  gap:12px !important;
  margin-bottom:14px !important;
}
.lux-card li svg{
  width:18px !important;
  height:18px !important;
  flex-basis:18px !important;
}
.lux-price{
  font-size:clamp(48px,4.6vw,62px) !important;
  margin-top:auto !important;
}
.lux-btn{
  min-height:50px !important;
  margin-top:20px !important;
  border-radius:14px !important;
  font-size:12.5px !important;
  letter-spacing:1px !important;
}
.lux-bottom{
  font-size:12px !important;
  line-height:1.45 !important;
  margin-top:13px !important;
  max-width:260px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.lux-badge{
  top:18px !important;
  right:18px !important;
  padding:8px 13px !important;
  font-size:10.5px !important;
}

@media(max-width:1050px){
  .lux-packages{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
  }
  .lux-card,
  .lux-card.featured{
    padding:30px 22px 24px !important;
    min-height:540px !important;
  }
  .lux-card h3{
    font-size:38px !important;
  }
  .lux-card li{
    font-size:14px !important;
  }
}

@media(max-width:900px){
  .lux-packages{
    grid-template-columns:1fr !important;
    max-width:430px !important;
    gap:22px !important;
  }
  .lux-card,
  .lux-card.featured{
    min-height:auto !important;
    padding:34px 26px 26px !important;
  }
  .lux-card h3{
    font-size:42px !important;
  }
}

@media(max-width:480px){
  .lux-package-section .container{width:min(100% - 28px,430px)}
  .lux-card,
  .lux-card.featured{
    padding:30px 22px 24px !important;
    border-radius:24px !important;
  }
  .lux-icon{
    width:64px !important;
    height:64px !important;
  }
  .lux-card h3{
    font-size:38px !important;
  }
  .lux-price{
    font-size:54px !important;
  }
}
/* ===== KIDS PACKAGE COMPACT ===== */

.children-packages .grid{
  display:flex;
  justify-content:center;
}

.children-packages .package{
  max-width:420px;
  width:100%;
  padding:28px;
}

.children-packages .package h3{
  font-size:52px;
  line-height:.95;
  letter-spacing:-2px;
  margin-bottom:14px;
}

.children-packages .package ul{
  margin-top:18px;
}

.children-packages .package li{
  font-size:15px;
  line-height:1.45;
  margin:10px 0;
}

.children-packages .price{
  font-size:72px;
  margin:20px 0;
}

.children-packages .btn{
  min-height:58px;
  font-size:13px;
}

.children-packages .package-note{
  font-size:13px;
  margin-top:14px;
  line-height:1.5;
}

@media(max-width:768px){

  .children-packages .package{
    max-width:100%;
    padding:24px;
  }

  .children-packages .package h3{
    font-size:42px;
  }

  .children-packages .price{
    font-size:58px;
  }

}

/* =========================================================
   DEČIJI ROĐENDANI — LUX PACKAGE FINAL
   ========================================================= */

.children-packages .section-head{
  margin-bottom:34px;
}

.children-lux-wrap{
  display:flex;
  justify-content:center;
  align-items:stretch;
}

.children-lux-card{
  position:relative;
  width:min(100%, 430px);
  padding:34px 30px 30px;
  border-radius:28px;
  border:1px solid rgba(202,168,92,.34);
  background:
    radial-gradient(circle at 82% 10%, rgba(202,168,92,.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.014)),
    #090909;
  box-shadow:
    0 28px 85px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}

.children-lux-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(120deg, transparent, rgba(241,212,138,.18), transparent);
  opacity:.35;
  filter:blur(14px);
  pointer-events:none;
}

.children-lux-card::after{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
  transform:skewX(-18deg);
  transition:.75s ease;
  pointer-events:none;
}

.children-lux-card:hover::after{
  left:135%;
}

.children-lux-badge{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  color:#111;
  background:linear-gradient(135deg, var(--gold), var(--gold2));
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.8px;
  text-transform:uppercase;
  box-shadow:0 10px 28px rgba(202,168,92,.24);
}

.children-lux-icon{
  width:68px;
  height:68px;
  margin:0 auto 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold2);
  border:1px solid rgba(241,212,138,.38);
  background:rgba(255,255,255,.03);
  box-shadow:
    0 0 24px rgba(202,168,92,.14),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.children-lux-icon svg,
.children-lux-list svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.children-lux-card h3{
  text-align:center;
  font-family:Georgia, serif;
  font-size:clamp(36px, 4.5vw, 52px);
  line-height:.95;
  letter-spacing:-1.4px;
  margin:0 0 14px;
  color:#fff;
}

.children-lux-line{
  width:120px;
  height:1px;
  margin:0 auto 18px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}

.children-lux-time{
  text-align:center;
  color:var(--gold2);
  font-size:12px;
  font-weight:900;
  letter-spacing:2.5px;
  text-transform:uppercase;
  margin-bottom:18px;
}

.children-lux-desc{
  max-width:310px;
  margin:0 auto 22px;
  text-align:center;
  color:rgba(255,255,255,.72);
  font-size:14.5px;
  line-height:1.55;
}

.children-lux-list{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  display:grid;
  gap:13px;
}

.children-lux-list li{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.90);
  font-size:15px;
  line-height:1.35;
}

.children-lux-list svg{
  width:21px;
  height:21px;
  flex:0 0 21px;
  color:var(--gold);
}

.children-lux-price{
  text-align:center;
  font-family:Georgia, serif;
  color:var(--gold2);
  font-size:clamp(52px, 6vw, 68px);
  line-height:1;
  margin:18px 0 20px;
  text-shadow:0 0 22px rgba(202,168,92,.22);
}

.children-lux-btn{
  min-height:56px;
  width:100%;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#14100a;
  background:linear-gradient(135deg, var(--gold), var(--gold2));
  font-size:13px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  box-shadow:
    0 16px 42px rgba(202,168,92,.24),
    inset 0 1px 0 rgba(255,255,255,.28);
  transition:.25s ease;
}

.children-lux-btn:hover{
  transform:translateY(-2px);
  box-shadow:
    0 20px 50px rgba(202,168,92,.30),
    inset 0 1px 0 rgba(255,255,255,.32);
}

.children-lux-note{
  margin:14px auto 0;
  max-width:310px;
  text-align:center;
  color:rgba(255,255,255,.54);
  font-size:12.5px;
  line-height:1.48;
}

@media(max-width:768px){
  .children-lux-card{
    width:100%;
    padding:30px 22px 24px;
    border-radius:24px;
  }

  .children-lux-badge{
    top:14px;
    right:14px;
    font-size:9px;
    padding:6px 10px;
  }

  .children-lux-icon{
    width:62px;
    height:62px;
    margin-bottom:16px;
  }

  .children-lux-list li{
    font-size:14px;
  }

  .children-lux-btn{
    min-height:54px;
  }
}


/* =========================================================
   BRUTAL LUX PACKAGE CARDS — FINAL OVERRIDE
   applies to service package cards on vencanja / krstenja / punoletstva / eventi / nekretnine
========================================================= */
.lux-packages{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  margin-top:42px !important;
  align-items:stretch !important;
}
.lux-card{
  position:relative !important;
  min-height:auto !important;
  padding:30px 24px 24px !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 82% 8%,rgba(241,212,138,.13),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),
    #090909 !important;
  border:1px solid rgba(202,168,92,.24) !important;
  box-shadow:0 20px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04) !important;
  transition:.35s ease !important;
}
.lux-card:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(241,212,138,.56) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 34px rgba(202,168,92,.12),inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.lux-card.featured{
  transform:scale(1.025) !important;
  border-color:rgba(241,212,138,.72) !important;
  box-shadow:0 28px 92px rgba(0,0,0,.56),0 0 42px rgba(202,168,92,.16),inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.lux-card.featured:hover{transform:scale(1.025) translateY(-6px) !important;}
.lux-card::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent);
  opacity:.65;
}
.lux-icon{
  width:66px !important;
  height:66px !important;
  margin:0 auto 18px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(241,212,138,.38) !important;
  background:rgba(255,255,255,.025) !important;
  color:var(--gold2) !important;
  box-shadow:0 0 24px rgba(202,168,92,.10), inset 0 0 18px rgba(202,168,92,.035) !important;
}
.lux-icon svg{
  width:30px !important;
  height:30px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.65 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.lux-card h3{
  text-align:center !important;
  font-family:Georgia,serif !important;
  font-size:clamp(35px,3.4vw,48px) !important;
  line-height:.95 !important;
  letter-spacing:-.8px !important;
  color:#fff !important;
  margin:0 0 13px !important;
  padding:0 !important;
  text-transform:uppercase !important;
  text-shadow:0 0 20px rgba(202,168,92,.10) !important;
}
.lux-line{
  width:104px !important;
  height:1px !important;
  margin:0 auto 17px !important;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent) !important;
}
.lux-time{
  text-align:center !important;
  color:var(--gold2) !important;
  font-size:12px !important;
  line-height:1.35 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  margin-bottom:22px !important;
}
.lux-card ul{
  list-style:none !important;
  margin:0 0 22px !important;
  padding:0 !important;
}
.lux-card ul li{
  display:flex !important;
  align-items:flex-start !important;
  gap:11px !important;
  color:rgba(255,255,255,.86) !important;
  font-size:14.5px !important;
  line-height:1.45 !important;
  margin:12px 0 !important;
  padding:0 !important;
}
.lux-card ul li::before{display:none !important;content:none !important;}
.lux-card li svg{
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  margin-top:2px !important;
  fill:none !important;
  stroke:var(--gold2) !important;
  stroke-width:1.65 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.95 !important;
}
.lux-price{
  text-align:center !important;
  font-family:Georgia,serif !important;
  color:var(--gold2) !important;
  font-size:clamp(50px,5vw,64px) !important;
  line-height:1 !important;
  margin:18px 0 20px !important;
  text-shadow:0 0 22px rgba(202,168,92,.16) !important;
}
.lux-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:52px !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:1.25px !important;
  text-transform:uppercase !important;
  border:0 !important;
  box-shadow:0 14px 34px rgba(202,168,92,.20), inset 0 1px 0 rgba(255,255,255,.30) !important;
  transition:.28s ease !important;
}
.lux-btn:hover{transform:translateY(-2px) !important;box-shadow:0 18px 44px rgba(202,168,92,.28) !important;}
.lux-bottom{
  text-align:center !important;
  color:rgba(255,255,255,.56) !important;
  font-size:12.5px !important;
  line-height:1.5 !important;
  margin-top:14px !important;
}
.lux-badge{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  z-index:4 !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(202,168,92,.14) !important;
  color:var(--gold2) !important;
  border:1px solid rgba(241,212,138,.45) !important;
  font-size:10px !important;
  line-height:1 !important;
  letter-spacing:.8px !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  backdrop-filter:blur(8px) !important;
}
@media(max-width:1050px){
  .lux-packages{grid-template-columns:1fr !important;max-width:520px !important;margin-left:auto !important;margin-right:auto !important;}
  .lux-card.featured{transform:none !important;}
  .lux-card.featured:hover{transform:translateY(-6px) !important;}
}
@media(max-width:768px){
  .lux-packages{gap:18px !important;margin-top:30px !important;max-width:100% !important;}
  .lux-card{padding:26px 22px 22px !important;border-radius:24px !important;}
  .lux-icon{width:60px !important;height:60px !important;margin-bottom:15px !important;}
  .lux-icon svg{width:27px !important;height:27px !important;}
  .lux-card h3{font-size:38px !important;letter-spacing:-.5px !important;}
  .lux-time{font-size:11px !important;margin-bottom:18px !important;}
  .lux-card ul li{font-size:14px !important;margin:10px 0 !important;}
  .lux-price{font-size:52px !important;margin:16px 0 18px !important;}
  .lux-btn{min-height:50px !important;font-size:11.5px !important;}
}
/* =========================================
   FEATURED PACKAGE ULTRA GLOW
========================================= */

.package.featured{
  position:relative;
  overflow:hidden;

  border:1px solid rgba(241,212,138,.95);

  box-shadow:
    0 0 0 1px rgba(241,212,138,.14),
    0 0 30px rgba(202,168,92,.18),
    0 0 70px rgba(202,168,92,.10),
    0 40px 120px rgba(0,0,0,.72);

  animation:featuredPulse 4s ease-in-out infinite;
}

/* gold aura */

.package.featured::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;

  background:
    radial-gradient(circle at 50% 0%,
    rgba(241,212,138,.22),
    transparent 55%);

  opacity:.75;

  z-index:0;
  pointer-events:none;

  filter:blur(18px);
}

/* luxury shine */

.package.featured::after{
  content:"";
  position:absolute;

  top:0;
  left:-140%;

  width:70%;
  height:100%;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.18),
      transparent
    );

  transform:skewX(-18deg);

  animation:shineSweep 5.5s ease-in-out infinite;

  pointer-events:none;
}

/* subtle breathing */

@keyframes featuredPulse{

  0%,100%{
    box-shadow:
      0 0 0 1px rgba(241,212,138,.14),
      0 0 26px rgba(202,168,92,.16),
      0 0 65px rgba(202,168,92,.08),
      0 40px 120px rgba(0,0,0,.72);
  }

  50%{
    box-shadow:
      0 0 0 1px rgba(241,212,138,.22),
      0 0 40px rgba(202,168,92,.26),
      0 0 95px rgba(202,168,92,.14),
      0 40px 120px rgba(0,0,0,.76);
  }

}

/* light sweep */

@keyframes shineSweep{

  0%{
    left:-140%;
  }

  55%{
    left:140%;
  }

  100%{
    left:140%;
  }

}
/* FINAL LOGO SIZE */

.header .logo img{
    width:130px !important;
    max-width:130px !important;
    height:auto !important;
    object-fit:contain;
    display:block;
}

@media(max-width:768px){

    .header .logo img{
        width:120px !important;
        max-width:120px !important;
    }

}
/* LUX FLOATING CONTACT */

.lux-contact-widget{
  position:fixed;
  right:20px;
  bottom:82px;
  z-index:99999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

.lux-contact-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px 12px 18px;
  border-radius:999px;
  background:rgba(12,12,12,.78);
  border:1px solid rgba(212,175,55,.28);
  backdrop-filter:blur(14px);
  color:#fff;
  box-shadow:0 18px 45px rgba(0,0,0,.45);
  opacity:0;
  transform:translateY(12px) scale(.96);
  pointer-events:none;
  transition:.3s ease;
}

.lux-contact-item span{
  font-size:14px;
  font-weight:800;
}

.lux-contact-item b{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#caa85c,#f1d48a);
  color:#111;
  font-size:20px;
}

.lux-contact-main{
  width:66px;
  height:66px;
  border-radius:50%;
  border:1px solid rgba(241,212,138,.5);
  background:linear-gradient(135deg,#caa85c,#f1d48a);
  color:#111;
  font-size:30px;
  cursor:pointer;
  box-shadow:
    0 0 0 10px rgba(202,168,92,.08),
    0 20px 60px rgba(202,168,92,.32);
  transition:.3s ease;
}

.lux-contact-widget:not(.open) .lux-contact-main{
  font-size:26px;
}

.lux-contact-widget:not(.open) .lux-contact-main::before{
  content:"💬";
}

.lux-contact-widget:not(.open) .lux-contact-main{
  color:transparent;
}

.lux-contact-widget:not(.open) .lux-contact-main::before{
  color:#111;
}

.lux-contact-widget.open .lux-contact-item{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.lux-contact-widget.open .lux-contact-main{
  transform:rotate(90deg);
}

@media(min-width:901px){
  .lux-contact-widget{
    bottom:24px;
  }
}
.lux-contact-widget{
  pointer-events:auto !important;
}

.lux-contact-main{
  pointer-events:auto !important;
  z-index:100000 !important;
}

.lux-contact-item{
  z-index:100000 !important;
}


/* =========================================================
   PREMIUM VIBER BUTTON - SIMPLE WORKING FIX 17003
   ========================================================= */

.lux-contact-widget{
  display:none !important;
}

.floating-viber.premium-viber{
  position:fixed !important;
  right:18px !important;
  bottom:86px !important;
  z-index:2147483647 !important;

  width:62px !important;
  height:62px !important;
  padding:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:50% !important;
  background:linear-gradient(135deg,#caa85c,#f1d48a) !important;
  border:1px solid rgba(241,212,138,.62) !important;
  color:#111 !important;
  text-decoration:none !important;

  box-shadow:
    0 0 0 9px rgba(202,168,92,.08),
    0 18px 55px rgba(202,168,92,.28),
    0 20px 70px rgba(0,0,0,.55) !important;

  animation:premiumViberPulse 4.8s ease-in-out infinite !important;
  pointer-events:auto !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

.floating-viber.premium-viber svg{
  width:30px !important;
  height:30px !important;
  fill:#111 !important;
  display:block !important;
}

.floating-viber.premium-viber .viber-badge{
  position:absolute !important;
  top:-7px !important;
  right:-5px !important;
  display:block !important;
  background:#0fff8f !important;
  color:#06120b !important;
  font-size:10px !important;
  font-weight:900 !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  box-shadow:0 0 14px rgba(15,255,143,.55) !important;
}

.floating-viber.premium-viber:active{
  transform:scale(.95) !important;
}

@keyframes premiumViberPulse{
  0%,100%{
    box-shadow:
      0 0 0 9px rgba(202,168,92,.08),
      0 18px 55px rgba(202,168,92,.24),
      0 20px 70px rgba(0,0,0,.55);
  }
  50%{
    box-shadow:
      0 0 0 14px rgba(202,168,92,.03),
      0 22px 70px rgba(202,168,92,.34),
      0 22px 80px rgba(0,0,0,.65);
  }
}

@media(min-width:901px){
  .floating-viber.premium-viber{
    bottom:24px !important;
  }
}

@media(max-width:768px){
  .floating-viber.premium-viber{
    right:18px !important;
    bottom:84px !important;
    width:60px !important;
    height:60px !important;
  }
}
.viber-tooltip{
  position:absolute;
  right:76px;
  bottom:6px;

  width:210px;
  white-space:normal;
  text-align:left;

  background:rgba(10,10,10,.92);
  border:1px solid rgba(241,212,138,.25);
  color:#fff;

  font-size:12px;
  font-weight:700;
  line-height:1.35;

  padding:10px 13px;
  border-radius:14px;

  opacity:0;
  transform:translateX(8px);
  transition:.3s ease;

  backdrop-filter:blur(10px);
  box-shadow:0 12px 40px rgba(0,0,0,.45);

  pointer-events:none;
}

.floating-viber:hover .viber-tooltip{
  opacity:1;
  transform:none;
}

@media(max-width:768px){
  .viber-tooltip{
    display:none;
  }
}
@media(max-width:768px){

  .viber-tooltip{
    display:block;

    opacity:0;
    visibility:hidden;

    animation:hideTooltip 5s ease forwards;

    right:74px;
    bottom:8px;

    width:180px;
    font-size:11px;
  }

}

@keyframes hideTooltip{

  0%{
    opacity:0;
    visibility:visible;
    transform:translateX(10px);
  }

  10%{
    opacity:1;
    visibility:visible;
    transform:none;
  }

  75%{
    opacity:1;
    visibility:visible;
    transform:none;
  }

  100%{
    opacity:0;
    visibility:hidden;
    transform:translateX(10px);
  }

}
@media(max-width:768px){

  .floating-viber .viber-tooltip{
    display:block !important;
    opacity:0;
    visibility:visible !important;

    right:74px !important;
    bottom:8px !important;

    width:180px;
    white-space:normal;

    font-size:11px;
    line-height:1.35;

    animation:viberMobileTooltip 6s ease forwards !important;
  }

}

@keyframes viberMobileTooltip{
  0%{opacity:0;transform:translateX(12px)}
  15%{opacity:1;transform:translateX(0)}
  75%{opacity:1;transform:translateX(0)}
  100%{opacity:0;transform:translateX(12px)}
}
.package li svg{
  width:18px;
  height:18px;
  stroke:#d4af37;
  stroke-width:1.8;
  fill:none;
  flex-shrink:0;
  margin-top:2px;
}

.package li{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.package-features svg{
  width:20px;
  height:20px;

  stroke:#d7b56d;
  stroke-width:1.9;

  fill:none;

  flex-shrink:0;

  stroke-linecap:round;
  stroke-linejoin:round;

  margin-top:2px;
}

.package-features li{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.footer-contact-line{
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 0;
  color:rgba(255,255,255,.68);
}

.footer-contact-icon{
  width:30px;
  height:30px;
  border:1px solid rgba(215,170,87,.35);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(215,170,87,.05);
  box-shadow:0 0 18px rgba(215,170,87,.08);
  flex-shrink:0;
}

.footer-contact-icon svg{
  width:16px;
  height:16px;
  stroke:#d7aa57;
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:900px){

  .footer-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
    text-align:left;
  }

  .footer-contact-line{
    align-items:flex-start;
    gap:12px;
    margin:13px 0;
  }

  .footer-contact-icon{
    width:28px;
    height:28px;
  }

  .footer-contact-icon svg{
    width:15px;
    height:15px;
  }

}

@media(max-width:600px){

  .footer{
    padding:46px 0 24px;
  }

  .footer-grid{
    gap:28px !important;
  }

  .footer-contact-line{
    font-size:14px;
    line-height:1.45;
  }

}
@media(max-width:768px){

  .footer,
  .footer-pro{
    padding:42px 0 90px !important;
  }

  .footer-grid{
    display:block !important;
  }

  .footer-grid > div{
    margin-bottom:28px !important;
  }

  .footer h4{
    margin-bottom:14px !important;
  }

  .footer-contact-line{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:10px 0 !important;
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .footer-contact-icon{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
  }

  .footer-contact-icon svg{
    width:14px !important;
    height:14px !important;
  }

  .sticky-call{
    z-index:99999 !important;
  }

  .floating-viber{
    bottom:76px !important;
    right:16px !important;
  }
}
@media(max-width:900px){

  .footer-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
    text-align:left;
  }

  .footer-contact-line{
    display:flex;
    align-items:center;
    gap:12px;
    margin:13px 0;
  }

  .footer-contact-icon{
    width:36px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .footer-contact-icon svg{
    width:18px !important;
    height:18px !important;
    display:block;
  }

}

@media(max-width:600px){

  .footer{
    padding:46px 0 24px;
  }

  .footer-grid{
    gap:28px !important;
  }

  .footer-contact-line{
    font-size:15px;
    line-height:1.45;
  }

}
.faq-answer{
    line-height: 1.9;
}

.faq-answer p{
    margin-bottom: 16px;
}

.faq-answer p:last-child{
    margin-bottom: 0;
}
/* MOBILE FAQ FIX */
@media (max-width: 768px){

  .faq-question{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;

    line-height:1.4;
    text-align:left;
  }

  .faq-question span{
    flex-shrink:0;
    margin-top:3px;
  }

}
/* FOOTER ACCORDION */

.footer-acc-btn{
    width:100%;
    background:none;
    border:none;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:space-between;

    font-size:24px;
    font-weight:700;

    padding:0;
    margin-bottom:18px;

    cursor:pointer;
}

.footer-acc-btn span{
    color:#d4af37;
    font-size:26px;
    line-height:1;
}

.footer-acc-content p{
    margin:0 0 12px;
}

/* DESKTOP */

@media (min-width:769px){

    .footer-acc-content{
        display:block !important;
    }

    .footer-acc-btn span{
        display:none;
    }

}

/* MOBILE */

@media (max-width:768px){

    .footer-acc-content{
        display:none;
        padding-top:10px;
    }

    .footer-accordion.active .footer-acc-content{
        display:block;
    }

}
/* FOOTER NAV */

.footer-mobile-nav summary{
  list-style:none;
  cursor:pointer;
  color:#fff;
  font-size:24px;
  font-weight:700;
  margin-bottom:18px;

  display:flex;
  justify-content:space-between;
  align-items:center;
}

.footer-mobile-nav summary::-webkit-details-marker{
  display:none;
}

.footer-mobile-nav summary::after{
  content:"+";
  color:#d4af37;
  font-size:28px;
  line-height:1;
}

.footer-mobile-nav details[open] summary::after{
  content:"-";
}

.footer-mobile-links p{
  margin:0;
}

.footer-mobile-links a{
  display:block;
  padding:8px 0;
  color:inherit;
  text-decoration:none;
}


/* DESKTOP */

@media (min-width:769px){

  .footer-mobile-nav details{
    display:block;
  }

  .footer-mobile-nav summary{
    pointer-events:none;
  }

  .footer-mobile-nav summary::after{
    display:none;
  }

  .footer-mobile-links{
    display:block !important;
  }

}


/* MOBILE */

@media (max-width:768px){

  .footer-mobile-links{
    display:none;
  }

  .footer-mobile-nav details[open] .footer-mobile-links{
    display:block;
  }

}
/* FIX: desktop footer navigacija uvek otvorena */
@media (min-width: 901px){
  .footer-col,
  .footer-links,
  .footer-nav,
  .quick-links,
  .footer-menu {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  .footer-toggle,
  .footer-accordion-btn {
    pointer-events: none !important;
  }

  .footer-toggle::after,
  .footer-accordion-btn::after {
    display: none !important;
  }
}
@media (max-width: 900px){
  .footer-links,
  .footer-nav,
  .quick-links,
  .footer-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
  }

  .footer-col.open .footer-links,
  .footer-col.open .footer-nav,
  .footer-col.open .quick-links,
  .footer-col.open .footer-menu {
    max-height: 500px;
  }
}
/* ==================================================== */
/* Mobile Footer Navigation - Pure CSS Solution */
/* ==================================================== */

/* Desktop (Default Open) */
.footer-mobile-nav details {
  display: block; /* Ensures links are always visible on desktop */
  margin-bottom: 0px; /* Remove margin from mobile */
}

.footer-mobile-nav summary {
  display: none; /* Hide the summary on desktop */
}

.footer-mobile-links {
  display: block; /* Make sure the links are blocks */
}

/* Mobile (Accordion Behavior) */
@media (max-width: 768px) { /* Adjust the breakpoint as needed */
  .footer-mobile-nav details {
    margin-bottom: 25px; /* Add margin between mobile accordions */
    border-bottom: 1px solid #ccc; /* Add border to the bottom of the accordion */
  }
  .footer-mobile-nav summary {
      padding: 10px 0px; /* Add padding to the summary */
      cursor: pointer; /* Change cursor for summary on hover */
  }
  .footer-mobile-nav details[open] {
    margin-bottom: 0px; /* Reset bottom margin to avoid double margins with border-bottom */
  }
  .footer-mobile-links {
    display: grid; /* Mobile: Two-Column Grid */
    grid-template-columns: repeat(2, 1fr); /* Two equal columns */
    gap: 10px; /* Space between columns and rows */
    padding: 10px; /* Add padding to the links */
  }
}
/* =========================================================
   UBICA SVIH LINIJA OKO FOOTER NAVIGACIJE
========================================================= */
.footer-mobile-nav details, 
.footer-mobile-nav summary,
.footer-mobile-links {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  background: transparent !important;
}

/* Uklanja strelice/linije koje pregledac sam generie */
.footer-mobile-nav summary::-webkit-details-marker {
  display: none !important;
}

.footer-mobile-nav details::before,
.footer-mobile-nav details::after {
  display: none !important;
}
/* =========================================
   LUXURY FAQ SEKCIJA (FOTO MOMENTS INDEX)
========================================= */
.faq-section {
  padding-top: 80px;
  padding-bottom: 80px;
  background: #0a0a0a;
}

.faq-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.faq-card:hover {
  border-color: rgba(202, 168, 92, 0.3);
  box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}

.faq-card .faq-question {
  width: 100%;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  text-align: left;
  padding: 22px 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  cursor: pointer;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.faq-card .faq-question:hover {
  color: var(--gold2);
}

.faq-card .faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(202, 168, 92, 0.08);
  color: var(--gold);
  border: 1px solid rgba(202, 168, 92, 0.2);
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-card .faq-icon svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

.faq-answer-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s ease;
}

.faq-answer-wrapper > div {
  min-height: 0 !important;
}

.faq-card .faq-answer {
  overflow: hidden;
  padding: 0 26px;
  transition: padding 0.4s ease, opacity 0.4s ease;
  opacity: 0;
  max-height: none !important;
  height: auto !important;
}

.faq-card .faq-answer p {
  margin: 0;
  padding-bottom: 5px;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.75);
}

/* AKTIVNO STANJE */
.faq-card.active {
  border-color: rgba(202, 168, 92, 0.5);
  background: linear-gradient(180deg, rgba(202, 168, 92, 0.05), rgba(255,255,255,0.015));
  box-shadow: 0 20px 50px rgba(0,0,0,0.5), 0 0 25px rgba(202, 168, 92, 0.08);
}

.faq-card.active .faq-question {
  color: var(--gold);
  padding-bottom: 12px;
}

.faq-card.active .faq-icon {
  background: var(--gold);
  color: #111;
  transform: rotate(45deg);
}

.faq-card.active .faq-answer-wrapper {
  grid-template-rows: 1fr;
}

.faq-card.active .faq-answer {
  padding-bottom: 24px;
  opacity: 1;
}

/* Mobilni */
@media(max-width: 768px) {
  .faq-card .faq-question {
    font-size: 15.5px;
    padding: 18px 20px;
  }
  .faq-card .faq-icon {
    width: 28px;
    height: 28px;
  }
  .faq-card .faq-icon svg {
    width: 14px;
    height: 14px;
  }
  .faq-card .faq-answer {
    padding: 0 20px;
  }
  .faq-card .faq-answer p {
    font-size: 14.5px;
  }
}
/* =========================================
   PREMIUM ADVICE CARDS - CINEMATIC STIL
========================================= */
.advice-grid { display: grid; gap: 30px; }

.advice-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 24px;
  overflow: hidden;
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
}

.advice-card:hover {
  transform: translateY(-8px);
  border-color: rgba(202,168,92,0.4);
  box-shadow: 0 20px 40px rgba(0,0,0,0.5), 0 0 20px rgba(202,168,92,0.1);
}

.advice-thumb {
  position: relative;
  display: block;
  height: 220px;
  overflow: hidden;
}

.advice-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.advice-card:hover .advice-thumb img { transform: scale(1.08); }

.advice-category {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(0,0,0,0.6);
  color: var(--gold);
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  backdrop-filter: blur(5px);
}

.advice-card-content {
  padding: 26px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.advice-card-content h3 {
  font-size: 20px;
  margin-bottom: 12px;
  color: #fff;
}

.advice-card-content p {
  font-size: 14.5px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 24px;
  flex-grow: 1;
}

.advice-card-content .btn {
  width: 100%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(202,168,92,0.3);
}

.advice-card:hover .btn {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color: #111;
  border: none;
}
/* =========================================
   PREMIUM ADVICE CARDS - FOTO MOMENTS
========================================= */
.advice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.article-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
  border: 1px solid rgba(202,168,92,0.2); /* Zlatni okvir */
  border-radius: 24px;
  overflow: hidden;
  transition: all 0.4s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  text-align: center;
}

.article-card:hover {
  transform: translateY(-10px);
  border-color: rgba(202,168,92,0.6);
  box-shadow: 0 20px 50px rgba(0,0,0,0.5), 0 0 20px rgba(202,168,92,0.15);
}

.article-thumb {
  display: block;
  height: 250px;
  overflow: hidden;
}

.article-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.article-card:hover .article-thumb img {
  transform: scale(1.08);
}

.article-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.article-content h3 {
  font-size: 26px;
  color: #fff;
  transition: 0.3s;
}

.article-card:hover h3 {
  color: var(--gold);
}

.article-content p {
  color: rgba(255,255,255,0.7);
  font-size: 15px;
  margin-bottom: 5px;
}

/* Dugme */
.article-content .btn-primary {
  margin-top: auto;
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
}

.article-card:hover .btn-primary {
  background: linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color: #111 !important;
  border: none !important;
}

/* Mobilni */
@media(max-width: 900px) {
  .advice-grid {
    grid-template-columns: 1fr;
  }
}
/* =========================================
   PREMIUM ADVICE GRID (SAVETI STRANA)
========================================= */
.advice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.advice-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
  border: 1px solid rgba(202,168,92,0.15);
  border-radius: 24px;
  overflow: hidden;
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
}

.advice-card:hover {
  transform: translateY(-8px);
  border-color: rgba(202,168,92,0.6);
  box-shadow: 0 20px 40px rgba(0,0,0,0.5), 0 0 20px rgba(202,168,92,0.1);
}

.advice-thumb {
  position: relative;
  display: block;
  height: 220px;
  overflow: hidden;
}

.advice-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.advice-card:hover .advice-thumb img { transform: scale(1.08); }

.advice-category {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(0,0,0,0.6);
  color: var(--gold);
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  backdrop-filter: blur(5px);
}

.advice-content {
  padding: 26px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.advice-content h3 {
  font-size: 20px;
  margin-bottom: 12px;
  color: #fff;
}

.advice-content p {
  color: rgba(255,255,255,0.7);
  font-size: 14.5px;
  line-height: 1.6;
  margin-bottom: 24px;
  flex-grow: 1;
}

/* Mobilni */
@media(max-width: 900px) {
  .advice-grid { grid-template-columns: 1fr; }
}
/* =========================================
   LIGHT BUTTON FIX (ZA BLOG KARTICE)
========================================= */

/* Osnovno stanje svetlog dugmeta */
.article-card .btn-light {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(202, 168, 92, 0.5) !important;
  color: #fff !important;
  transition: all 0.3s ease !important;
}

/* Hover stanje - Zlatno isijavanje */
.article-card:hover .btn-light {
  background: linear-gradient(135deg, var(--gold), var(--gold2)) !important;
  color: #111 !important;
  border-color: transparent !important;
  box-shadow: 0 10px 25px rgba(202, 168, 92, 0.3) !important;
}
/* =========================================
   GOLD OUTLINE BUTTON - SVETLO DUGME
========================================= */
.btn-gold-outline {
  background: transparent !important; /* Providno dugme */
  border: 1px solid rgba(202,168,92,0.5) !important; /* Zlatni okvir */
  color: #fff !important; /* Belo slovo */
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

/* Kada prede miem preko kartice (Hover) */
.article-card:hover .btn-gold-outline {
  background: linear-gradient(135deg, #caa85c, #f1d48a) !important;
  color: #000 !important; /* Crno slovo na zlatnoj pozadini */
  border-color: transparent !important;
  box-shadow: 0 10px 20px rgba(202,168,92,0.3) !important;
}