
/* S+ STABILIZATION FIX 2026-07-19 — layout, contrast, mobile menu and sticky bar */
:root{
  --sfix-page:#E3E5E1;
  --sfix-card:#FFFFFF;
  --sfix-cream:#F5EFE3;
  --sfix-text:#242823;
  --sfix-muted:#4F5851;
  --sfix-gold:#7A4F08;
  --sfix-gold-strong:#654006;
  --sfix-border:#D9C49B;
  --sfix-dark:#132019;
}
html,body{max-width:100%!important;overflow-x:clip!important}
body.splus-system{background:var(--sfix-page)!important;color:var(--sfix-text)!important}
body.splus-system *{box-sizing:border-box}
body.splus-system main{min-width:0!important;overflow:visible!important}
body.splus-system main>:is(section,.section),
body.splus-system footer,body.splus-system .footer{
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:none!important;
}
body.splus-system :is(.perf-below-fold,.lazy-section){content-visibility:visible!important;contain:none!important;contain-intrinsic-size:none!important}

/* Mobile navigation must actually open. */
@media(max-width:920px){
  body.splus-system .top-nav{display:none!important}
  body.splus-system .top-nav.open,body.splus-system.nav-open .top-nav{
    display:flex!important;position:fixed!important;z-index:10050!important;
    top:132px!important;left:12px!important;right:12px!important;width:auto!important;
    max-height:calc(100vh - 150px)!important;overflow:auto!important;
    flex-direction:column!important;align-items:stretch!important;gap:4px!important;
    padding:12px!important;background:#fff!important;border:1px solid var(--sfix-border)!important;
    border-radius:18px!important;box-shadow:0 18px 48px rgba(12,24,17,.24)!important;
  }
  body.splus-system .top-nav.open a,body.splus-system.nav-open .top-nav a{
    display:block!important;width:100%!important;min-height:44px!important;padding:11px 12px!important;
    color:var(--sfix-text)!important;background:#fff!important;border-radius:10px!important;
    font-size:14px!important;line-height:1.35!important;text-align:left!important;
  }
}

/* Sticky contact is compact, appears only after scrolling and never sits over forms/footer. */
body.splus-system .sticky-contact,body.splus-system .sticky-bar{
  position:fixed!important;z-index:9990!important;left:50%!important;right:auto!important;bottom:8px!important;
  width:min(720px,calc(100% - 16px))!important;height:auto!important;min-height:64px!important;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding:6px!important;
  border:1px solid rgba(202,160,80,.5)!important;border-radius:18px!important;background:rgba(19,32,25,.97)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.24)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translate(-50%,calc(100% + 24px))!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
}
body.splus-system.splus-sticky-visible:not(.splus-footer-visible):not(.splus-form-zone):not(.splus-form-focus) :is(.sticky-contact,.sticky-bar){
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important;
}
body.splus-system.splus-sticky-visible:not(.splus-footer-visible):not(.splus-form-zone):not(.splus-form-focus){padding-bottom:84px!important}
body.splus-system :is(.sticky-contact,.sticky-bar) a{
  min-width:0!important;min-height:50px!important;height:auto!important;margin:0!important;padding:8px 6px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  border:0!important;border-radius:12px!important;font-size:12px!important;line-height:1.15!important;font-weight:800!important;
  white-space:normal!important;text-decoration:none!important;
}
body.splus-system :is(.sticky-contact,.sticky-bar) .quote{background:#CB9229!important;color:#10150F!important}
body.splus-system :is(.sticky-contact,.sticky-bar) .viber{background:#574B91!important;color:#fff!important}
body.splus-system :is(.sticky-contact,.sticky-bar) .whatsapp{background:#25C969!important;color:#082415!important}
body.splus-system :is(.sticky-contact,.sticky-bar) .call{background:#fff!important;color:#17201B!important}
@media(max-width:640px){
  body.splus-system.splus-sticky-visible:not(.splus-footer-visible):not(.splus-form-zone):not(.splus-form-focus){padding-bottom:76px!important}
  body.splus-system :is(.sticky-contact,.sticky-bar){bottom:5px!important;min-height:58px!important;padding:5px!important;gap:4px!important;border-radius:15px!important}
  body.splus-system :is(.sticky-contact,.sticky-bar) a{min-height:46px!important;padding:5px 3px!important;font-size:10.5px!important}
  body.splus-system :is(.sticky-contact,.sticky-bar) .call{font-size:10px!important}
}

/* Light inner heroes and their labels must remain readable. */
body.splus-system:not(.is-home) :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero){
  background:var(--sfix-cream)!important;color:var(--sfix-text)!important;border:1px solid var(--sfix-border)!important;
  overflow:visible!important;box-shadow:none!important;
}
body.splus-system:not(.is-home) :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(h1,h2,h3,h4,p,li,span){color:inherit}
body.splus-system:not(.is-home) :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(.eyebrow,.kicker,.section-label,.section-kicker,.upit-badge,.service-label){
  color:var(--sfix-gold-strong)!important;background:#fff!important;border-color:#CFA34E!important;text-shadow:none!important;
}
body.splus-system .breadcrumbs{color:var(--sfix-muted)!important;background:transparent!important}
body.splus-system .breadcrumbs a{color:var(--sfix-gold-strong)!important}
body.splus-system .breadcrumbs span{color:var(--sfix-muted)!important}

/* White cards always use dark text; gold links are dark enough on light surfaces. */
body.splus-system :is(.card,.soft,.quick-card,.gallery-card,.price-card,.info-card,.panel,.faq-item,.work-side-card,.hub-card){
  color:var(--sfix-text)!important;
}
body.splus-system :is(.card,.soft,.quick-card,.gallery-card,.price-card,.info-card,.panel,.faq-item,.work-side-card,.hub-card) :is(h2,h3,h4,p,li,span,strong){color:inherit}
body.splus-system main :is(.card,.soft,.quick-card,.gallery-card,.price-card,.info-card,.panel,.faq-item,.work-side-card,.hub-card) a:not(.btn){color:var(--sfix-gold-strong)!important}
body.splus-system :is(.section-kicker,.section-label){color:var(--sfix-gold-strong)!important}

/* No accidental section overlap caused by negative offsets. */
body.splus-system :is(.splus-price-note,.odn-price-note,.price-box){position:relative!important;z-index:1!important;transform:none!important;margin-top:18px!important;margin-bottom:24px!important}
body.splus-system main>section,body.splus-system main>.section{clear:both!important}

/* Reasonable mobile typography and spacing. */
@media(max-width:640px){
  body.splus-system main{width:100%!important}
  body.splus-system main>:is(section,.section),body.splus-system .breadcrumbs{
    width:calc(100% - 24px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;
  }
  body.splus-system :is(.eyebrow,.section-kicker,.section-label,.service-label,.upit-badge){font-size:12px!important;line-height:1.35!important;letter-spacing:.04em!important}
  body.splus-system :is(.card,.soft,.quick-card,.gallery-card,.price-card,.info-card,.panel,.faq-item){min-width:0!important}
}
/* END S+ STABILIZATION FIX */


/* ODNOSENJE: stable one-column home hero and readable pricing labels. */
body.site-odn.is-home .hero{grid-template-columns:minmax(0,1fr)!important;height:auto!important;min-height:0!important;overflow:visible!important}
body.site-odn.is-home .hero-copy{width:100%!important;max-width:900px!important}
body.site-odn.is-home :is(.hero-panel,.hero-media,.hero-logo):empty{display:none!important}
body.site-odn .odn-price-note,body.site-odn .odn-price-note *{color:var(--sfix-text)!important}
body.site-odn .odn-price-note :is(strong,a){color:var(--sfix-gold-strong)!important}
@media(max-width:640px){
 body.site-odn.is-home .hero{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important;padding:26px 20px!important}
 body.site-odn:not(.is-home) :is(.area-hero,.hero,.compact-hero){padding:24px 20px!important}
}
/* Final sticky/menu sizing correction */
body.splus-system .menu-toggle{position:relative!important;z-index:10060!important}
body.splus-system :is(.sticky-contact,.sticky-bar)>*{grid-column:auto!important;grid-row:auto!important;width:auto!important;max-width:none!important}
/* Final inner-hero text correction: legacy white !important rules must not survive on light heroes. */
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(h1,h2,h3,h4,p,li,span,strong){
  color:var(--sfix-text)!important;text-shadow:none!important;
}
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(.eyebrow,.kicker,.section-label,.section-kicker,.upit-badge,.service-label){
  color:var(--sfix-gold-strong)!important;background:#fff!important;border-color:#CFA34E!important;
}
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) .btn-dark,
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) .btn-dark *{color:#fff!important}
/* Some legacy blocks used -webkit-text-fill-color; reset it together with color. */
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(h1,h2,h3,h4,p,li,span,strong){
  -webkit-text-fill-color:var(--sfix-text)!important;
}
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(.eyebrow,.kicker,.section-label,.section-kicker,.upit-badge,.service-label){
  -webkit-text-fill-color:var(--sfix-gold-strong)!important;
}
html body.splus-system main :is(.card,.soft,.quick-card,.gallery-card,.price-card,.info-card,.panel,.faq-item,.work-side-card,.hub-card) :is(h1,h2,h3,h4,p,li,span,strong){
  -webkit-text-fill-color:currentColor!important;
}
/* Final spacing and button legibility corrections. */
html body.splus-system{padding-bottom:0!important}
html body.splus-system.splus-sticky-visible:not(.splus-footer-visible):not(.splus-form-zone):not(.splus-form-focus){padding-bottom:84px!important}
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) :is(.btn-secondary,.btn-outline,.btn-service){
  color:var(--sfix-text)!important;-webkit-text-fill-color:var(--sfix-text)!important;background:#fff!important;border-color:#9A9F98!important;
}
html body.splus-system:not(.is-home) main :is(.service-hero,.work-hero,.area-hero,.upit-hero,.procena-hero,main>.hero) .btn-primary{
  color:#11150F!important;-webkit-text-fill-color:#11150F!important;
}
@media(max-width:640px){
 html body.splus-system.splus-sticky-visible:not(.splus-footer-visible):not(.splus-form-zone):not(.splus-form-focus){padding-bottom:76px!important}
 body.site-brze.is-home .hero-wrap,body.site-odn.is-home .hero-wrap,body.site-plus.is-home .hero-wrap{width:calc(100% - 24px)!important;margin-left:auto!important;margin-right:auto!important}
 body.site-brze.is-home .hero,body.site-odn.is-home .hero,body.site-plus.is-home .hero{width:100%!important;margin-left:0!important;margin-right:0!important}
}
/* Contact bar is one compact row on phones and desktops. */
html body.splus-system :is(.sticky-contact,.sticky-bar)>a.call{grid-column:auto!important;grid-row:auto!important}
/* Footer network cards: readable on the dark footer on every domain. */
html body.splus-system :is(footer,.footer) .splus-footer-network{color:#F4F1EA!important}
html body.splus-system :is(footer,.footer) .splus-footer-network .small{color:#C6CEC8!important;-webkit-text-fill-color:#C6CEC8!important}
html body.splus-system :is(footer,.footer) .splus-footer-network-links a{
  color:#F4E2BD!important;-webkit-text-fill-color:#F4E2BD!important;
  background:rgba(255,255,255,.045)!important;border-color:rgba(244,226,189,.18)!important;
}
html body.splus-system :is(footer,.footer) .splus-footer-network-links a strong{
  color:#F4E2BD!important;-webkit-text-fill-color:#F4E2BD!important;
}
html body.splus-system :is(footer,.footer) .splus-footer-network-links a[aria-current="page"] strong{
  color:#E0A938!important;-webkit-text-fill-color:#E0A938!important;
}
html body.splus-system :is(footer,.footer) .splus-footer-network-links .splus-role{
  color:#C6CEC8!important;-webkit-text-fill-color:#C6CEC8!important;
}
/* Final readable labels and secondary buttons on light surfaces. */
html body.splus-system :is(.section-kicker,.section-label){
  color:var(--sfix-gold-strong)!important;-webkit-text-fill-color:var(--sfix-gold-strong)!important;text-shadow:none!important;
}
html body.splus-system :is(.btn-secondary,.btn-outline){
  color:var(--sfix-text)!important;-webkit-text-fill-color:var(--sfix-text)!important;
  background:#fff!important;border-color:#9A9F98!important;text-shadow:none!important;
}
/* The first hero is deliberately dark; preserve its light label/button treatment. */
html body.splus-system.is-home :is(.hero,.hero-wrap) :is(.eyebrow,.service-label){
  color:#F0D29F!important;-webkit-text-fill-color:#F0D29F!important;
}
html body.splus-system.is-home .hero :is(.btn-secondary,.btn-outline){
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.34)!important;
}
/* Reset legacy pale text-fill values inside genuinely light containers. */
html body.splus-system main :is(
  .move-banner-inner,.cta-band,.quick-link,.quick-card,.trust-strip>div,.service-summary>div,
  .card,.soft,.price-card,.info-card,.panel,.faq-item,details,.quote-form,.form-shell,.upit-card,
  .review-card,.hub-card,.gallery-card figcaption,.related-links a,.price-box>*,.work-side-card
) :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label,summary){
  color:var(--sfix-text)!important;-webkit-text-fill-color:var(--sfix-text)!important;text-shadow:none!important;
}
html body.splus-system main :is(
  .move-banner-inner,.cta-band,.quick-link,.quick-card,.trust-strip>div,.service-summary>div,
  .card,.soft,.price-card,.info-card,.panel,.faq-item,details,.quote-form,.form-shell,.upit-card,
  .review-card,.hub-card,.gallery-card figcaption,.related-links a,.price-box>*,.work-side-card
) :is(p,li,span,small){color:var(--sfix-muted)!important;-webkit-text-fill-color:var(--sfix-muted)!important}
html body.splus-system main :is(
  .move-banner-inner,.cta-band,.quick-link,.quick-card,.trust-strip>div,.service-summary>div,
  .card,.soft,.price-card,.info-card,.panel,.faq-item,details,.quote-form,.form-shell,.upit-card,
  .review-card,.hub-card,.gallery-card figcaption,.related-links a,.price-box>*,.work-side-card
) a:not(.btn){color:var(--sfix-gold-strong)!important;-webkit-text-fill-color:var(--sfix-gold-strong)!important}
/* Odnošenje: darken plain gold text links on light backgrounds. */
html body.site-odn.splus-system main a:not(.btn):not([class]){
  color:var(--sfix-gold-strong)!important;-webkit-text-fill-color:var(--sfix-gold-strong)!important;
}
html body.site-odn.is-home .splus-featured-works .section-inner>h2{
  color:var(--sfix-text)!important;-webkit-text-fill-color:var(--sfix-text)!important;text-shadow:none!important;
}
html body.site-odn.is-home .splus-featured-works :is(.work-card,.featured-work-card) :is(h2,h3,h4,p,span,strong){
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.4)!important;
}
