/* Site-wide mobile polish */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

html {
  background: #202520;
}

body {
  background: #fff;
}

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

@media (max-width: 760px) {
  body {
    min-width: 0 !important;
  }

  body.lp-mobile-inner {
    padding-top: 72px !important;
  }

  body.lp-mobile-drawer-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.lp-mobile-drawer-ready .node.css1 {
    display: none !important;
  }

  .lp-mobile-drawer {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 3000 !important;
    height: 72px !important;
    padding: max(8px, env(safe-area-inset-top)) 12px 8px !important;
    display: none !important;
    align-items: center !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid rgba(20, 30, 20, .08) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .08) !important;
    backdrop-filter: blur(10px) !important;
  }

  body.lp-mobile-home .lp-mobile-drawer {
    background: linear-gradient(180deg, rgba(0, 0, 0, .42), rgba(0, 0, 0, .05)) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }

  body.lp-mobile-drawer-ready .lp-mobile-drawer {
    display: flex !important;
  }

  .lp-mobile-drawer__logo {
    flex: 0 0 auto !important;
    width: 56px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
  }

  .lp-mobile-drawer__logo img {
    width: 54px !important;
    max-height: 36px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .lp-mobile-drawer__phone {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #1bcb54 !important;
    font: 900 15px/1.05 "Open Sans", Arial, sans-serif !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .lp-mobile-drawer__socials {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
  }

  .lp-mobile-social {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: #fff !important;
    font: 900 8px/1 Arial, sans-serif !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .15) !important;
  }

  .lp-mobile-social span {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    font-size: 0 !important;
    background: #fff !important;
  }

  .lp-mobile-social--vk { background: #4e73a0 !important; }
  .lp-mobile-social--tg { background: #008bd2 !important; }
  .lp-mobile-social--ig { background: #d62976 !important; }
  .lp-mobile-social--wa { background: #20b455 !important; }
  .lp-mobile-social--max { background: #111 !important; }
  .lp-mobile-social--vk span {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.7 17.2c-5.5 0-8.7-3.8-8.8-10.1h2.8c.1 4.6 2.1 6.6 3.7 7V7.1h2.7v4c1.6-.2 3.2-2 3.8-4h2.7c-.5 2.5-2.4 4.3-3.7 5.1 1.3.6 3.4 2.2 4.2 5h-3c-.7-1.9-2.2-3.4-4-3.6v3.6h-.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12.7 17.2c-5.5 0-8.7-3.8-8.8-10.1h2.8c.1 4.6 2.1 6.6 3.7 7V7.1h2.7v4c1.6-.2 3.2-2 3.8-4h2.7c-.5 2.5-2.4 4.3-3.7 5.1 1.3.6 3.4 2.2 4.2 5h-3c-.7-1.9-2.2-3.4-4-3.6v3.6h-.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .lp-mobile-social--tg span {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.8 4.2 18.6 19c-.2 1-1 1.2-1.8.7l-4.9-3.6-2.4 2.3c-.3.3-.5.5-1 .5l.4-5 9.1-8.2c.4-.4-.1-.6-.6-.3L6.2 12.5 1.4 11c-1-.3-1-1 .2-1.5l18.8-7.2c.9-.3 1.7.2 1.4 1.9Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21.8 4.2 18.6 19c-.2 1-1 1.2-1.8.7l-4.9-3.6-2.4 2.3c-.3.3-.5.5-1 .5l.4-5 9.1-8.2c.4-.4-.1-.6-.6-.3L6.2 12.5 1.4 11c-1-.3-1-1 .2-1.5l18.8-7.2c.9-.3 1.7.2 1.4 1.9Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .lp-mobile-social--ig span {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9a5.5 5.5 0 0 1-5.5 5.5h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2Zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.2-2.7a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9a5.5 5.5 0 0 1-5.5 5.5h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2Zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.2-2.7a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .lp-mobile-social--wa span {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M19.05 4.91A9.83 9.83 0 0 0 12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38a9.9 9.9 0 0 0 4.73 1.2h.01c5.46 0 9.91-4.45 9.91-9.91a9.86 9.86 0 0 0-2.9-7ZM12.04 20.15h-.01a8.21 8.21 0 0 1-4.19-1.15l-.3-.18-3.12.82.83-3.04-.2-.31a8.23 8.23 0 1 1 6.99 3.86Zm4.52-6.16c-.25-.12-1.47-.72-1.7-.81-.23-.08-.39-.12-.56.12-.17.25-.64.81-.79.98-.14.17-.29.19-.54.06-.25-.12-1.05-.39-2-1.23-.74-.66-1.24-1.47-1.38-1.72-.14-.25-.02-.38.11-.5.11-.11.25-.29.37-.43.12-.14.17-.25.25-.42.08-.17.04-.31-.02-.43-.06-.12-.56-1.35-.77-1.85-.2-.49-.41-.42-.56-.43h-.48c-.17 0-.43.06-.66.31-.23.25-.87.85-.87 2.07s.89 2.4 1.02 2.56c.12.17 1.75 2.67 4.24 3.74.59.26 1.05.41 1.41.52.59.19 1.13.16 1.56.1.48-.07 1.47-.6 1.67-1.18.21-.58.21-1.08.15-1.18-.06-.1-.23-.16-.48-.28Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
  }
  .lp-mobile-social--max span {
    width: auto !important;
    height: auto !important;
    background: none !important;
    color: #fff !important;
    font: 900 8px/1 Arial, sans-serif !important;
  }

  .lp-mobile-drawer__toggle {
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 6px !important;
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
  }

  .lp-mobile-drawer__toggle span {
    display: block !important;
    height: 4px !important;
    width: 28px !important;
    border-radius: 999px !important;
    background: #168e37 !important;
  }

  .lp-mobile-drawer__overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 3001 !important;
    background: rgba(0, 0, 0, .42) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .22s ease !important;
  }

  .lp-mobile-drawer__panel {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 3002 !important;
    width: min(320px, 86vw) !important;
    padding: calc(18px + env(safe-area-inset-top)) 22px 28px !important;
    background: #202520 !important;
    color: #fff !important;
    transform: translateX(105%) !important;
    transition: transform .24s ease !important;
    box-shadow: -18px 0 44px rgba(0, 0, 0, .28) !important;
  }

  body.lp-mobile-drawer-open .lp-mobile-drawer__overlay {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.lp-mobile-drawer-open .lp-mobile-drawer__panel {
    transform: translateX(0) !important;
  }

  .lp-mobile-drawer__close {
    position: absolute !important;
    top: calc(8px + env(safe-area-inset-top)) !important;
    right: 14px !important;
    width: 42px !important;
    height: 42px !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font: 400 36px/1 Arial, sans-serif !important;
  }

  .lp-mobile-drawer__panel-logo {
    width: 120px !important;
    height: auto !important;
    display: block !important;
    margin: 18px auto 26px !important;
    filter: none !important;
  }

  .lp-mobile-drawer__nav {
    display: grid !important;
    gap: 6px !important;
    margin-bottom: 26px !important;
  }

  .lp-mobile-drawer__nav a,
  .lp-mobile-drawer__panel-phone {
    display: block !important;
    padding: 14px 4px !important;
    color: #fff !important;
    text-decoration: none !important;
    font: 900 22px/1.2 "Open Sans", Arial, sans-serif !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
  }

  .lp-mobile-drawer__panel-phone {
    color: #2fd15f !important;
    border-bottom: 0 !important;
    margin-bottom: 18px !important;
  }

  .lp-mobile-drawer__cta {
    width: 100% !important;
    min-height: 56px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #168e37 !important;
    color: #fff !important;
    font: 900 20px/1 "Open Sans", Arial, sans-serif !important;
  }

  @media (max-width: 390px) {
    .lp-mobile-drawer {
      gap: 6px !important;
      padding-left: 8px !important;
      padding-right: 8px !important;
    }

    .lp-mobile-drawer__logo {
      width: 44px !important;
    }

    .lp-mobile-drawer__logo img {
      width: 44px !important;
    }

    .lp-mobile-drawer__phone {
      font-size: 13px !important;
    }

    .lp-mobile-drawer__socials {
      gap: 4px !important;
    }

    .lp-mobile-social {
      width: 30px !important;
      height: 30px !important;
    }

    .lp-mobile-drawer__toggle {
      width: 34px !important;
      flex-basis: 34px !important;
    }

    .lp-mobile-drawer__toggle span {
      width: 25px !important;
    }
  }

  .section > .container,
  .section-clear > .container,
  .node.section > .container,
  .node.section-clear > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  .gridwrap,
  .grid,
  .cont {
    max-width: 100% !important;
  }

  .gridwrap > .col,
  .grid > .gridwrap > .col {
    max-width: 100% !important;
  }

  .textable {
    overflow-wrap: anywhere !important;
  }

  /* Exported site header */
  .node.css1 {
    min-height: 76px !important;
    overflow: visible !important;
    z-index: 50 !important;
  }

  .node.css1 > .container,
  .node.css1 > .container > .cont {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .node.css1 .hamburger1-header {
    min-height: 68px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .node.css1 .hamburger1-altmenu {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .node.css1 .hamburger1-altmenu .gridwrap {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }

  .node.css1 .hamburger1-altmenu .col {
    width: auto !important;
    flex: 0 0 auto !important;
  }

  .node.css1 .hamburger1-altmenu .col:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 118px !important;
    text-align: center !important;
  }

  .node.css1 img[data-lazy-image*="lespromhoz-logo"] {
    width: 48px !important;
    max-width: 48px !important;
    height: auto !important;
  }

  .node.css1 .textable.css8,
  .node.css1 [class*="textable"] strong {
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .node.css1 .soc-icon .link {
    width: 34px !important;
    height: 34px !important;
    margin: 0 2px !important;
  }

  .node.css1 .soc-icon .link.wa {
    display: none !important;
  }

  .node.css1 .hamburger1-toggle {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
  }

  /* Generated project/review detail pages */
  .product-header {
    position: relative !important;
  }

  .product-nav {
    width: 100% !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 9px 12px !important;
    overflow: visible !important;
  }

  .product-nav img {
    width: 68px !important;
  }

  .product-nav a {
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .product-nav a:first-child {
    flex: 0 0 100% !important;
    text-align: center !important;
  }

  .product-nav .phone,
  .product-nav .cta {
    margin-left: 0 !important;
    flex: 0 1 auto !important;
  }

  .product-nav .phone {
    font-size: 15px !important;
  }

  .product-nav .cta {
    padding: 10px 13px !important;
    border-radius: 8px !important;
  }

  .product-hero,
  .product-section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .product-hero {
    margin-top: 16px !important;
    gap: 12px !important;
  }

  .product-hero__media {
    height: 240px !important;
    min-height: 0 !important;
  }

  .product-hero__text {
    padding: 18px !important;
  }

  .product-hero h1 {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.02 !important;
  }

  .product-subtitle {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .product-section h2 {
    font-size: 25px !important;
  }

  .product-description__content {
    padding: 18px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .product-slider {
    padding: 8px !important;
    border-radius: 10px !important;
  }

  .product-slider__stage {
    height: 260px !important;
    min-height: 260px !important;
    border-radius: 8px !important;
  }

  .product-slider__arrow {
    top: 138px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 28px !important;
  }

  .product-slider__arrow--prev {
    left: 12px !important;
  }

  .product-slider__arrow--next {
    right: 12px !important;
  }

  .product-slider__thumbs {
    gap: 7px !important;
    margin-top: 9px !important;
  }

  .product-slider__thumb {
    flex-basis: 70px !important;
    height: 52px !important;
  }

  /* Product/review cards */
  .lp-products,
  .lp-reviews {
    width: min(100% - 24px, 520px) !important;
    margin-top: 34px !important;
    margin-bottom: 44px !important;
  }

  .lp-products__head,
  .lp-reviews__head {
    display: block !important;
    margin-bottom: 20px !important;
  }

  .lp-products__head h2,
  .lp-reviews__head h1,
  .lp-reviews__group-title {
    font-size: clamp(30px, 10vw, 40px) !important;
    line-height: 1.02 !important;
  }

  .lp-products__head p,
  .lp-reviews__head p {
    width: auto !important;
    margin-top: 10px !important;
    font-size: 16px !important;
  }

  .lp-products__grid,
  .lp-reviews__grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .lp-product-card__caption,
  .lp-product-card__body,
  .lp-review-card__caption {
    padding: 18px !important;
  }

  .lp-product-card__caption h3,
  .lp-product-card__body h3,
  .lp-review-card__caption h3 {
    font-size: 24px !important;
    line-height: 1.12 !important;
  }

  .lp-product-card__media,
  .lp-review-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  /* Home catalogue hero cards */
  #catalog .node.widget-element.widget.css46,
  #catalog .node.widget-element.widget.css63 {
    min-height: 440px !important;
    border-radius: 8px !important;
  }

  #catalog .node.widget-element.widget.css46 > .cont > .node.widget-text.css38,
  #catalog .node.widget-element.widget.css63 > .cont > .node.widget-text.css38 {
    left: 18px !important;
    right: 18px !important;
    bottom: 86px !important;
  }

  #catalog .node.widget-element.widget.css46 > .cont > .node.widget-grid.css38,
  #catalog .node.widget-element.widget.css63 > .cont > .node.widget-grid.css38 {
    left: 18px !important;
    right: 18px !important;
    bottom: 22px !important;
    width: auto !important;
  }

  #catalog .node.widget-element.widget.css46 .btn.css61,
  #catalog .node.widget-element.widget.css63 .btn.css61 {
    min-height: 48px !important;
    font-size: 15px !important;
  }

  .home-contact-locations {
    grid-template-columns: 1fr !important;
  }

  .macros-map,
  .macros-map iframe {
    max-width: 100% !important;
    min-height: 280px !important;
  }
}

@media (max-width: 380px) {
  .node.css1 .textable.css8,
  .node.css1 [class*="textable"] strong {
    font-size: 12px !important;
  }

  .node.css1 .soc-icon .link {
    width: 31px !important;
    height: 31px !important;
  }

  .product-nav a {
    font-size: 12px !important;
  }

  .product-hero__media,
  .product-slider__stage {
    height: 230px !important;
    min-height: 230px !important;
  }

  .product-slider__arrow {
    top: 123px !important;
  }
}
