/* Majstor Odmah — shared styles for service + area pages (the homepage keeps its own inline CSS). */
:root{
  --navy:#0B2A4A;--navy-2:#2E4A66;--blue:#1E8FE1;--blue-deep:#0B63AE;--aqua:#BDE6FF;
  --glass:linear-gradient(145deg,rgba(255,255,255,.8),rgba(255,255,255,.45));
  --glass-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(255,255,255,.7),0 0 0 1px rgba(11,42,74,.06),0 22px 50px -22px rgba(30,143,225,.35);
  --f-display:"Fraunces",ui-serif,Georgia,serif;--f-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gut:16px;--r:24px;--ease:cubic-bezier(.16,1,.3,1)
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:#fff;color:var(--navy);font:16px/1.65 var(--f-sans);-webkit-font-smoothing:antialiased;padding-bottom:92px}
img,svg{display:block;max-width:100%}
a{color:var(--blue-deep)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:10px}
h1,h2,h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.03em;line-height:1.02;margin:0}
p{margin:0}
.wrap{max-width:1140px;margin:0 auto;padding:0 var(--gut)}
.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);border:1px solid rgba(255,255,255,.95);box-shadow:var(--glass-shadow)}
.bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(50% 40% at 85% 8%,rgba(189,230,255,.7),transparent 70%),radial-gradient(40% 40% at 0% 60%,rgba(189,230,255,.45),transparent 70%),#fff}

/* header */
.top{position:sticky;top:10px;z-index:50;margin:10px var(--gut) 0;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font:700 18px/1 var(--f-display);letter-spacing:-.02em}
.logo svg{width:20px;height:26px}
.logo small{display:block;font:600 9px/1 var(--f-sans);letter-spacing:.26em;text-transform:uppercase;color:var(--navy-2);margin-top:4px}
.top nav{display:none;gap:4px}
.top nav a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--navy-2);font-size:14px;font-weight:500}
.top nav a:hover{background:rgba(189,230,255,.45);color:var(--navy)}
@media (min-width:980px){.top nav{display:flex}.top{margin:14px 24px 0}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:700;text-decoration:none;border:0;transition:transform .3s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:19px;height:19px}
.btn-call{background:linear-gradient(180deg,#1A86D6,var(--blue-deep));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 14px 30px -12px rgba(11,99,174,.65)}
.btn-glass{background:var(--glass);border:1px solid #fff;box-shadow:var(--glass-shadow);color:var(--navy)}
.btn-big{min-height:60px;font-size:18px;padding:0 26px}

/* breadcrumbs */
.crumbs{font-size:13px;color:var(--navy-2);margin:28px 0 18px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li:not(:last-child)::after{content:"›";margin-left:6px;color:#9aaabb}
.crumbs a{color:var(--navy-2);text-decoration:none}
.crumbs a:hover{color:var(--blue-deep);text-decoration:underline}

/* page hero */
.hero{display:grid;gap:24px;align-items:center;padding:8px 0 36px}
@media (min-width:900px){.hero{grid-template-columns:1.4fr .6fr;gap:48px;padding-bottom:56px}}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--blue-deep);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.hero h1{font-size:clamp(36px,6.4vw,72px)}
.quip{font:italic 500 clamp(20px,2.6vw,26px)/1.2 var(--f-display);color:var(--blue-deep);margin-top:14px}
.lead{font-size:clamp(17px,2vw,19px);color:var(--navy-2);margin-top:18px;max-width:62ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero-art{border-radius:32px;aspect-ratio:1;display:grid;place-items:center;max-width:320px;width:100%;justify-self:center}
.hero-art svg{width:56%;height:auto;overflow:visible}
.hero-art .s{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* answer box (GEO: the direct answer up top) */
.answer{border-radius:var(--r);padding:20px 22px;margin:0 0 36px;border-left:4px solid var(--blue)}
.answer strong{display:block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:8px}
.answer ul{margin:0;padding-left:18px;color:var(--navy-2)}

/* content */
.layout{display:grid;gap:28px}
@media (min-width:980px){.layout{grid-template-columns:1fr 330px;gap:48px;align-items:start}}
.content section{margin-bottom:38px}
.content h2{font-size:clamp(26px,3.6vw,36px);margin-bottom:14px}
.content p{color:var(--navy-2);margin-bottom:12px;max-width:68ch}
.content ul,.content ol{margin:0;padding:0;list-style:none;display:grid;gap:8px;max-width:68ch}
.content li{position:relative;padding:12px 14px 12px 44px;border-radius:14px;background:rgba(189,230,255,.22);color:var(--navy)}
.content ul li::before{content:"";position:absolute;left:16px;top:18px;width:10px;height:13px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 30%,#fff,var(--aqua) 40%,var(--blue))}
.content ol{counter-reset:k}
.content ol li{counter-increment:k}
.content ol li::before{content:counter(k);position:absolute;left:12px;top:11px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--f-sans);color:#fff;background:var(--blue-deep)}

/* aside */
.aside{display:grid;gap:16px}
@media (min-width:980px){.aside{position:sticky;top:100px}}
.card{border-radius:var(--r);padding:22px}
.card h2,.card h3{font-size:22px;margin-bottom:10px}
.card p{color:var(--navy-2);font-size:15px}
.card .phone{display:block;font:700 34px/1 var(--f-display);letter-spacing:-.04em;color:var(--navy);text-decoration:none;margin:12px 0 14px}
.card .btns{display:grid;gap:8px}
.card ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.card li a{display:block;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--navy);font-weight:500;font-size:15px}
.card li a:hover,.card li a[aria-current]{background:rgba(189,230,255,.45)}

/* faq */
.faq{display:grid;gap:10px}
.faq details{border-radius:18px}
.faq summary{list-style:none;cursor:pointer;padding:18px 52px 18px 20px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:600 24px/1 var(--f-display);color:var(--blue-deep);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq h3{font-size:19px;line-height:1.25;letter-spacing:-.01em}
.faq details p{padding:0 20px 18px;margin:0}

/* related + areas */
.grid3{display:grid;gap:12px}
@media (min-width:700px){.grid3{grid-template-columns:repeat(3,1fr)}}
.rel{display:block;border-radius:20px;padding:18px;text-decoration:none;color:var(--navy);transition:transform .3s var(--ease)}
.rel:hover{transform:translateY(-3px)}
.rel b{font:600 20px/1.15 var(--f-display);letter-spacing:-.02em;display:block}
.rel span{font-size:14px;color:var(--blue-deep);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chips li{padding:7px 13px;border-radius:999px;font-size:14px;font-weight:600;background:rgba(189,230,255,.35)}
.chips li::before{display:none}
.opstina{border-radius:var(--r);padding:20px 22px}
.opstina h2{font-size:24px;margin-bottom:8px}
.opstina p{font-size:15px}
.areas{display:grid;gap:14px}
@media (min-width:760px){.areas{grid-template-columns:repeat(2,1fr)}}

/* cta band + footer */
.band{border-radius:32px;padding:30px 22px;text-align:center;margin:20px 0 56px}
.band h2{font-size:clamp(28px,4.6vw,46px)}
.band p{color:var(--navy-2);margin:10px auto 20px;max-width:46ch}
.band .hero-cta{justify-content:center}
.foot{border-top:1px solid #eef3f8;padding:40px 0 28px;font-size:14px;color:var(--navy-2)}
.foot-grid{display:grid;gap:24px}
@media (min-width:800px){.foot-grid{grid-template-columns:1.2fr 1fr 1fr}}
.foot strong{display:block;font:600 20px/1.1 var(--f-display);color:var(--navy);margin-bottom:8px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{color:var(--navy-2);text-decoration:none}
.foot a:hover{color:var(--blue-deep);text-decoration:underline}
.foot .legal{margin-top:24px;font-size:12px}

/* sticky mobile call */
.sticky-call{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;border-radius:999px;text-decoration:none;font-weight:700;font-size:17px;color:var(--navy)}
.sticky-call .dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#1A86D6,var(--blue-deep));color:#fff}
.sticky-call .dot svg{width:18px;height:18px}
.sticky-call small{font-weight:500;color:var(--navy-2);font-size:14px}
@media (min-width:900px){.sticky-call{display:none}body{padding-bottom:0}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
