/* OTEC Aluminium Systems Layout Fix 1.2.8 */

body.otec-aluminium-systems-hub .site-content > .ast-container {
  display: block;
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

body.otec-aluminium-systems-hub .site-content > .ast-container > .elementor {
  width: min(100%, 1200px);
  margin-inline: auto;
}

body.otec-aluminium-systems-hub .entry-content {
  margin: 0;
}

body.otec-aluminium-systems-hub .elementor-element-d8d4fc3,
body.otec-aluminium-systems-hub .elementor-element-a93dc51 {
  display: none !important;
}

body.otec-aluminium-systems-hub .otec-systems-directory {
  box-sizing: border-box;
  padding: clamp(44px, 5vw, 72px) 24px;
  background: #f3f8f7;
}

body.otec-aluminium-systems-hub .otec-systems-directory__inner {
  width: min(100%, 1200px);
  margin-inline: auto;
}

body.otec-aluminium-systems-hub .otec-systems-directory h2 {
  max-width: 18ch;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #153f3b;
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.12;
  letter-spacing: -.02em;
}

body.otec-aluminium-systems-hub .otec-systems-directory ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.otec-aluminium-systems-hub .otec-systems-directory a {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-sizing: border-box;
  padding: 16px 18px;
  border: 1px solid #d9e5e2;
  border-radius: 6px;
  color: #173f3b;
  background: #fff;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

body.otec-aluminium-systems-hub .otec-systems-directory a:hover,
body.otec-aluminium-systems-hub .otec-systems-directory a:focus-visible {
  border-color: #2b8e86;
  color: #0d6f68;
  background: #edf6f4;
  outline: none;
  transform: translateY(-1px);
}

body.otec-aluminium-systems-hub .otec-systems-directory a:focus-visible {
  box-shadow: 0 0 0 3px rgba(35,140,132,.22);
}

body.otec-aluminium-system-page {
  overflow-x: clip;
}

/* Premium Media Wheel keeps off-canvas clones for its next/previous motion.
   Clip only this system-page document root so those clones cannot create a real horizontal scroll range. */
html:has(body.otec-aluminium-system-page) {
  overflow-x: clip;
}

body.otec-aluminium-system-page .site-main .elementor,
body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child,
body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child > .e-con-inner {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child {
  --min-height: clamp(380px, 38vw, 440px) !important;
  min-height: clamp(380px, 38vw, 440px) !important;
  --padding-top: clamp(40px, 3vw, 40px) !important;
  --padding-bottom: clamp(24px, 2vw, 24px) !important;
  --padding-left: clamp(20px, 3vw, 40px) !important;
  --padding-right: clamp(20px, 3vw, 40px) !important;
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child > .e-con-inner > .e-con {
  padding: 0 !important;
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child > .e-con-inner,
body.otec-aluminium-system-page .site-main .elementor > .e-con:not(.e-con-full) > .e-con-inner {
  width: min(100%, 1200px);
  max-width: 1200px;
  margin-inline: auto;
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child h1,
body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child h1.elementor-heading-title {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  font-size: clamp(42px, 4vw, 52px) !important;
  line-height: 1.08 !important;
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child .elementor-widget-text-editor,
body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child .elementor-widget-text-editor .elementor-widget-container {
  max-width: min(100%, 900px);
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child .elementor-widget-text-editor p {
  line-height: 1.5 !important;
}

body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child .elementor-widget-text-editor,
body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child .elementor-widget-text-editor .elementor-widget-container {
  line-height: 1.5 !important;
}

body.otec-aluminium-system-page .site-main .elementor h2,
body.otec-aluminium-system-page .site-main .elementor h2.elementor-heading-title {
  font-size: clamp(30px, 3.2vw, 42px) !important;
  line-height: 1.18 !important;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-text-editor,
body.otec-aluminium-system-page .site-main .elementor .elementor-widget-text-editor .elementor-widget-container {
  max-width: 72ch;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-text-editor p {
  line-height: 1.68;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-image img:not(.custom-logo):not(.site-logo-img) {
  width: auto;
  max-width: min(100%, 520px);
  height: auto;
  object-fit: contain;
  border-radius: 6px;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-image {
  max-width: 540px;
}

body.otec-aluminium-system-page .site-main .elementor .e-con.e-parent {
  --padding-top: clamp(38px, 4.5vw, 64px);
  --padding-bottom: clamp(38px, 4.5vw, 64px);
}

body.otec-aluminium-system-page .site-main .elementor .e-con.e-parent:empty,
body.otec-aluminium-system-page .site-main .elementor .e-con.e-parent:not(:has(.elementor-widget)) {
  min-height: 0 !important;
  --min-height: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-spacer .elementor-spacer-inner {
  height: clamp(20px, 2.5vw, 36px) !important;
}

body.otec-aluminium-system-page .site-main .elementor .e-con.e-parent:has(> .e-con-inner > .elementor-widget-spacer:only-child) {
  min-height: 0 !important;
  --min-height: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
}

body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 > .e-con.e-parent {
  min-height: 0 !important;
  --min-height: 0 !important;
  --padding-top: clamp(56px, 5vw, 72px) !important;
  --padding-bottom: clamp(56px, 5vw, 72px) !important;
}

body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 > .e-con.e-parent > .e-con-inner {
  width: min(100% - 40px, 1100px);
  max-width: 1100px;
  min-height: 0 !important;
  padding-block: 0 !important;
  margin-inline: auto;
}

body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 h2,
body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 h2.elementor-heading-title {
  max-width: 22ch;
  margin-inline: auto;
  font-size: clamp(34px, 3.4vw, 44px) !important;
  line-height: 1.16 !important;
}

body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 .elementor-widget-text-editor,
body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 .elementor-widget-text-editor .elementor-widget-container {
  max-width: 72ch;
  margin-inline: auto;
}

body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 .elementor-button,
body.otec-aluminium-system-page .site-main .elementor .elementor-widget-button .elementor-button {
  min-height: 0;
  padding: 13px 24px;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-accordion,
body.otec-aluminium-system-page .site-main .elementor .elementor-widget-eael-adv-tabs {
  margin-block: 16px 24px;
}

body.otec-aluminium-system-page .site-main .elementor img,
body.otec-aluminium-system-page .site-main .elementor iframe,
body.otec-aluminium-system-page .site-main .elementor video,
body.otec-aluminium-system-page .site-main .elementor svg {
  box-sizing: border-box;
  max-width: 100%;
}

body.otec-aluminium-system-page .site-main .elementor img {
  height: auto;
}

body.otec-aluminium-system-page .site-main .elementor .elementor-widget-heading,
body.otec-aluminium-system-page .site-main .elementor .elementor-widget-text-editor,
body.otec-aluminium-system-page .site-main .elementor .elementor-widget-container {
  min-width: 0;
  overflow-wrap: break-word;
}

@media (max-width: 1024px) {
  body.otec-aluminium-systems-hub .otec-systems-directory ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child {
    --padding-left: clamp(20px, 4vw, 32px) !important;
    --padding-right: clamp(20px, 4vw, 32px) !important;
  }

  body.otec-aluminium-system-page .site-main .elementor .e-con.e-parent {
    --padding-top: 36px;
    --padding-bottom: 36px;
  }

  body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 > .e-con.e-parent {
    --min-height: clamp(380px, 108vw, 440px) !important;
    min-height: clamp(380px, 108vw, 440px) !important;
    --padding-top: 48px !important;
    --padding-bottom: 48px !important;
  }
}

@media (max-width: 767px) {
  body.otec-aluminium-systems-hub .otec-systems-directory {
    padding: 38px 20px 46px;
  }

  body.otec-aluminium-systems-hub .otec-systems-directory ul {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.otec-aluminium-systems-hub .otec-systems-directory a {
    min-height: 62px;
  }

  body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child {
  --padding-top: 36px !important;
  --padding-bottom: 28px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child > .e-con-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    /* Outer Hero spacing already supplies the vertical rhythm.  Do not add a
       second 88px of inner spacing on small screens. */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child h1,
  body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child h1.elementor-heading-title {
    font-size: clamp(30px, 8.6vw, 36px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.015em;
  }

  body.otec-aluminium-system-page .site-main .elementor h2,
  body.otec-aluminium-system-page .site-main .elementor h2.elementor-heading-title {
    font-size: clamp(27px, 7.4vw, 34px) !important;
    line-height: 1.2 !important;
  }

  body.otec-aluminium-system-page .site-main .elementor .elementor-widget-image,
  body.otec-aluminium-system-page .site-main .elementor .elementor-widget-image img:not(.custom-logo):not(.site-logo-img) {
    max-width: 100%;
  }

  body.otec-aluminium-system-page .site-main .elementor .e-con.e-parent {
    --padding-top: 28px;
    --padding-bottom: 28px;
  }

  body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 > .e-con.e-parent {
    --padding-top: 42px !important;
    --padding-bottom: 42px !important;
  }

  body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 h2,
  body.otec-aluminium-system-page .hfe-before-footer-wrap .elementor-256 h2.elementor-heading-title {
    font-size: clamp(30px, 8vw, 36px) !important;
  }
}

@media (max-width: 430px) {
  body.otec-aluminium-system-page .site-main .elementor > .e-con:first-child {
    --padding-left: 16px !important;
    --padding-right: 16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.otec-aluminium-systems-hub .otec-systems-directory a {
    transition: none;
  }
}
