/* Reset & base */
:root{
  --bg:#FBF8F5;
  --beige:#F2E9E1;
  --nude:#EADFD4;
  --accent:#C6A97E; /* gold-ish */
  --berry:#6F2E5F;
  --dark:#3b3b3b;
  --muted:#7a7a7a;
  --glass: rgba(255,255,255,0.6);
  --radius:12px;
}
*{box-sizing:border-box}
html{scroll-padding-top:92px}
html,body{height:100%;margin:0;font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;color:var(--dark);background:var(--bg);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 28px}

/* Navigation */
.nav-fixed{position:fixed;left:0;right:0;top:0;background:rgba(251,248,245,0.86);backdrop-filter: blur(6px);z-index:80;box-shadow:0 8px 24px rgba(60,40,20,0.05)}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
.logo{font-weight:700;color:var(--dark);text-decoration:none;font-size:20px}
.nav-links{list-style:none;display:flex;gap:18px;margin:0;padding:0}
.nav-links a{color:var(--dark);text-decoration:none;padding:8px 10px;border-radius:8px}
.nav-links a:hover{background:var(--beige)}
.nav-toggle{display:none;background:transparent;border:0;font-size:22px;color:#000;cursor:pointer}

.logo-img{height:44px;object-fit:contain}

/* Promo popup */
.promo-popup{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(38,30,26,0.46);padding:20px;z-index:120}
.promo-popup[hidden]{display:none}
.promo-card{position:relative;width:min(460px,100%);background:#fff;border:1px solid rgba(198,169,126,0.35);border-radius:18px;padding:34px;box-shadow:0 24px 80px rgba(52,35,20,0.28);text-align:center}
.promo-card h2{margin:8px 0 12px;font-size:30px;color:var(--dark)}
.promo-card p{color:var(--muted);line-height:1.6}
.promo-kicker{margin:0 0 8px;color:var(--berry);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.promo-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--beige);color:var(--dark);font-size:24px;line-height:1;cursor:pointer}
.promo-close:hover{background:var(--nude)}

/* Hero */
.hero{height:92vh;min-height:660px;background-image:url('../img/image1.jpg');background-size:cover;background-position:center;position:relative;display:flex;align-items:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(250,246,243,0.35), rgba(237,229,221,0.7))}
.hero-content{position:relative;color:var(--dark);padding:40px 20px}
.hero h1{font-size:42px;line-height:1.1;margin:0 0 12px}
.tagline{color:var(--muted);margin-bottom:18px}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;background:transparent;border:1px solid var(--accent);color:var(--dark);text-decoration:none;font:inherit;line-height:1.2;cursor:pointer;transition:transform .18s ease,box-shadow .18s}
.btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(198,169,126,0.12)}
.btn.primary{background:var(--accent);color:#fff;border-color:transparent}

/* Services preview */
.services-preview{padding-top:56px;padding-bottom:56px}
.services-preview h2{margin-top:0}
.section-sub{color:var(--muted);margin-top:6px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(60,40,20,0.06);display:flex;flex-direction:column}
.card img{width:100%;height:180px;object-fit:cover}
.card-body{padding:16px}
.card h3{margin:0 0 8px;line-height:1.25}
.services-cta{margin-top:32px}

/* About */
.about{padding-top:72px;padding-bottom:72px}
.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:52px;align-items:center}
.about-image{position:relative}
.about-image::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--accent);border-radius:18px;z-index:0}
.about-image img{position:relative;z-index:1;width:100%;border-radius:18px;object-fit:cover;box-shadow:0 24px 60px rgba(60,40,20,0.16)}
.about-text h3{margin:2px 0 12px;font-size:20px;line-height:1.2;color:var(--berry)}
.about-text p{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0 0 10px}
.about-lead{color:var(--dark);font-size:14.5px;line-height:1.55}
.about-tags{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 14px}
.about-tags span{font-size:12.5px;letter-spacing:.02em;color:var(--berry);background:var(--beige);border:1px solid rgba(198,169,126,0.55);border-radius:999px;padding:7px 15px;white-space:nowrap}
.about-signature{font-family:Georgia, 'Times New Roman', serif;font-style:italic;font-size:18px;color:var(--berry);margin-top:4px}
.features{padding-left:18px}

/* Reviews */
.reviews{padding-top:56px;padding-bottom:56px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-heading h2{margin:0}
.review-controls{display:flex;gap:10px}
.icon-btn{width:42px;height:42px;border:1px solid var(--accent);border-radius:50%;background:#fff;color:var(--dark);font-size:28px;line-height:1;cursor:pointer}
.icon-btn:hover{background:var(--beige)}
.reviews-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-color:var(--accent) transparent}
.review-card{flex:0 0 calc((100% - 44px) / 3);min-height:250px;background:#fff;border:1px solid rgba(111,46,95,0.12);border-radius:18px;padding:38px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;scroll-snap-align:start;box-shadow:0 8px 30px rgba(60,40,20,0.05)}
.stars{color:var(--berry);font-size:26px;letter-spacing:4px;margin-bottom:24px}

/* Results gallery */
.results{padding-top:56px;padding-bottom:56px}
.results-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-color:var(--accent) transparent}
.result-slide{flex:0 0 calc((100% - 44px) / 3);margin:0;background:#fff;border:1px solid rgba(198,169,126,0.45);border-radius:18px;padding:12px;box-shadow:0 8px 30px rgba(60,40,20,0.06);scroll-snap-align:start}
.result-slide img{width:100%;height:320px;object-fit:cover;border-radius:12px}
.review-card p{font-size:18px;line-height:1.45;color:#675d65;margin:0 0 24px}
.review-card strong{font-size:20px;color:#1f2933}

/* Contact */
.contact-section{padding-top:56px;padding-bottom:30px}
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:32px;align-items:start;background:#fff;border-radius:18px;padding:34px;box-shadow:0 8px 30px rgba(60,40,20,0.06)}
.contact-copy h2{margin:0 0 12px}
.contact-copy p{line-height:1.7;color:var(--muted)}
.contact-form{display:grid;gap:10px}
.contact-form label{font-weight:700;color:var(--dark)}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #dfd5cc;border-radius:10px;padding:12px 14px;font:inherit;color:var(--dark);background:#fff}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(198,169,126,0.35);border-color:var(--accent)}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form button{justify-self:start;margin-top:6px;cursor:pointer}
.form-note{min-height:20px;margin:2px 0 0;color:var(--muted);font-size:14px}

/* Footer */
.site-footer{background:linear-gradient(180deg,#f7f3ef,#f2ebe3);padding:28px 0 8px;margin-top:32px}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.footer-bottom{text-align:center;color:var(--muted);padding:12px 0;font-size:14px}
.site-footer a{color:var(--dark);text-decoration:none}
.social a{margin-right:8px;color:var(--accent)}

/* Services page */
.services-list{padding:120px 0 60px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.service-card{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(60,40,20,0.06)}
.service-card img{width:100%;height:190px;object-fit:cover}
.service-body{padding:18px;display:flex;flex-direction:column;flex:1}
.service-body h3{margin:0 0 8px;line-height:1.25}
.service-body p{color:var(--muted);line-height:1.55;margin:0 0 16px}
.detalji-btn{margin-top:auto;align-self:flex-start;cursor:pointer}
.price{font-weight:700;color:var(--accent);margin-top:12px}
.center{text-align:center}

/* Service detail modal */
.service-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(38,30,26,0.5);padding:20px;z-index:130;overflow-y:auto}
.service-modal[hidden]{display:none}
.service-modal-card{position:relative;width:min(620px,100%);max-height:90vh;overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(52,35,20,0.32)}
.service-modal-card .modal-img{width:100%;height:250px;object-fit:cover;object-position:center 30%;border-radius:18px 18px 0 0}
.modal-content{padding:28px 30px 32px}
.modal-title{position:relative;margin:0 0 18px;padding-bottom:12px;font-size:27px;color:var(--berry)}
.modal-title::after{content:"";position:absolute;left:0;bottom:0;width:54px;height:3px;border-radius:3px;background:var(--accent)}
.modal-price{margin:0 0 18px;font-weight:700;color:var(--berry);font-size:18px}
.modal-desc{color:#5f5660;line-height:1.7;font-size:14px}
.modal-desc p{margin:0 0 13px;font-size:14px}
.modal-desc strong{color:var(--berry);font-size:14px}
.modal-desc ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.modal-desc li{position:relative;padding-left:18px;margin:0}
.modal-desc li::before{content:"";position:absolute;left:2px;top:9px;width:4px;height:4px;border-radius:50%;background:rgba(198,169,126,0.55)}
.modal-content .btn{margin-top:8px}
.modal-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,0.9);color:var(--dark);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,0.18)}
.modal-close:hover{background:#fff}
body.modal-open{overflow:hidden}

/* Price list */
.price-list{padding:120px 0 60px}
.price-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:30px 0}

/* Paketi - grupa preko cijele širine */
.price-group.packages-group{grid-column:1 / -1;margin-top:8px}
.price-group{background:#fff;border-radius:14px;padding:26px 34px;box-shadow:0 8px 30px rgba(60,40,20,0.06)}
.price-group h2{margin:0 0 16px;font-size:22px}
.price-group dl{margin:0}
.price-group dl > div{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #eee5dc;padding:13px 0}
.price-group dl > div:first-child{border-top:0}
.service-full[hidden]{display:none}
.price-row{cursor:pointer;border-radius:8px;transition:background .15s ease;padding-left:10px;padding-right:10px;margin-left:-10px;margin-right:-10px}
.price-row:hover,.price-row:focus-visible{background:var(--beige);outline:none}
.price-group dt{color:var(--dark)}
.price-meta{display:block;color:var(--muted);font-size:13px;font-weight:400;margin-top:2px}
.price-group dd{margin:0;color:var(--berry);font-weight:700;white-space:nowrap}

/* Animations */
[data-animate]{opacity:0;transform:translateY(18px);transition:all .7s cubic-bezier(.2,.9,.3,1)}
[data-animate].in-view{opacity:1;transform:none}

/* Responsive */
@media(max-width:900px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .service-cards{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .about-image::before{inset:12px -12px -12px 12px}
  .about-text h2{font-size:26px}
  .review-card{flex-basis:calc((100% - 22px) / 2)}
  .contact-grid,.price-groups{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .nav-links{display:none;position:absolute;left:20px;right:20px;top:72px;flex-direction:column;gap:6px;background:#fff;padding:14px;border-radius:12px;box-shadow:0 14px 40px rgba(60,40,20,0.14)}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:12px 14px}
  .nav-toggle{display:block}
}
@media(max-width:650px){
  .container{padding-left:20px;padding-right:20px}
  .nav{padding:12px 20px}
  .logo-img{height:38px}
  .hero-content{padding:28px 20px}
  .hero h1{font-size:28px}
  .tagline{font-size:16px;line-height:1.55}
  .cards{grid-template-columns:1fr}
  .card img{height:210px}
  .services-preview,.about,.reviews,.contact-section{padding-top:42px;padding-bottom:42px}
  .service-cards{grid-template-columns:1fr}
  .service-card img{height:210px}
  .service-body{padding:16px}
  .service-modal-card .modal-img{height:240px}
  .modal-content{padding:22px 20px 26px}
  .modal-title{font-size:22px}
  .hero{height:74vh;min-height:540px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .reviews-track{gap:16px;padding-left:0;padding-right:0;scroll-padding:0}
  .review-card{flex:0 0 100%;min-height:auto;padding:30px 26px;scroll-snap-align:center}
  .results-track{gap:16px;padding-left:0;padding-right:0;scroll-padding:0}
  .result-slide{flex:0 0 100%;scroll-snap-align:center}
  .result-slide img{height:260px}
  .stars{font-size:22px;letter-spacing:2px;margin-bottom:16px}
  .review-card p{font-size:16px;margin-bottom:16px}
  .contact-grid{padding:24px}
  .contact-form button{width:100%;text-align:center}
  .promo-card{padding:28px 22px}
  .promo-card h2{font-size:24px}
  .services-list,.price-list{padding:100px 0 42px}
  .price-group{padding:20px}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .price-group dl > div{display:block}
  .price-group dd{margin-top:6px}
  .review-card{flex-basis:100%;padding:28px 22px}
  .promo-popup{padding:14px}
  .btn{width:100%;text-align:center}
  .card .btn,.promo-card .btn,.price-list .btn{width:auto}
}

