/* functional + spacing — load AFTER styles.min.css */

/* prevent Times/serif fallback */
html, body {
  font-family: 'Roboto', Arial, Helvetica, sans-serif;
}

/* Safe Areas & Layout (Web Interface Guidelines) */
html {
  overflow-x: hidden;
}
body {
  overflow-x: hidden;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}

/* Unified page gutters */
.container-fluid {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: max(20px, env(safe-area-inset-left, 0px), clamp(20px, 4vw, 32px)) !important;
  padding-right: max(20px, env(safe-area-inset-right, 0px), clamp(20px, 4vw, 32px)) !important;
}
.first-block > .container-fluid,
.footer > .container-fluid,
.top-menu > .container-fluid {
  padding-left: max(20px, env(safe-area-inset-left, 0px), clamp(20px, 4vw, 32px)) !important;
  padding-right: max(20px, env(safe-area-inset-right, 0px), clamp(20px, 4vw, 32px)) !important;
}

/* Second pages: content column breathing room */
.page_second .first-block {
  padding-bottom: 0;
}
.page_second h1 {
  overflow-wrap: break-word;
  text-wrap: balance;
}
.B_crumbBox {
  margin: 0 0 20px !important;
  padding: 0 0 12px !important;
}

/* Orange H2/H3 chips: keep brand bar, readable side padding, no -9999 overflow */
.iscontent h2:before,
.iscontent h3:before {
  content: none !important;
}
.iscontent h2,
.iscontent h3 {
  box-sizing: border-box !important;
  max-width: 100% !important;
  padding: 10px 16px !important;
  overflow-wrap: break-word;
}
.iscontent p,
.iscontent li,
.iscontent h2,
.iscontent h3,
.iscontent h4 {
  overflow-wrap: break-word;
}

/* Prices block */
.prices-block > .container {
  box-sizing: border-box;
  width: min(1040px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 4vw, 32px);
  padding-right: clamp(16px, 4vw, 32px);
}

/* Header: keep items from colliding on narrow screens */
@media (max-width: 767px) {
  .header.flex {
    align-items: center;
    gap: 8px;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
  .page_second h1 {
    margin-top: 8px;
  }
  .header .phone2 .tel {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }
  .header .menu-button {
    margin-top: 0 !important;
    padding: 8px;
    margin-right: -8px;
  }
  .footer .flex {
    gap: 24px;
  }
}

/* Hide calculator leftovers */
.calc-block { display: none !important; }
.top-menu a[href*="kalkulyator"],
.top-menu li:has(> a[href*="kalkulyator"]) { display: none !important; }

/* Icon fallbacks if FontAwesome font fails */
.menu-button i.fa-bars,
.menu-button .fa-bars {
  font-family: sans-serif !important;
  font-style: normal;
  font-weight: 700;
  speak: never;
}
.menu-button i.fa-bars::before,
.menu-button .fa-bars::before {
  content: "☰" !important;
  font-family: sans-serif !important;
}
.B_crumbBox .fa-home::before,
.fa.fa-home::before {
  content: "⌂" !important;
  font-family: sans-serif !important;
}

/* Focus-visible for menu/controls (guidelines) */
.menu-button:focus-visible,
.top-menu a:focus-visible,
.header a:focus-visible,
.callback:focus-visible {
  outline: 2px solid #ED875E;
  outline-offset: 2px;
}
