/* Emergency Google Ads + lead-generation layer for zeljezo.hr
   Safe deployment: preserves current URLs and existing Bootstrap/site CSS. */

:root {
  --z-orange: #ff9900;
  --z-orange-dark: #d97700;
  --z-dark: #272727;
  --z-mid: #5d5d5d;
  --z-light: #f7f7f7;
  --z-border: #dddddd;
}

html {
  scroll-behavior: smooth;
}

body {
  margin-top: 132px !important;
  color: #333333;
  background: #ffffff;
}

body a {
  transition: color .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.quick-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1060;
  min-height: 36px;
  background: #202020;
  color: #ffffff;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  font-size: 14px;
}

.quick-topbar__inner {
  max-width: 1170px;
  margin: 0 auto;
  padding: 7px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.quick-topbar strong {
  color: #ffffff;
}

.quick-topbar a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
}

.quick-topbar a:hover,
.quick-topbar a:focus {
  color: var(--z-orange);
  text-decoration: none;
}

.quick-topbar__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
}

.quick-topbar__button {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--z-orange);
  color: #222222 !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.quick-topbar__button:hover,
.quick-topbar__button:focus {
  background: #ffffff;
  color: #222222 !important;
}

.navbar-fixed-top.container {
  top: 36px;
}

.navbar-default {
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.navbar-default .navbar-nav>li>a.nav-quote-link {
  background: var(--z-orange);
  color: #202020 !important;
  font-weight: 700;
  border-radius: 3px;
  margin-top: 3px;
  padding-top: 11px;
  padding-bottom: 11px;
}

.navbar-default .navbar-nav>li>a.nav-quote-link:hover,
.navbar-default .navbar-nav>li>a.nav-quote-link:focus {
  background: #ffffff;
  color: #202020 !important;
}

.glavni-banner:after,
.img2:after,
.img3:after,
.img4:after,
.img5:after,
.img6:after,
.img7:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.56), rgba(0,0,0,.16));
}

.glavni-banner .h2,
.img2 .h2,
.img3 .h2,
.img4 .h2,
.img5 .h2,
.img6 .h2,
.img7 .h2 {
  z-index: 1;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
}

.z-conversion-panel,
.z-lead-strip,
.z-final-cta {
  background: #ffffff;
  border: 1px solid var(--z-border);
  border-top: 5px solid var(--z-orange);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  padding: 24px;
  margin: 24px 0;
}

.z-conversion-panel h1,
.z-conversion-panel h2,
.z-lead-strip h2,
.z-final-cta h2,
.z-card h2,
.z-card h3,
.z-landing-hero h1,
.z-section h2 {
  color: #333333 !important;
}

.z-conversion-panel h1,
.z-conversion-panel h2 {
  margin-top: 0;
  font-weight: 800;
}

.z-conversion-panel p,
.z-lead-strip p,
.z-final-cta p {
  font-size: 17px;
  line-height: 1.55;
}

.z-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.z-actions .btn {
  white-space: normal;
  font-weight: 700;
  border-radius: 4px;
}

.z-actions .btn-default {
  border-color: #444444;
  color: #333333;
}

.z-trust-points {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 18px 0 0;
}

.z-trust-point {
  background: var(--z-light);
  border-left: 4px solid var(--z-orange);
  padding: 12px;
  min-height: 78px;
}

.z-trust-point strong {
  display: block;
  color: #222222;
}

.z-lead-box {
  background: #f5f5f5;
  border: 1px solid var(--z-border);
  padding: 18px;
  margin: 16px 0;
}

.z-lead-box h3 {
  margin-top: 0;
  color: #333333 !important;
}

.z-lead-box ul {
  margin-bottom: 0;
  padding-left: 20px;
}

.z-contact-card {
  background: #2b2b2b;
  color: #ffffff;
  padding: 22px;
  border-top: 5px solid var(--z-orange);
  margin-bottom: 20px;
}

.z-contact-card h2,
.z-contact-card h3 {
  color: #ffffff !important;
  margin-top: 0;
}

.z-contact-card a {
  color: #ffffff;
  font-weight: 700;
}

.z-contact-card .btn-warning {
  color: #222222;
}

.z-landing-hero {
  position: relative;
  background: linear-gradient(135deg, rgba(32,32,32,.94), rgba(32,32,32,.68)), url('../img/glavni-banner/bimetalna-tracna-pila-za-rezanje-metala.jpg') center/cover no-repeat;
  color: #ffffff;
  padding: 54px 28px;
  border-bottom: 8px solid var(--z-orange);
}

.z-landing-hero h1 {
  color: #ffffff !important;
  font-size: 42px;
  line-height: 1.08;
  margin-top: 0;
  font-weight: 900;
}

.z-landing-hero .lead {
  font-size: 20px;
  max-width: 760px;
}

.z-landing-hero .z-actions .btn-default {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}

.z-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 18px 0 0;
}

.z-hero-badges span {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(255,255,255,.08);
}

.z-section {
  padding: 35px 0;
}

.z-card-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.z-card {
  background: #ffffff;
  border: 1px solid var(--z-border);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  padding: 20px;
  height: 100%;
}

.z-card img {
  max-height: 160px;
  object-fit: cover;
  margin-bottom: 15px;
}

.z-card h2,
.z-card h3 {
  margin-top: 0;
  font-weight: 800;
}

.z-card ul {
  padding-left: 20px;
}

.z-form-panel {
  background: #f3f3f3;
  border: 1px solid #d7d7d7;
  border-top: 6px solid var(--z-orange);
  padding: 22px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.z-form-panel h2,
.z-form-panel h3 {
  margin-top: 0;
  color: #333333 !important;
  font-weight: 800;
}

.z-form-panel label {
  font-weight: 700;
}

.z-form-panel .form-control {
  border-radius: 3px;
  min-height: 42px;
}

.z-form-panel textarea.form-control {
  min-height: 120px;
}

.z-required-note {
  color: #666666;
  font-size: 13px;
}

.z-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.z-thank-you {
  background: #ffffff;
  border: 1px solid var(--z-border);
  border-top: 8px solid var(--z-orange);
  padding: 36px;
  margin: 30px 0;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.mobile-sticky-cta {
  display: none;
}

@media (max-width: 991px) {
  .quick-topbar__inner {
    font-size: 13px;
  }
  .quick-topbar__label {
    display: none;
  }
  .z-trust-points {
    grid-template-columns: repeat(2, 1fr);
  }
  .z-card-grid {
    grid-template-columns: 1fr;
  }
  .z-landing-hero h1 {
    font-size: 34px;
  }
}

@media (max-width: 767px) {
  body {
    margin-top: 60px !important;
    padding-bottom: 72px;
  }
  .quick-topbar {
    display: none;
  }
  .navbar-fixed-top.container {
    top: 0;
  }
  .navbar-default {
    padding-top: 0;
  }
  .navbar-default .navbar-nav>li>a.nav-quote-link {
    margin: 5px 0;
    border-radius: 0;
  }
  .z-conversion-panel,
  .z-lead-strip,
  .z-final-cta,
  .z-form-panel,
  .z-thank-you {
    margin-left: 10px;
    margin-right: 10px;
    padding: 18px;
  }
  .z-trust-points {
    grid-template-columns: 1fr;
  }
  .z-actions {
    display: block;
  }
  .z-actions .btn {
    display: block;
    width: 100%;
    margin-bottom: 9px;
  }
  .z-landing-hero {
    margin: 0 10px;
    padding: 36px 18px;
  }
  .z-landing-hero h1 {
    font-size: 28px;
  }
  .z-landing-hero .lead {
    font-size: 17px;
  }
  .mobile-sticky-cta {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1070;
    box-shadow: 0 -4px 18px rgba(0,0,0,.25);
  }
  .mobile-sticky-cta a {
    flex: 1 1 50%;
    display: block;
    padding: 14px 8px;
    text-align: center;
    background: var(--z-orange);
    color: #222222;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none;
    border-right: 1px solid rgba(0,0,0,.18);
  }
  .mobile-sticky-cta a:first-child {
    background: #222222;
    color: #ffffff;
  }
}

/* V1.1 mobile usability patch - conservative overrides only. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.z-conversion-panel,
.z-conversion-panel *,
.z-lead-strip,
.z-lead-strip *,
.z-final-cta,
.z-final-cta *,
.z-form-panel,
.z-form-panel *,
.z-landing-hero,
.z-landing-hero *,
.z-card,
.z-card *,
.z-contact-card,
.z-contact-card *,
.mobile-sticky-cta,
.mobile-sticky-cta * {
  box-sizing: border-box;
}

.z-lead-form input,
.z-lead-form select,
.z-lead-form textarea,
.z-form-panel .form-control {
  font-size: 16px;
}

.z-lead-form .form-control:focus,
.z-form-panel .form-control:focus {
  border-color: var(--z-orange);
  box-shadow: 0 0 0 3px rgba(255, 153, 0, .18);
}

.z-card img,
.z-conversion-panel img,
.z-lead-strip img,
.z-final-cta img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  body {
    margin-top: 58px !important;
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    -webkit-text-size-adjust: 100%;
  }

  .navbar-fixed-top.container {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .navbar-fixed-top.container > .row,
  .navbar-fixed-top.container .navbar-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .navbar-default {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    margin-bottom: 0;
    min-height: 58px;
  }

  .navbar-inner {
    padding-left: 0;
    padding-right: 0;
  }

  .navbar-header {
    min-height: 58px;
  }

  .navbar-brand {
    line-height: 1.15 !important;
    max-width: calc(100% - 74px);
    min-height: 58px;
    padding: 18px 12px 12px 16px !important;
    text-align: left !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .navbar-toggle {
    min-width: 44px;
    min-height: 44px;
    margin-top: 7px;
    margin-right: 12px;
    margin-bottom: 7px;
    padding: 10px;
    border-color: rgba(255,255,255,.45) !important;
  }

  .navbar-toggle .icon-bar {
    width: 22px;
    height: 3px;
  }

  .navbar-collapse {
    max-height: calc(100vh - 58px - 70px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 12px 20px rgba(0,0,0,.22);
  }

  .navbar-default .navbar-nav {
    margin-top: 0;
    margin-bottom: 0;
  }

  .navbar-default .navbar-nav>li>a {
    min-height: 48px;
    padding: 15px 18px !important;
    line-height: 1.25;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 15px;
    letter-spacing: .01em;
  }

  .navbar-default .navbar-nav>li>a.nav-quote-link {
    margin: 8px 12px;
    border-radius: 4px;
    text-align: center;
    border-bottom: 0;
  }

  .navbar-default .navbar-nav .open .dropdown-menu {
    padding-top: 0;
    padding-bottom: 0;
    background: rgba(0,0,0,.14);
  }

  .navbar-default .navbar-nav .open .dropdown-menu>li>a {
    white-space: normal;
    min-height: 46px;
    padding: 13px 28px !important;
    line-height: 1.35;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .container .row [class*="col-"] {
    min-width: 0;
  }

  .z-conversion-panel,
  .z-lead-strip,
  .z-final-cta,
  .z-form-panel,
  .z-thank-you,
  .z-contact-card,
  .z-lead-box,
  .z-card {
    margin-left: 8px;
    margin-right: 8px;
    padding: 16px;
  }

  .z-conversion-panel h1,
  .z-conversion-panel h2,
  .z-lead-strip h2,
  .z-final-cta h2,
  .z-form-panel h2,
  .z-contact-card h2,
  .z-landing-hero h1 {
    font-size: 22px;
    line-height: 1.2;
  }

  .z-conversion-panel p,
  .z-lead-strip p,
  .z-final-cta p,
  .z-contact-card p,
  .z-lead-box li,
  .z-card p,
  .z-card li {
    font-size: 16px;
    line-height: 1.55;
  }

  .z-section {
    padding: 22px 0;
  }

  .z-landing-hero {
    margin: 0 8px 10px;
    padding: 28px 16px;
    border-bottom-width: 5px;
  }

  .z-landing-hero .lead {
    font-size: 16px;
    line-height: 1.55;
  }

  .z-hero-badges span {
    width: 100%;
    border-radius: 4px;
  }

  .z-form-panel .form-group {
    margin-bottom: 16px;
  }

  .z-form-panel label {
    margin-bottom: 6px;
  }

  .z-form-panel .form-control {
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 4px;
  }

  .z-form-panel select.form-control {
    height: 48px;
  }

  .z-form-panel textarea.form-control {
    min-height: 150px;
  }

  .z-form-panel button[type="submit"] {
    display: block;
    width: 100%;
    min-height: 50px;
    white-space: normal;
  }

  .z-actions .btn,
  .z-card .btn,
  .z-contact-card .btn {
    min-height: 46px;
    padding: 12px 14px;
    font-size: 15px;
    line-height: 1.3;
  }

  .z-card img {
    max-height: none;
    width: 100%;
  }

  .mobile-sticky-cta {
    min-height: calc(58px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: #222222;
  }

  .mobile-sticky-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 10px 8px;
    font-size: 15px;
    line-height: 1.15;
    -webkit-tap-highlight-color: rgba(255,255,255,.2);
  }
}

@media (max-width: 360px) {
  .navbar-brand {
    font-size: 1.55em !important;
  }

  .z-conversion-panel h1,
  .z-conversion-panel h2,
  .z-lead-strip h2,
  .z-final-cta h2,
  .z-form-panel h2,
  .z-contact-card h2,
  .z-landing-hero h1 {
    font-size: 22px;
  }

  .mobile-sticky-cta a {
    font-size: 14px;
  }
}

/* V1.2c homepage banner overlay/trust-point layout patch
   Keeps the V1.2b banner message, dark overlay and existing image. Trust points are
   moved from the right column into the button row so the banner has one clear content flow. */
.glavni-banner {
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}

.glavni-banner:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.68) 52%, rgba(0,0,0,.34) 100%);
  pointer-events: none;
}

.glavni-banner .z-conversion-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1080px;
  margin: 0;
  padding: 32px 52px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.glavni-banner .z-conversion-panel h1 {
  color: #ffffff !important;
  font-size: 39px;
  line-height: 1.12;
  letter-spacing: .01em;
  margin: 0 0 14px;
  max-width: 820px;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
}

.glavni-banner .z-conversion-panel p {
  color: #d8d8d8;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.55;
  margin-bottom: 0;
  text-shadow: 0 1px 4px rgba(0,0,0,.55);
}

.glavni-banner .z-banner-bottom {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-top: 22px;
}

.glavni-banner .z-actions {
  margin-top: 0;
  flex: 0 0 auto;
}

.glavni-banner .z-banner-trust {
  display: flex;
  grid-template-columns: none;
  align-items: stretch;
  gap: 10px;
  flex: 1 1 310px;
  margin: 0;
}

.glavni-banner .z-actions .btn-warning {
  background: var(--z-orange);
  border-color: var(--z-orange);
  color: #202020;
}

.glavni-banner .z-actions .btn-warning:hover,
.glavni-banner .z-actions .btn-warning:focus {
  background: #ffffff;
  border-color: #ffffff;
  color: #202020;
}

.glavni-banner .z-actions .btn-default {
  background: transparent;
  border-color: #d8d8d8;
  color: #ffffff;
}

.glavni-banner .z-actions .btn-default:hover,
.glavni-banner .z-actions .btn-default:focus {
  background: #ffffff;
  border-color: #ffffff;
  color: #202020;
}

.glavni-banner .z-trust-point {
  background: transparent;
  border-left: 4px solid var(--z-orange);
  color: #d8d8d8;
  min-height: 0;
  flex: 1 1 170px;
  max-width: 240px;
  padding: 7px 0 7px 12px;
  margin: 0;
  font-size: 13px;
  line-height: 1.28;
  text-shadow: 0 1px 4px rgba(0,0,0,.55);
}

.glavni-banner .z-trust-point strong {
  color: #ffffff;
}

@media (max-width: 991px) {
  .glavni-banner .z-conversion-panel {
    padding: 34px 28px;
  }

  .glavni-banner .z-conversion-panel h1 {
    font-size: 32px;
  }

  .glavni-banner .z-conversion-panel p {
    font-size: 16px;
  }

  .glavni-banner .z-banner-trust {
    flex-basis: 100%;
    max-width: 820px;
  }
}

@media (max-width: 767px) {
  .glavni-banner {
    display: block !important;
    height: auto !important;
    margin: 0 8px 12px;
    background-image: none !important;
    border-bottom: 0;
  }

  .glavni-banner:after {
    display: none;
  }

  .glavni-banner .z-conversion-panel {
    margin: 0;
    padding: 18px;
    background: #ffffff;
    border: 1px solid var(--z-border);
    border-top: 5px solid var(--z-orange);
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
  }

  .glavni-banner .z-conversion-panel h1 {
    color: #333333 !important;
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 12px;
    text-transform: none;
    text-shadow: none;
  }

  .glavni-banner .z-conversion-panel p {
    color: #333333;
    font-size: 16px;
    line-height: 1.55;
    text-shadow: none;
  }

  .glavni-banner .z-banner-bottom {
    display: block;
    margin-top: 16px;
  }

  .glavni-banner .z-actions {
    margin-top: 0;
  }

  .glavni-banner .z-banner-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 10px 0 0;
  }

  .glavni-banner .z-actions .btn-default {
    background: #ffffff;
    border-color: #444444;
    color: #333333;
  }

  .glavni-banner .z-trust-point {
    background: var(--z-light);
    border-left-color: var(--z-orange);
    color: #333333;
    margin: 0;
    max-width: none;
    padding: 12px;
    text-shadow: none;
  }

  .glavni-banner .z-trust-point strong {
    color: #222222;
  }
}


/* V1.2d banner/menu fit patch
   Removes banner trust points from the homepage flow, centers CTA buttons, and keeps the desktop nav from wrapping over the banner on narrower desktop/tablet widths. */
.glavni-banner .z-banner-bottom {
  display: block;
  margin-top: 24px;
}

.glavni-banner .z-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 12px;
  width: 100%;
  margin: 0 auto;
}

.glavni-banner .z-actions .btn {
  margin: 0;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .navbar-brand {
    display: none !important;
  }

  .navbar-default {
    font-size: 1em;
  }

  .navbar-inner {
    padding-left: 8px;
    padding-right: 8px;
  }

  .navbar-right {
    margin-right: 6px;
  }

  .navbar-default .navbar-nav>li>a {
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
  }

  .navbar-default .navbar-nav>li>a.nav-quote-link {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .navbar-default {
    font-size: .9em;
  }

  .navbar-default .navbar-nav>li>a {
    padding-left: 9px;
    padding-right: 9px;
  }

  .navbar-default .navbar-nav>li>a.nav-quote-link {
    padding-left: 12px;
    padding-right: 12px;
  }
}

@media (max-width: 767px) {
  .glavni-banner .z-actions {
    display: block;
  }

  .glavni-banner .z-actions .btn {
    display: block;
    width: 100%;
    margin-bottom: 9px;
  }
}

/* V1.2e hero wording patch
   Uses mixed-case homepage hero wording and keeps the existing centered actions. */
.glavni-banner .z-conversion-panel h1 {
  text-transform: none;
  font-size: 37px;
  line-height: 1.14;
  max-width: 940px;
}

.glavni-banner .z-conversion-panel p {
  max-width: 940px;
}

@media (max-width: 991px) {
  .glavni-banner .z-conversion-panel h1 {
    font-size: 30px;
  }
}

@media (max-width: 767px) {
  .glavni-banner .z-conversion-panel h1 {
    font-size: 22px;
    line-height: 1.22;
  }
}

/* V1.2f hero copy polish
   Adds a small readable gap when the homepage banner subheadline is split into two paragraphs. */
.glavni-banner .z-conversion-panel p + p {
  margin-top: 8px;
}

/* V1.3 homepage core range restructure
   Replaces the long legacy homepage assortment flow with a focused commercial hub for stock/fast-delivery categories. */
.core-range {
  background: #f4f4f4;
  padding: 34px 0 42px;
}

.core-range-intro {
  max-width: 920px;
  margin: 0 auto 24px;
}

.core-range-kicker {
  color: var(--z-orange);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.core-range-intro h2,
.core-range-quote h2 {
  color: #222222;
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 12px;
}

.core-range-intro p,
.core-range-quote p {
  color: #444444;
  font-size: 16px;
  line-height: 1.55;
}

.core-range-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.core-range-card {
  background: #ffffff;
  border: 1px solid #d8d8d8;
  border-radius: 0;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 22px;
  overflow: hidden;
  padding: 18px;
}


.core-range-image {
  align-self: stretch;
  background: #eeeeee;
  min-height: 185px;
}

.core-range-image img {
  display: block;
  height: 100%;
  max-height: 220px;
  object-fit: cover;
  width: 100%;
}

.core-range-content h3 {
  color: #222222;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 10px;
}

.core-range-content p {
  color: #444444;
  font-size: 15.5px;
  line-height: 1.55;
  margin-bottom: 10px;
}

.core-range-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.core-range-actions .btn {
  margin: 0;
  white-space: normal;
}

.core-range-actions--center {
  justify-content: center;
}

.core-range-quote {
  background: #ffffff;
  border: 1px solid #d8d8d8;
  border-left: 6px solid var(--z-orange);
  margin: 24px 0 18px;
  padding: 24px;
}


/* V1.3b: keep the core range as one full-width row per product group on desktop. */
@media (min-width: 992px) {
  .core-range-grid {
    grid-template-columns: 1fr;
  }

  .core-range-card {
    grid-column: 1 / -1;
    grid-template-columns: 320px 1fr;
  }
}

@media (max-width: 991px) {
  .core-range-card {
    grid-template-columns: 220px 1fr;
    gap: 16px;
  }
}

@media (max-width: 767px) {
  .core-range {
    padding: 22px 0 72px;
  }

  .core-range-intro {
    padding: 0 6px;
    text-align: left;
  }

  .core-range-intro h2,
  .core-range-quote h2 {
    font-size: 23px;
  }

  .core-range-card {
    display: block;
    padding: 14px;
  }

  .core-range-image {
    margin: -14px -14px 14px;
    min-height: 0;
  }

  .core-range-image img {
    height: auto;
    max-height: none;
  }

  .core-range-content h3 {
    font-size: 21px;
  }

  .core-range-content p,
  .core-range-intro p,
  .core-range-quote p {
    font-size: 15.5px;
  }

  .core-range-actions {
    display: block;
  }

  .core-range-actions .btn {
    display: block;
    margin-bottom: 8px;
    width: 100%;
  }

  .core-range-quote {
    margin-left: 0;
    margin-right: 0;
    padding: 18px;
  }
}

/* V1.3c: product rows are primary homepage sections, so each range title is an H2.
   The centered intro block was removed to keep the homepage more direct and commercial. */
.core-range-content h2 {
  color: #222222;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 10px;
}

/* V1.3c footer SEO/contact cleanup. */
.z-footer {
  background: #252525;
  color: #eeeeee;
  margin-top: 0;
  padding: 30px 0 0;
  text-align: left;
}

.z-footer__grid {
  display: flex;
  flex-wrap: wrap;
}

.z-footer h2 {
  color: #ffffff;
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 12px;
}

.z-footer h3 {
  color: #ffffff;
  font-size: 18px;
  line-height: 1.3;
  margin: 0 0 12px;
}

.z-footer p {
  color: #dddddd;
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 10px;
}

.z-footer a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.z-footer a:hover,
.z-footer a:focus {
  color: var(--z-orange);
}

.z-footer__links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.z-footer__links li {
  margin: 0 0 8px;
}

.z-footer__bottom {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
  padding: 14px 0;
}

.z-footer__bottom .btn {
  color: #222222;
  text-decoration: none;
}

@media (max-width: 767px) {
  .core-range-content h2 {
    font-size: 21px;
  }

  .z-footer {
    padding-bottom: 68px;
  }

  .z-footer__brand,
  .z-footer__links {
    margin-bottom: 20px;
  }

  .z-footer__bottom {
    align-items: flex-start;
    display: block;
  }

  .z-footer__bottom .btn {
    display: block;
    margin-top: 12px;
    width: 100%;
  }
}


/* V1.3e: small requested cleanup: simpler range styling and footer signature. */

.z-footer {
  background: #222222;
  padding: 28px 0 0;
}

.z-footer__brand h2,
.z-footer__links h3 {
  color: #ffffff;
}

.z-footer__brand strong {
  color: #ffffff;
}

.z-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.14);
  display: block;
  margin-top: 18px;
  padding: 15px 0 16px;
  text-align: center;
}

.z-footer__signature {
  color: var(--z-orange) !important;
  display: inline-block;
  font-weight: 700;
  text-decoration: none !important;
}

.z-footer__signature:hover,
.z-footer__signature:focus {
  color: #ffffff !important;
  text-decoration: underline !important;
}

/* V1.3f: tighten homepage spacing and improve sitewide footer location/signature. */
.core-range {
  padding-top: 18px;
  padding-bottom: 20px;
}

.core-range-grid {
  gap: 16px;
}

.core-range-quote {
  margin: 18px 0 0;
  padding: 20px 22px;
}

.z-footer__address {
  font-weight: 700;
}

.z-footer__map {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  margin-top: 12px;
  max-width: 320px;
  overflow: hidden;
}

.z-footer__map iframe {
  border: 0;
  display: block;
  height: 118px;
  width: 100%;
}

.z-footer__signature {
  font-size: 24px;
  letter-spacing: .02em;
  line-height: 1.2;
  padding: 2px 0;
}

@media (max-width: 767px) {
  .core-range {
    padding-top: 16px;
    padding-bottom: 68px;
  }

  .core-range-grid {
    gap: 14px;
  }

  .core-range-quote {
    margin-top: 16px;
    padding: 18px;
  }

  .z-footer__map {
    max-width: none;
  }

  .z-footer__signature {
    font-size: 22px;
  }
}

/* V1.3g: replace footer information column with location map and align footer headings. */
.z-footer__links h2,
.z-footer__location h2 {
  color: #ffffff;
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 12px;
}

.z-footer__location .z-footer__map {
  max-width: none;
  width: 100%;
}

.z-footer__location .z-footer__map iframe {
  height: 158px;
}

@media (max-width: 767px) {
  .z-footer__location {
    margin-bottom: 20px;
  }

  .z-footer__location .z-footer__map iframe {
    height: 180px;
  }
}

/* V1.3h: remove footer location heading so the map aligns with other footer content. */
.z-footer__location .z-footer__map {
  margin-top: 0;
}

/* V1.3j: desktop dropdown readability and mobile menu polish. */
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > .dropdown-menu {
    background: #222222;
    border: 0;
    border-top: 4px solid var(--z-orange);
    border-radius: 0 0 4px 4px;
    box-shadow: 0 14px 28px rgba(0,0,0,.28);
    min-width: 320px;
    padding: 8px 0;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu > li > a {
    border-bottom: 1px solid rgba(255,255,255,.12);
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    padding: 14px 18px;
    white-space: normal;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu > li:last-child > a {
    border-bottom: 0;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav > li > .dropdown-menu > li > a:focus {
    background: var(--z-orange);
    color: #222222 !important;
    text-decoration: none;
  }

  .navbar-default .navbar-nav > li.dropdown > a .caret {
    margin-left: 6px;
  }
}

@media (max-width: 767px) {
  .navbar-brand {
    color: #ffffff !important;
    display: block !important;
    font-size: 22px !important;
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
    max-width: none !important;
    min-height: 58px;
    overflow: visible !important;
    padding: 17px 12px 12px 16px !important;
    text-align: left !important;
    text-overflow: clip !important;
    text-transform: none !important;
    white-space: nowrap !important;
    width: auto !important;
  }

  .brand-container {
    max-width: calc(100% - 70px);
    overflow: visible;
  }

  .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }

  .navbar-default .navbar-nav {
    float: none !important;
    margin: 0 !important;
    width: 100%;
  }

  .navbar-default .navbar-nav > li {
    display: block;
    float: none !important;
    width: 100%;
  }

  .navbar-default .navbar-nav > li > a {
    background: #4f4f4f;
    box-sizing: border-box;
    color: #ffffff !important;
    display: block;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0 !important;
    line-height: 1.3;
    min-height: 52px;
    padding: 16px 20px !important;
    text-align: left;
    text-transform: none !important;
    width: 100%;
  }

  .navbar-default .navbar-nav > li > a:hover,
  .navbar-default .navbar-nav > li > a:focus {
    background: #595959;
    color: var(--z-orange) !important;
  }

  .navbar-default .navbar-nav > .open > a,
  .navbar-default .navbar-nav > .open > a:focus,
  .navbar-default .navbar-nav > .open > a:hover {
    background: var(--z-orange) !important;
    color: #222222 !important;
  }

  .navbar-default .navbar-nav .open .dropdown-menu {
    background: #303030;
    border: 0;
    box-shadow: none;
    float: none;
    margin: 0;
    padding: 0;
    position: static;
    width: 100%;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li {
    display: block;
    width: 100%;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    background: #303030;
    box-sizing: border-box;
    color: #ffffff !important;
    display: block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0 !important;
    line-height: 1.35;
    min-height: 50px;
    padding: 15px 24px 15px 34px !important;
    text-transform: none !important;
    white-space: normal;
    width: 100%;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    background: #3a3a3a;
    color: var(--z-orange) !important;
  }
}

/* V1.3k: light readable dropdowns so menu does not visually blend into the dark hero image. */
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > .dropdown-menu {
    background: #f5f5f5;
    border: 1px solid rgba(0,0,0,.12);
    border-top: 4px solid var(--z-orange);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 18px 36px rgba(0,0,0,.34);
    min-width: 340px;
    padding: 6px 0;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu > li > a {
    background: #f5f5f5;
    border-bottom: 1px solid rgba(0,0,0,.09);
    color: #222222 !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    padding: 15px 20px;
    white-space: normal;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu > li:last-child > a {
    border-bottom: 0;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav > li > .dropdown-menu > li > a:focus {
    background: var(--z-orange);
    color: #1f1f1f !important;
    text-decoration: none;
  }
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav > li > a {
    background: #f3f3f3;
    border-bottom: 1px solid rgba(0,0,0,.1);
    color: #222222 !important;
  }

  .navbar-default .navbar-nav > li > a:hover,
  .navbar-default .navbar-nav > li > a:focus {
    background: #ffffff;
    color: #111111 !important;
  }

  .navbar-default .navbar-nav > .open > a,
  .navbar-default .navbar-nav > .open > a:focus,
  .navbar-default .navbar-nav > .open > a:hover {
    background: var(--z-orange) !important;
    color: #222222 !important;
  }

  .navbar-default .navbar-nav .open .dropdown-menu,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    background: #ffffff;
    color: #222222 !important;
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    border-bottom: 1px solid rgba(0,0,0,.08);
  }

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    background: #f3f3f3;
    color: #111111 !important;
  }
}

/* V1.4: focused product page SEO/content styles, sidebar refresh, and expanded tool dropdown. */
.z-breadcrumb {
  color: #6a6a6a;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}

.z-breadcrumb a {
  color: var(--z-orange-dark);
  text-decoration: underline;
}

.z-product-hero-panel .z-lead-box h2 {
  color: #222222;
  font-size: 21px;
  margin: 0 0 12px;
}

.z-product-page {
  margin-top: 18px;
}

.z-product-content {
  color: #333333;
  font-size: 17px;
  line-height: 1.65;
}

.z-product-section {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.08);
  border-left: 6px solid var(--z-orange);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  margin-bottom: 22px;
  padding: 24px 26px;
}

.z-product-section h2 {
  color: #222222;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
  margin: 0 0 14px;
}

.z-product-section h3 {
  color: #333333;
  font-size: 21px;
  font-weight: 800;
  margin: 20px 0 8px;
}

.z-product-section p:last-child {
  margin-bottom: 0;
}

.z-product-image {
  margin: 20px 0 0;
}

.z-product-image img {
  border: 1px solid rgba(0,0,0,.1);
  height: auto;
  max-width: 100%;
  width: 100%;
}

.z-check-list,
.z-step-list {
  margin: 14px 0 0;
  padding-left: 22px;
}

.z-check-list li,
.z-step-list li {
  margin-bottom: 8px;
}

.z-inline-actions,
.z-related-links,
.z-product-quote-strip .z-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.z-related-links a {
  background: #f4f4f4;
  border: 1px solid rgba(0,0,0,.12);
  color: #222222;
  display: inline-block;
  font-weight: 800;
  padding: 10px 14px;
  text-decoration: none;
}

.z-related-links a:hover,
.z-related-links a:focus {
  background: var(--z-orange);
  color: #222222;
  text-decoration: none;
}

.z-product-quote-strip {
  background: #222222;
  border-left: 6px solid var(--z-orange);
  color: #ffffff;
  margin-bottom: 28px;
  padding: 26px;
}

.z-product-quote-strip h2 {
  color: #ffffff;
  font-size: 30px;
  font-weight: 800;
  margin: 0 0 10px;
}

.z-product-quote-strip p {
  color: #eeeeee;
  font-size: 18px;
}

#izbornik,
#izbornik.affix {
  position: static !important;
  top: auto !important;
  width: auto !important;
  z-index: auto !important;
}

.z-side-menu,
#izbornik.list-group {
  border: 0;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  margin-top: 0;
}

#izbornik .list-group-item {
  border-color: rgba(0,0,0,.08);
  color: #222222;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.28;
  padding: 12px 14px;
}

#izbornik .list-group-item.orange,
#izbornik .z-side-menu__title {
  background: #222222;
  border-color: #222222;
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .01em;
  padding: 14px;
}

#izbornik a.list-group-item:hover,
#izbornik a.list-group-item:focus {
  background: var(--z-orange);
  border-color: var(--z-orange);
  color: #222222;
  text-decoration: none;
}

@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > .dropdown-menu.z-tools-menu {
    max-height: 78vh;
    min-width: 390px;
    overflow-y: auto;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu .dropdown-header {
    background: #222222;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .04em;
    padding: 11px 20px;
    text-transform: uppercase;
  }

  .navbar-default .navbar-nav > li > .dropdown-menu .divider {
    margin: 0;
  }
}

@media (max-width: 991px) {
  #izbornik {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu .dropdown-header {
    background: #222222;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .04em;
    padding: 12px 24px;
    text-transform: uppercase;
  }

  .navbar-default .navbar-nav .open .dropdown-menu .divider {
    margin: 0;
  }

  .z-product-content {
    font-size: 16px;
  }

  .z-product-page {
    margin-top: 10px;
  }

  .z-product-section,
  .z-product-quote-strip {
    border-left-width: 4px;
    margin-bottom: 16px;
    padding: 18px 16px;
  }

  .z-product-section h2,
  .z-product-quote-strip h2 {
    font-size: 24px;
  }

  .z-inline-actions .btn,
  .z-product-quote-strip .z-actions .btn {
    width: 100%;
  }
}

.z-lead-box__title {
  color: #222222;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 12px;
}

/* V1.4b: internal product-page cleanup for bandsaw page. */
.z-product-page--no-banner {
  margin-top: 22px;
}

.z-product-page--no-banner .z-product-hero-panel {
  margin-top: 0;
  margin-bottom: 22px;
}

.z-product-page--no-banner .z-product-hero-panel h1 {
  font-size: 34px;
  line-height: 1.15;
}

.z-product-aside {
  padding-top: 0;
}

.z-sidebar-lead {
  border-top: 5px solid var(--z-orange);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  margin-top: 0;
  margin-bottom: 18px;
}

.z-sidebar-lead ul {
  font-size: 14px;
  line-height: 1.45;
}

.z-product-page--no-banner .z-product-section:first-of-type {
  margin-top: 0;
}

@media (max-width: 991px) {
  .z-product-aside {
    display: none !important;
  }

  .z-product-page--no-banner {
    margin-top: 14px;
  }
}

@media (max-width: 767px) {
  .z-product-page--no-banner .z-product-hero-panel h1 {
    font-size: 27px;
  }
}

/* V1.4c: align desktop product content flush with the main container edge. */
@media (min-width: 992px) {
  .z-product-page--no-banner {
    margin-left: 0;
    margin-right: 0;
  }

  .z-product-page--no-banner .z-product-content {
    padding-left: 0;
  }

  .z-product-page--no-banner .z-product-aside {
    padding-right: 0;
  }
}


/* V1.5: shared product-page table/readability helpers for bandsaw child pages. */
.z-spec-table-wrap {
  margin: 18px 0;
  overflow-x: auto;
}

.z-spec-table {
  background: #ffffff;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.45;
  min-width: 620px;
  width: 100%;
}

.z-spec-table th,
.z-spec-table td {
  border: 1px solid #e2e2e2;
  padding: 11px 13px;
  vertical-align: top;
}

.z-spec-table th {
  background: #222222;
  color: #ffffff;
  font-weight: 800;
}

.z-spec-table th:first-child,
.z-spec-table td:first-child {
  width: 16%;
  min-width: 145px;
  white-space: nowrap;
}

.z-spec-table th:nth-child(2),
.z-spec-table td:nth-child(2) {
  width: 50%;
}

.z-spec-table th:nth-child(3),
.z-spec-table td:nth-child(3) {
  width: 34%;
}

.z-spec-table td:first-child {
  font-weight: 800;
}

.z-note {
  color: #555555;
  font-size: 15px;
  margin-top: 10px;
}

#izbornik a.list-group-item.active,
#izbornik a.list-group-item.active:hover,
#izbornik a.list-group-item.active:focus {
  background: var(--z-orange);
  border-color: var(--z-orange);
  color: #222222;
}

.z-product-section .z-step-list {
  margin-top: 10px;
}


/* V1.6e: desktop helper sidebar sticky fallback.
   JavaScript calculates actual fixed-header offset and natural sidebar width. */
@media (min-width: 992px) {
  .z-product-page--no-banner {
    display: flex;
    align-items: stretch;
    position: relative;
  }

  .z-product-page--no-banner .z-product-content,
  .z-product-page--no-banner .z-product-aside {
    float: none;
  }

  .z-product-page--no-banner .z-product-content {
    flex: 0 0 75%;
    max-width: 75%;
  }

  .z-product-page--no-banner .z-product-aside {
    flex: 0 0 25%;
    max-width: 25%;
    align-self: stretch;
    position: relative;
  }

  .z-product-aside-inner {
    box-sizing: border-box;
    position: -webkit-sticky;
    position: sticky;
    top: 124px;
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    padding-bottom: 2px;
  }

  .z-product-aside-inner.z-sidebar-fixed {
    position: fixed;
    z-index: 20;
  }

  .z-product-aside-inner.z-sidebar-bottom {
    position: absolute;
    z-index: 20;
  }
}



/* V1.7b: grouped tools dropdown and detailed krunske pile page cluster. */
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > .dropdown-menu.z-tools-menu {
    max-height: 82vh;
    min-width: 720px;
    overflow-y: auto;
    padding: 14px;
  }

  .z-tools-menu__grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 1fr;
    list-style: none;
  }

  .z-tools-menu__col {
    min-width: 0;
  }

  .z-tools-menu__parent,
  .z-tools-menu__child {
    display: block;
    text-decoration: none;
  }

  .z-tools-menu__parent {
    background: #222222;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.25;
    margin: 0 0 6px;
    padding: 12px 14px;
  }

  .z-tools-menu__child {
    border-bottom: 1px solid rgba(0,0,0,.08);
    color: #222222 !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    padding: 9px 12px 9px 20px;
    position: relative;
  }

  .z-tools-menu__child:before {
    color: var(--z-orange);
    content: "›";
    font-weight: 900;
    left: 7px;
    position: absolute;
  }

  .z-tools-menu__parent:hover,
  .z-tools-menu__parent:focus,
  .z-tools-menu__child:hover,
  .z-tools-menu__child:focus {
    background: var(--z-orange);
    color: #222222 !important;
    text-decoration: none;
  }
}

@media (max-width: 767px) {
  .z-tools-menu__grid {
    list-style: none;
  }

  .z-tools-menu__parent,
  .z-tools-menu__child {
    display: block !important;
    padding: 12px 24px !important;
    text-decoration: none;
    width: 100%;
  }

  .z-tools-menu__parent {
    background: #222222;
    color: #ffffff !important;
    font-weight: 900;
  }

  .z-tools-menu__child {
    background: #f7f7f7;
    color: #222222 !important;
    font-weight: 800;
    padding-left: 34px !important;
  }
}

.z-holesaw-page .z-product-figure figcaption {
  color: #555555;
  font-size: 14px;
  font-weight: 700;
  margin-top: 8px;
}

.z-video-embed {
  background: #111111;
  margin: 18px 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.z-video-embed iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.z-image-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 16px;
}

.z-image-grid .z-product-image {
  margin: 0;
}

@media (max-width: 767px) {
  .z-image-grid {
    grid-template-columns: 1fr;
  }
}



/* V1.7d: krunske pile detailed cleanup. */
.z-product-figure--hero {
  margin: 18px 0 0;
}

.z-product-figure--hero img {
  display: block;
  height: auto;
  width: 100%;
}

.z-product-figure--compact {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  padding: 14px;
  text-align: center;
}

.z-product-figure--compact img {
  display: inline-block;
  height: auto;
  max-height: 360px;
  max-width: 420px;
  object-fit: contain;
  width: auto;
}

.z-cooling-grid {
  align-items: center;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) 260px;
}

.z-alfra-figure img {
  max-height: 260px;
}

.z-video-fallback {
  font-size: 14px;
  font-weight: 800;
  margin-top: -6px;
}

.z-video-fallback a {
  color: var(--z-orange);
}

@media (max-width: 767px) {
  .z-cooling-grid {
    grid-template-columns: 1fr;
  }

  .z-product-figure--compact img {
    max-width: 100%;
  }
}


/* V1.7e: krunske pile image/video/cooling refinements. */
.z-image-grid--two {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.z-product-figure--original,
.z-product-figure--narrow,
.z-product-figure--full {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  padding: 14px;
  text-align: center;
}

.z-product-figure--original img,
.z-product-figure--narrow img {
  display: inline-block;
  height: auto;
  max-width: 100%;
  width: auto;
}

.z-product-figure--narrow img {
  max-height: 460px;
}

.z-product-figure--full img {
  display: block;
  height: auto;
  width: 100%;
}

.z-video-direct {
  background: #f7f7f7;
  border-left: 5px solid var(--z-orange);
  font-size: 16px;
  font-weight: 800;
  margin: 16px 0;
  padding: 13px 16px;
}

.z-video-direct a {
  color: #222222;
  text-decoration: underline;
}

.z-cooling-teaser .z-actions {
  margin-top: 12px;
}

@media (max-width: 767px) {
  .z-image-grid--two {
    grid-template-columns: 1fr;
  }
}


/* V1.8a: IMET machine cluster. */
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > .dropdown-menu.z-machines-menu {
    min-width: 640px;
  }
}

.z-imet-page .z-product-section h2 {
  letter-spacing: -0.01em;
}

.z-imet-table-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  margin-top: 16px;
}

.z-imet-spec-table {
  background: #ffffff;
  font-size: 15px;
  line-height: 1.35;
  margin-bottom: 0;
}

.z-imet-spec-table th {
  background: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
  font-weight: 800;
  text-align: center;
}

.z-imet-spec-table td:first-child {
  font-weight: 800;
}

.z-imet-showroom-table td:nth-child(2) {
  font-weight: 800;
}

@media (max-width: 767px) {
  .z-imet-table-grid {
    grid-template-columns: 1fr;
  }
}


/* V1.8b: richer IMET range cards and official model imagery. */
.z-imet-model-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}

.z-imet-model-card {
  background: #ffffff;
  border: 1px solid #e6e6e6;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
  padding: 16px;
}

.z-imet-model-card img {
  background: #fafafa;
  display: block;
  height: 220px;
  margin-bottom: 14px;
  object-fit: contain;
  width: 100%;
}

.z-imet-model-card h3 {
  color: #222222;
  font-size: 21px;
  font-weight: 800;
  margin: 0 0 8px;
}

.z-imet-model-card p {
  margin-bottom: 10px;
}

.z-imet-model-card a {
  color: var(--z-orange);
  font-weight: 800;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .z-imet-model-grid {
    grid-template-columns: 1fr;
  }
  .z-imet-model-card img {
    height: auto;
    max-height: 260px;
  }
}


/* V1.8c: IMET range expansion - denser model cards and image handling. */
.z-imet-model-card .z-note {
  margin-bottom: 0;
}
.z-imet-page .z-image-grid img {
  background: #ffffff;
  object-fit: contain;
}
@media (min-width: 992px) {
  .z-machines-menu .z-tools-menu__grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr);
  }
}


/* V1.8d: IMET menu and sidebar refinements. */
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li > .dropdown-menu.z-machines-menu {
    min-width: 880px;
    max-width: calc(100vw - 48px);
  }
  .z-machines-menu .z-tools-menu__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px;
  }
  .z-machines-menu .z-tools-menu__parent {
    font-size: 16px;
    min-height: 54px;
    display: flex;
    align-items: center;
  }
}
.z-side-menu__section {
  background: #2b2b2b !important;
  border-color: #2b2b2b !important;
  border-top: 4px solid var(--z-orange) !important;
  color: #ffffff !important;
  cursor: default;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.z-side-menu .list-group-item.active + .z-side-menu__section,
.z-side-menu__section + .list-group-item {
  margin-top: 0;
}
.z-imet-page .z-product-section--dense p {
  margin-bottom: 10px;
}
.z-imet-page .z-spec-note {
  color: #666666;
  font-size: 14px;
}


/* V1.8g: remove duplicate hero helper boxes and keep circular IMET pages aligned with product-page layout. */
.z-product-hero-panel--plain {
  margin-top: 24px;
}
.z-related-links--compact {
  margin-bottom: 16px;
}
.z-related-links--compact a {
  font-size: 14px;
  padding: 8px 10px;
}
.z-imet-page .z-product-section h3 + .z-related-links {
  margin-top: 8px;
}


/* V18h: richer IMET product content blocks for GBS 218 GH. */
.z-image-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.z-feature-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
}

.z-feature-card {
  background: #fbfbfb;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
  padding: 14px;
}

.z-feature-card img {
  border: 1px solid rgba(0,0,0,.08);
  display: block;
  height: auto;
  margin-bottom: 14px;
  width: 100%;
}

.z-feature-card h3 {
  margin-top: 0;
}

.z-feature-card p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .z-image-grid--two,
  .z-feature-grid {
    grid-template-columns: 1fr;
  }
}


/* V18j: centered single primary product image for selected IMET pages. */
.z-product-figure--centered {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  margin-left: auto;
  margin-right: auto;
  max-width: 820px;
  padding: 14px;
  text-align: center;
}

.z-product-figure--centered img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-height: 780px;
  object-fit: contain;
  width: auto;
}

.z-product-figure--large {
  margin-top: 22px;
}

@media (max-width: 767px) {
  .z-product-figure--centered img {
    max-height: none;
    width: 100%;
  }
}


/* V18k3: contact and inquiry page cleanup. */
.z-contact-hero-panel,
.z-inquiry-hero-panel {
  margin-top: 24px;
}

.z-contact-card--plain a {
  color: #ffffff;
}

.z-company-data {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.10);
  border-top: 6px solid var(--z-orange);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  padding: 22px;
}

.z-company-data h2 {
  color: #222222 !important;
  font-weight: 800;
  margin-top: 0;
}

.z-company-data dl {
  margin: 0;
}

.z-company-data dt {
  color: #333333;
  font-weight: 800;
  margin-top: 11px;
}

.z-company-data dt:first-of-type {
  margin-top: 0;
}

.z-company-data dd {
  border-bottom: 1px solid rgba(0,0,0,.08);
  margin: 0;
  padding: 3px 0 9px;
}

.z-company-data dd:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.z-company-data--compact {
  margin-bottom: 20px;
}

.z-contact-map {
  border-top: 8px solid var(--z-orange);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  margin-top: 18px;
}

.z-contact-map iframe {
  border: 2px solid var(--z-orange);
  display: block;
  height: 360px;
  width: 100%;
}

.z-privacy-note {
  background: #f7f7f7;
  border-left: 4px solid var(--z-orange);
  color: #444444;
  font-size: 14px;
  line-height: 1.5;
  margin: 14px 0;
  padding: 10px 12px;
}

.z-inquiry-help .z-card h3 {
  margin-top: 0;
}

@media (max-width: 767px) {
  .z-contact-map iframe {
    height: 300px;
  }
}


/* V18K5: consistent inquiry/contact form layout. */
.z-unified-form {
  margin-top: 14px;
}

.z-form-status {
  margin: 10px 0 14px;
  min-height: 1px;
}

.z-form-status .text-danger {
  background: #fff1f1;
  border-left: 4px solid #c0392b;
  display: block;
  font-weight: 700;
  padding: 10px 12px;
}

.z-form-required-summary,
.z-contact-method-note {
  background: #f8f8f8;
  border: 1px solid #dddddd;
  border-left: 4px solid var(--z-orange);
  color: #333333;
  margin: 10px 0 16px;
  padding: 10px 12px;
}

.z-required-marker {
  color: #b00020;
  font-weight: 900;
}

.z-unified-form label {
  color: #222222;
  font-weight: 800;
}

.z-unified-form .form-control {
  border-radius: 3px;
  min-height: 44px;
  width: 100%;
}

.z-unified-form textarea.form-control {
  min-height: 155px;
  resize: vertical;
}

.z-form-row {
  display: flex;
  flex-wrap: wrap;
}

.z-form-row > [class*="col-"] {
  display: flex;
  flex-direction: column;
}

.z-form-row .form-group {
  width: 100%;
}

.z-security-question {
  background: #f8f8f8;
  border: 1px solid #dddddd;
  margin-top: 16px;
  padding: 14px;
}

.z-security-question .help-block {
  color: #555555;
  margin: 3px 0 10px;
}

.z-security-answer-row {
  align-items: center;
  display: flex;
  gap: 10px;
  max-width: 320px;
}

.z-security-equation {
  color: #222222;
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
}

.z-form-submit {
  margin-top: 8px;
}

@media (max-width: 767px) {
  .z-form-row {
    display: block;
  }
  .z-security-answer-row {
    align-items: stretch;
    flex-direction: column;
    max-width: none;
  }
}


/* V18k7 local SMTP forms. */
.z-local-lead-form .z-honey-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* V18k8 hardened form security: keep bot-only fields inaccessible to normal visitors. */
.z-local-lead-form .z-honey-field {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
