
/* Sticky Footer Layout */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  background: #f7f9fb;
  color: #232931;
  line-height: 1.6;
}
.horizontal-line {
  width: 100%;
}
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f2f2f2;
  color: #000000cc;
  padding: 24px max(5vw, 32px) 18px max(5vw, 32px);
  position: sticky;
  top: 0;
  z-index: 1030;
}
.logo {
  height: 80px;
  width: 300px;
  background: url('logo.svg') no-repeat left center/contain;
}
nav {
  display: flex;
  gap: 1.5em;
}
nav a {
  color: #000000cc;
  text-decoration: none;
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 50px;
  transition: background .15s;
}
nav a.active,
nav a:hover {
  background: #37474f;
  color: #fff;
}
main {
  flex: 1 0 auto;
  /*max-width: 880px;*/
  margin: 38px auto 0 auto;
  padding: 0 0px 65px 0px;
  width: 100%;
  box-sizing: border-box;
}
section {
  margin-bottom: 64px;
  display: none;
  animation: fadein .3s;
}
section.active { display: block; }
@keyframes fadein { from {opacity: 0;} to {opacity: 1;} }
h1, h2 {
  color: #1b242f;
  font-weight: 700;
  margin-bottom: 18px;
}
.heading {
  text-align: center;
}
.heading h1 {
  padding: 1%;
}
.heading h2 {
  padding: 2%;
}
/* O NAS */
#onas {
  text-align: justify;
}
#onasfoto {
  background-color: #232931;
  display: flex;
  align-items: center;
}
.onas-foto-text {
  width: 100%;
}
.onas-foto-text h2 {
  color: #ffffff;
  text-align: center;
}
.onas-foto {
  height: 300px;
  min-width: 200px;
  background: url('images/foto-index.png') no-repeat right center/contain;
}
.onas-foto1 {
  height: 300px;
  min-width: 300px;
  background: url('images/foto-index1.png') no-repeat center center/contain;
}
.onas-foto2 {
  height: 300px;
  min-width: 300px;
  background: url('images/foto-index2.png') no-repeat center center/contain;
}
.onas-foto3 {
  height: 300px;
  min-width: 300px;
  background: url('images/foto-index3.png') no-repeat center center/contain;
}
/* PRODUCTS */
.product-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 18px;
  margin-bottom: 60px;
}
.product-menu button {
  background: #f2f2f2;
  border: none;
  padding: 12px 20px;
  font-size: 1rem;
  border-radius: 50px;
  border-style: none;
  cursor: pointer;
  transition: background .4s;
}
.product-menu button.active {
  background-color: #37474f;
  color: #fff
}
.product-menu button:hover {
  background: #37474f;
  color: #fff
}
.product-category {
  background: #f2f2f2;
  margin-bottom: 24px;
  padding: 14px 22px;
  border-radius: 7px;
  box-shadow: 0 1px 5px #0001;
  animation: fadein .3s;
}
.product-category.active { display: block; }
/* CAROUSEL */
.carousel {
  width: 100%;
  max-width: 520px;
  margin: 0 auto 18px auto;
  position: relative;
  border-radius: 7px;
  box-shadow: 0 1px 7px #0001;
  padding: 24px 18px 16px 18px;
  text-align: center;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #fff;
}
.carousel-image {
  width: 170px;
  height: 110px;
  margin: 0 auto 10px auto;
  background: #ccc;
  border-radius: 6px;
  object-fit: contain;
  box-shadow: 0 2px 8px #0002;
  display: contents;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #555;
}
.carousel-title {
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: 12px;
}
.carousel-controls {
  display: flex;
  gap: 12px;
  justify-content: center;
}
.carousel-controls button {
  background: #cfd8dc;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background .15s;
}
.carousel-controls button:hover {
  background: #90a4ae;
  color: #fff;
}
/* CONTACT */
.contacts-list {
  margin-bottom: 30px;
  text-align: center;
}
.contacts-list dt {
  font-weight: bold;
}
.contacts-list dd {
  margin: 0 0 10px 0;
}
.map {
  width: 100%;
  max-width: 800px;
  height: 600px;
  border: 0;
  border-radius: 6px;
  box-shadow: 0 3px 14px #0001;
  margin: auto;
  display: block;
}
/* Sticky FOOTER */
footer {
  flex-shrink: 0;
  background: #f2f2f2;
  color: #6e6e73;
  font-size: .97em;
  padding: 22px max(5vw, 32px) 30px max(5vw, 32px);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
footer a {
  color: #000000b8;
  text-decoration: underline;
}
.certification {
  min-width: 50px;
  min-height: 50px;
  border-radius: 5px;
  margin-left: 18px;
  display: flex;
  align-items: center;
  text-align: left;
  color: #eaeaea;
  font-size: 1.1em;
  font-weight: bold;
  float: left;
}
.certification_iso {
  background: url('iso-27001-logo.png') no-repeat center left/50px 50px;
}
.certification_tuv {
  background: url('tuv-iso-9001-logo.png') no-repeat center left/50px 50px;
}
@media (max-width:670px) {
header, footer {
    flex-direction: column;
    align-items: flex-start !important;
  }
  footer {
    flex-direction: column;
    gap: 12px;
  }
  .certification { margin-left: 0;}
  main { padding-bottom: 80px;}
}
/* GDPR MODAL */
.gdpr-modal-bg {
  position: fixed;
  top:0; left:0; width:100vw; height:100vh;
  background:rgba(20,32,58,0.56);
  z-index: 10010;
  display: none; align-items: center; justify-content: center; }
.gdpr-modal-bg.active { display: flex;}
.gdpr-modal {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 6px 46px #0005;
  max-width: 800px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 34px 26px;
  position: relative;
}
.gdpr-modal h2 {
  margin-top: 0;
  color: #2d3148;
}
.gdpr-close {
  position: absolute;
  top: 16px; right: 18px;
  background: #eee;
  border: none;
  border-radius: 50%;
  font-size: 1.15em;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: #223;
  font-weight: bold;
  transition: background .14s;
}
.gdpr-close:hover { background:#cfd8dc;}
/* Collapsible / accordion style product categories */
.product-collapser {
  display: flex; cursor: pointer;
  align-items: center; font-size: 1.1rem;
  color: #24314e; font-weight: bold;
  background: #e4e7eb;
  padding: 10px 12px 10px 0;
  border-radius: 4px; outline: none;
  border: none; margin-bottom: 6px; margin-top: 5px;
  transition: background .13s;
  position: relative;
}
.product-collapser:after {
  content: '▼';
  display: inline-block;
  font-size: .80em;
  color: #355c7d;
  position: absolute;
  right: 10px;
  transition: transform .22s;
}
.product-collapser.active:after { transform: rotate(-180deg);}
.product-content.active{display:block;}
/* Links */
a { color: #185187; }
a.tel, a.mail { color: #185187; text-decoration: underline;}
.product-content {
  text-align: center;
}
.product-content ul {
  display: inline-block;
  text-align: left;
}