/* CMS additions — keep the original Goodnex visual system intact. */
.detail-box { min-height: 170px; }
.detail-entry p { min-height: 42px; }
.clients-items { display: flex; flex-wrap: wrap; align-items: center; }
.clients-items li { float: none; }
.portfolio-items img { width: 100%; height: auto; }
#portfolio-items.isotope,
#portfolio-items.portfolio-items { height: auto !important; overflow: visible !important; }
#portfolio-items table { position: static !important; visibility: visible !important; opacity: 1 !important; }
.ost-line-button {
  display: inline-block; margin-top: 12px; padding: 9px 15px; border-radius: 3px;
  background: #06c755; color: #fff !important; font-weight: 700; text-decoration: none !important;
}
.ost-line-button:hover { background: #05ad49; color: #fff !important; }

.ost-social-links {
  display: flex;
  align-items: center;
  gap: 3px;
}
.ost-social-links li {
  float: none;
  width: 32px;
  height: 32px;
  margin: 0;
}
.ost-social-links li a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  color: #fff !important;
  background: #ccc !important;
  background-image: none !important;
  text-indent: 0 !important;
  transition: background-color .2s ease;
}
.ost-social-links li a:hover { background: #333 !important; }
.ost-social-links svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
  stroke: none;
}
.ost-social-links .ost-instagram svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.ost-social-links .ost-instagram .ost-social-dot { fill: currentColor; stroke: none; }
.ost-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Keep the footer focused on the company introduction. */
#footer .container > .four.columns { display: none; }
#footer .container > .four.columns:first-child {
  display: block;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.ost-contact-honeypot { position: absolute !important; left: -9999px !important; }
.ost-contact-notice { margin: 0 0 18px; padding: 11px 14px; border-radius: 3px; }
.ost-contact-notice.success { background: #e9f8ee; color: #287a42; }
.ost-contact-notice.error { background: #fff0f0; color: #a13a3a; }

/* Keep every Contact field aligned; the legacy theme alternated label positions. */
#contact-site-form > div { width: 100%; }
#contact-site-form .form-item {
  position: relative;
  clear: both;
  margin: 0 0 15px;
}
#contact-site-form .form-item > label {
  display: block;
  margin: 0 0 6px;
  padding: 0;
  color: #727272;
  font-weight: 600;
  line-height: 1.4;
}
#contact-site-form .form-item-message > label { display: block !important; }
#contact-site-form input.form-text,
#contact-site-form .form-textarea-wrapper,
#contact-site-form textarea.form-textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#contact-site-form input.form-text {
  float: none !important;
  height: 42px;
  padding: 8px 12px 8px 36px;
  color: #5f5f5f;
  font-style: normal;
}
#contact-site-form textarea.form-textarea {
  min-height: 160px;
  padding: 12px 12px 12px 36px;
  color: #5f5f5f;
  font-style: normal;
  resize: vertical;
}
#contact-site-form .form-item::before {
  z-index: 1;
  top: 36px;
  left: 12px;
}
#contact-site-form .form-actions { margin-top: 0; }
#contact-site-form .form-actions .form-submit {
  width: 100%;
  min-height: 42px;
}

@media only screen and (max-width: 767px) {
  body.front #content { margin-bottom: 0; padding-top: 22px; padding-bottom: 22px; }
  #block-block-4 .slogan { margin-bottom: 22px; line-height: 1.5; }
  #block-views-detail-boxes-block .four.columns { margin-bottom: 10px; }
  #block-views-detail-boxes-block .detail-box {
    min-height: 0;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  #block-views-detail-boxes-block .detail-entry { padding-top: 14px; padding-bottom: 14px; }
  #block-views-detail-boxes-block .detail-icon { margin-top: 12px; margin-bottom: 14px; }
  #block-views-detail-boxes-block .detail-entry h5 { margin-bottom: 10px; }
  #block-views-detail-boxes-block .detail-entry p { min-height: 0; }
  body.front #block-views-detail-boxes-block .detail-entry p { margin-bottom: 0; }
  body.front .divider-solid { margin-top: 18px; margin-bottom: 18px; }
  .content-title { margin-bottom: 18px; }
  .portfolio-items table,
  .portfolio-items tbody,
  .portfolio-items tr { display: block; width: 100%; }
  .portfolio-items tr { margin: 0; }
  .portfolio-items td,
  .portfolio-items td[class*="col-"] { display: block; width: 100% !important; padding: 0 0 22px !important; }
  .portfolio-items .views-field-title { padding-top: 8px; }
  .clients-items { gap: 8px 0; padding-top: 8px; padding-bottom: 8px; }
  .clients-items li { width: 50%; margin: 0; text-align: center; }
  #google_map iframe { height: 240px; margin-top: 18px !important; }
  #contact-site-form .form-item { margin-bottom: 14px; }
  .ost-line-button { width: 100%; text-align: center; box-sizing: border-box; }
  body.front #footer { margin-top: 18px; padding-top: 28px; padding-bottom: 28px; }
}
