/* MSM Seafood responsive improvements */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img,
iframe,
svg {
  max-width: 100%;
}

.elementor-widget-image img,
.site img {
  height: auto;
}

.e-con,
.e-con-inner,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.ast-container {
  min-width: 0;
}

@media (max-width: 921px) {
  body .e-con-boxed > .e-con-inner,
  body .elementor-container,
  body .ast-container,
  body .site-primary-footer-wrap .ast-builder-grid-row-container-inner,
  body .site-below-footer-wrap .ast-builder-grid-row-container-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body .elementor-widget-spacer .elementor-spacer-inner {
    height: 32px !important;
  }

  body .site-footer .ast-builder-grid-row,
  body .site-below-footer-wrap .ast-builder-grid-row {
    row-gap: 18px;
  }

  body .site-footer-section,
  body .footer-widget-area,
  body .ast-footer-social-wrap {
    width: 100%;
    text-align: center;
  }

  body .ast-footer-social-wrap .footer-social-inner-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
  }

  body .ast-footer-social-wrap .ast-builder-social-element {
    width: 42px;
    height: 42px;
    min-width: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.28);
  }

  body .ast-footer-social-wrap .ast-builder-social-element svg {
    width: 18px;
    height: 18px;
  }

  body .elementor-widget-button .elementor-button,
  body .widget_text button,
  body .wpforms-submit {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
}

@media (max-width: 767px) {
  body h1,
  body .entry-content h1 {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: 1.1 !important;
  }

  body h2,
  body .entry-content h2 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
  }

  body h3,
  body .entry-content h3 {
    font-size: clamp(1.25rem, 5.3vw, 1.6rem) !important;
    line-height: 1.2 !important;
  }

  body p,
  body li,
  body .elementor-widget-text-editor {
    font-size: 15px;
    line-height: 1.7;
  }

  body .elementor-widget-wrap > .elementor-element,
  body .e-con-inner,
  body .elementor-container {
    gap: 14px !important;
  }

  body .main-header-menu .menu-link,
  body .ast-builder-menu-mobile .menu-item a {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

/* Home page improvements */
body.home .elementor-widget-button .elementor-button,
body.home a.elementor-button.elementor-button-link {
  background: #f59a18 !important;
  background-color: #f59a18 !important;
  background-image: none !important;
  border: 2px solid #f59a18 !important;
  color: #ffffff !important;
  opacity: 1 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

body.home a.elementor-button.elementor-button-link .elementor-button-text {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.home .elementor-element-145d5a6 a.elementor-button.elementor-button-link {
  background: #0f3b5f !important;
  background-color: #0f3b5f !important;
  border-color: #0f3b5f !important;
}

@media (max-width: 767px) {
  body.home .elementor-widget-button .elementor-button {
    width: auto;
    min-width: 180px;
  }

  body.home .elementor-image-carousel img,
  body.home .swiper-slide img {
    object-fit: cover;
  }
}

/* Our Products page */
body.elementor-page-1166 .elementor-widget-image .elementor-widget-container {
  display: flex;
  justify-content: center;
}

body.elementor-page-1166 .elementor-widget-image img {
  max-width: 100%;
  height: auto !important;
}

@media (max-width: 767px) {
  body.elementor-page-1166 .elementor-element-76a33b1 > .e-con-inner,
  body.elementor-page-1166 .elementor-element-80afb32,
  body.elementor-page-1166 .elementor-element-e087cfc {
    gap: 22px !important;
  }

  body.elementor-page-1166 .elementor-widget-heading {
    text-align: center;
  }

  body.elementor-page-1166 .elementor-widget-image img {
    width: auto !important;
    max-height: 220px;
    object-fit: contain;
  }
}

/* Contact page */
body.elementor-page-1157 .wpforms-form {
  max-width: 100%;
}

body.elementor-page-1157 .wpforms-field {
  margin-bottom: 14px !important;
}

body.elementor-page-1157 .wpforms-form input,
body.elementor-page-1157 .wpforms-form textarea,
body.elementor-page-1157 .wpforms-form select {
  width: 100% !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
}

body.elementor-page-1157 .wpforms-form textarea {
  min-height: 140px;
}

body.elementor-page-1157 .elementor-element-139c60f .elementor-heading-title,
body.elementor-page-1157 .elementor-element-8d63685 .elementor-heading-title,
body.elementor-page-1157 .elementor-element-8d63685 .elementor-icon-list-text,
body.elementor-page-1157 .elementor-element-8d63685 .elementor-icon-list-icon {
  color: #f2f6fa !important;
}

body.elementor-page-1157 .elementor-element-139c60f .elementor-heading-title {
  word-break: normal;
  overflow-wrap: normal;
}

body.elementor-page-1157 .elementor-social-icons-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

body.elementor-page-1157 .elementor-social-icon {
  width: 44px;
  height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  body.elementor-page-1157 .elementor-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.elementor-page-1157 .elementor-column {
    width: 100% !important;
  }

  body.elementor-page-1157 .elementor-column-gap-no > .elementor-column > .elementor-element-populated {
    padding: 0 !important;
  }

  body.elementor-page-1157 .wpforms-form {
    padding-left: 4px;
    padding-right: 4px;
  }

  body.elementor-page-1157 .elementor-social-icons-wrapper {
    justify-content: center;
  }

  body.elementor-page-1157 .elementor-element-139c60f .elementor-heading-title {
    font-size: 1.15rem !important;
    line-height: 1.35 !important;
  }

  body.elementor-page-1157 .elementor-widget-google_maps iframe {
    min-height: 320px;
  }
}
