/* Elementor adapter layer. Keep all frontend selectors inside the Lander namespace. */
.web366-landing-page-lc7x2qv.lavn-elw-root { width: 100%; max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-container { width: 100%; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-section-head { align-items: flex-end; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-product-grid,
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-cat-grid,
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-steps,
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-features,
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-post-grid,
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-custom-list { min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-slide__bg { object-fit: cover; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-hero--slider { width: 100%; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-header { position: relative; top: auto; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-header__inner { flex-wrap: nowrap; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-header__right { display: flex; align-items: center; gap: 12px; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-menu .sub-menu { position: absolute; z-index: 20; top: 100%; left: 0; display: none; min-width: 240px; list-style: none; margin: 0; padding: 10px 0; background: #fff; border: 1px solid var(--web366-line); box-shadow: 0 10px 28px rgba(0,0,0,.10); }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-menu li:hover > .sub-menu,
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-menu li:focus-within > .sub-menu { display: block; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-menu .sub-menu a { display: block; padding: 10px 16px; white-space: normal; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-menu > li { position: relative; }
/* Dropdown arrow is rendered once by class-lavn-site-chrome.php as an SVG. */
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-footer .menu { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-nav { min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-menu { min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-contact-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-contact-cards > div { min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-story-image { width: 100%; height: 100%; object-fit: cover; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap { min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap input,
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap textarea,
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap select { max-width: 100%; }
@media (max-width: 1180px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-container { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 1024px) {
  /* Match the HTML prototype: desktop navigation is replaced by the mobile drawer. */
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-nav { display: none; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header__inner { align-items: center; flex-wrap: nowrap; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-burger,
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-header__call { display: inline-flex; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-logo { margin-right: auto; min-width: 0; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-header__right { gap: 8px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-contact-cards { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-section { padding-top: 56px; padding-bottom: 56px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-section--tight { padding-top: 36px; padding-bottom: 36px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-section-head { gap: 16px; margin-bottom: 28px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-container { padding-left: 18px; padding-right: 18px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-cta { padding: 56px 0; }
  /* In the original mobile header, the quote CTA lives inside the drawer. */
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header .web366-header__right .web366-btn { display: none; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-header__phone { display: none; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-contact-cards { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 480px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-container { padding-left: 16px; padding-right: 16px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-map { height: 260px; }
}
@media (prefers-reduced-motion: reduce) {
  .web366-landing-page-lc7x2qv.lavn-elw-root *,
  .web366-landing-page-lc7x2qv.lavn-elw-root *::before,
  .web366-landing-page-lc7x2qv.lavn-elw-root *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-brand-logo__img { display: block; width: auto; max-width: 160px; max-height: 44px; object-fit: contain; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-brand-logo { display: flex; align-items: center; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-content-split__media { min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-content-split__media img { display: block; width: 100%; max-height: 680px; object-fit: cover; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-map__placeholder { min-height: 360px; display: grid; place-items: center; background: var(--web366-paper); padding: 24px; text-align: center; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-footer__bottom { margin-top: 48px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.18); font-size: 13px; }
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-footer__bottom p { margin: 0; }
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-brand-logo__img { max-width: 128px; max-height: 36px; }
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-map__placeholder { min-height: 260px; }
}
/* Global admin-managed Header/Footer (rendered outside Elementor canvas content). */
.web366-landing-page-lc7x2qv.lavn-elw-site-chrome { width: 100%; }
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-drawer__overlay {
  border: 0; padding: 0; width: 100%; height: 100%; cursor: pointer; border-radius: 0;
}
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu__row > a { flex: 1; min-width: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu__row { gap: 8px; }
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu__toggle { flex: 0 0 44px; }
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-drawer__top .web366-logo img,
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-drawer__top img { display: block; max-width: 180px; max-height: 54px; width: auto; height: auto; background: #fff; padding: 6px; }
.web366-landing-page-lc7x2qv.lavn-elw-global-footer .web366-footer-links { padding-left: 0; margin: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-global-footer .web366-footer-links li { margin: 0; }


/* Auto-fit Hero stats: removed repeater items no longer leave empty columns. */
.web366-landing-page-lc7x2qv.lavn-elw-root .web366-rail__inner {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
@media (max-width: 1024px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-rail__inner {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  }
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .web366-rail__inner {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  }
}


/* Product archive filtering / pagination and product gallery responsive improvements. */
.web366-landing-page-lc7x2qv .web366-product-grid > li[hidden],
.web366-landing-page-lc7x2qv .web366-empty[hidden] { display: none !important; }
.web366-landing-page-lc7x2qv .web366-pagination:empty { display: none !important; }
.web366-landing-page-lc7x2qv .web366-single__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.web366-landing-page-lc7x2qv .web366-single__thumbs img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--web366-paper); }
.web366-landing-page-lc7x2qv .web366-specs-wrap { width: 100%; overflow-x: auto; }
.web366-landing-page-lc7x2qv .web366-specs { min-width: 0; }
@media (max-width: 480px) {
  .web366-landing-page-lc7x2qv .web366-filter { gap: 6px; }
  .web366-landing-page-lc7x2qv .web366-chip { min-height: 38px; padding: 7px 11px; font-size: 13px; }
  .web366-landing-page-lc7x2qv .web366-single__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .web366-landing-page-lc7x2qv .web366-specs th { width: 42%; padding-right: 10px; }
}

/* Product detail gallery controls */
.web366-landing-page-lc7x2qv .web366-single__thumbs button { display: block; width: 100%; padding: 0; border: 1px solid transparent; background: transparent; cursor: pointer; }
.web366-landing-page-lc7x2qv .web366-single__thumbs button.is-active,
.web366-landing-page-lc7x2qv .web366-single__thumbs button:focus-visible { border-color: var(--web366-ink); outline: 2px solid transparent; }
.web366-landing-page-lc7x2qv .web366-single__thumbs button img { pointer-events: none; }
.web366-landing-page-lc7x2qv .web366-lightbox [hidden] { display: none !important; }
.web366-landing-page-lc7x2qv .web366-single__main img { display: block; max-width: 100%; }

/* v1.3.4: Global header/footer are individually scoped, never wrap Elementor content. */
.web366-landing-page-lc7x2qv.lavn-elw-global-header {
    position: sticky;
    top: 0;
    z-index: 900;
    overflow: visible;
}
.web366-landing-page-lc7x2qv.lavn-elw-global-footer {
    overflow: visible;
}

/* v1.3.5: avoid empty grid slots when catalog has fewer than four live items. */
@media (min-width: 769px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-1 .web366-cat-grid,
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-1 .web366-product-grid { grid-template-columns: minmax(0, 1fr); }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-2 .web366-cat-grid,
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-2 .web366-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-3 .web366-cat-grid,
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-3 .web366-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-1 .web366-cat-grid,
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-grid-count-1 .web366-product-grid { grid-template-columns: minmax(0, 1fr); }
}

/* v1.3.11: Hello Elementor renders its own #site-header after wp_body_open.
 * The Lander CMS header is rendered at wp_body_open, so without suppressing
 * Hello's native header the mobile page can retain a blank second row.
 * These rules are a fallback for configurations where Hello's markup remains.
 */
body.lavn-elw-replaces-hello-header > header#site-header,
body.lavn-elw-replaces-hello-header > header.site-header:not(.web366-header) {
  display: none !important;
}
body.lavn-elw-replaces-hello-footer > footer#site-footer,
body.lavn-elw-replaces-hello-footer > footer.site-footer:not(.web366-footer) {
  display: none !important;
}
@media (max-width: 1024px) {
  /* Hide the whole desktop navigation, not merely its links. */
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header > .web366-container.web366-header__inner > nav.web366-nav {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header {
    margin-bottom: 0;
  }
}

/* CF7 inside Lander custom quote section. Form validity and email remain handled by CF7. */
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-quote-figure { margin: 32px 0 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-quote-figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .wpcf7 { min-width: 0; width: 100%; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .wpcf7 form { margin: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .wpcf7-form-control-wrap { display: block; width: 100%; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .wpcf7-form-control-wrap > input,
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .wpcf7-form-control-wrap > select,
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .wpcf7-form-control-wrap > textarea { width: 100%; box-sizing: border-box; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .web366-form__submit .wpcf7-submit { cursor: pointer; min-height: 48px; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .wpcf7-not-valid-tip { color: #aa224b; font-size: 12px; margin-top: 5px; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .wpcf7-response-output { margin: 18px 0 0; padding: 12px 15px; font-size: 14px; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form .wpcf7-acceptance input { min-height: 0; width: auto; margin: 0 9px 0 0; padding: 0; }
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root .lavn-elw-form-wrap .web366-form { grid-template-columns: minmax(0,1fr); }
  .web366-landing-page-lc7x2qv.lavn-elw-root .lavn-quote-figure { margin-top: 24px; }
}


/* v1.3.14 — About page gallery matches original HTML (six even 4:3 tiles).
   Scoped so the Home office mosaic remains unaffected. */
.web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: start;
}
.web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] > li {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] button {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: var(--web366-paper, #f5f5f3);
  cursor: zoom-in;
  overflow: hidden;
}
.web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] button img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.web366-landing-page-lc7x2qv .web366-gallery__caption {
  margin: 8px 0 0;
  color: var(--web366-muted, #5e5c5a);
  font-size: 13px;
}
.web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] button:focus-visible {
  outline: 3px solid var(--web366-magenta, #c93a60);
  outline-offset: 2px;
}
.web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] .lavn-gallery-image-error {
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 16px; font-size: 13px; color: var(--web366-muted, #5e5c5a);
  height: 100%;
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv .web366-gallery[data-lavn-office-gallery] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* v1.3.16 — product specifications: read-only, unboxed rows as in the HTML reference.
   Use a <dl>, not a <table>, so Elementor/Hello table defaults cannot add
   alternating backgrounds, cell boxes or vertical divider lines. */
.web366-landing-page-lc7x2qv .web366-specs-wrap {
  width: 100%;
  max-width: 100%;
  overflow: visible;
}
.web366-landing-page-lc7x2qv .web366-specs-title {
  font-family: var(--web366-font-heading);
  color: var(--web366-ink);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  margin: 32px 0 12px;
}
.web366-landing-page-lc7x2qv .web366-specs-list {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}
.web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  gap: 16px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--web366-line, #e5e5e5);
  background: transparent;
  box-shadow: none;
  align-items: start;
}
.web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row > dt,
.web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row > dd {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  line-height: 1.65;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row > dt {
  color: var(--web366-ink);
  font-weight: 600;
}
.web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row > dd {
  color: var(--web366-muted);
  font-weight: 400;
}
@media (max-width: 480px) {
  .web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row {
    grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
    gap: 12px;
  }
  .web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row > dt,
  .web366-landing-page-lc7x2qv .web366-specs-list .web366-specs-row > dd {
    font-size: 14px;
  }
}

/* v1.3.21 — Keep the 7-item Header (including Video) tidy on laptop screens.
   At <=1024px the existing burger/drawer rules remain in control. */
@media (min-width: 1025px) and (max-width: 1299px) {
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__inner { gap: 12px; }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-menu > li > a { padding-left: 8px; padding-right: 8px; font-size: 14px; }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__right { gap: 10px; }
}
@media (min-width: 1025px) and (max-width: 1120px) {
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__phone { display: none; }
}


/* v1.3.23 — align the global Header with the original page container (1240px).
 * Preserve the improved menu spacing / hotline separation from v1.3.22,
 * but do not expand the Header independently to 1380px.
 * Scope ONLY to the global CMS header; page widgets remain unchanged.
 */
@media (min-width: 1261px) {
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__inner,
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-topbar > .web366-container {
    max-width: var(--web366-container, 1240px);
    padding-inline: 24px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__inner {
    gap: 16px;
    min-height: 78px;
    justify-content: space-between;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-logo {
    flex: 0 0 auto;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-logo img {
    height: 46px;
    max-width: 178px;
    width: auto;
    object-fit: contain;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-nav {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 10px 24px;
    justify-content: center;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-menu {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-menu > li > a {
    font-size: 14px;
    line-height: 1.4;
    padding: 27px clamp(8px, .75vw, 12px);
    white-space: nowrap;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__right {
    flex: 0 0 auto;
    gap: 16px;
    padding-left: 22px;
    border-left: 1px solid var(--web366-line);
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__phone {
    white-space: nowrap;
    font-size: 11px;
    line-height: 1.35;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__phone strong {
    font-size: 16px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__right > .web366-btn {
    min-height: 44px;
    font-size: 14px;
    padding: 11px 17px;
    white-space: nowrap;
  }
}
/* On narrow laptops, favor an uncluttered menu instead of compressing 'Liên hệ'
 * against the hotline. Keep the desktop button until the normal mobile breakpoint. */
@media (min-width: 769px) and (max-width: 1260px) {
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__inner {
    gap: 12px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__inner > nav.web366-nav {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header .web366-burger,
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header .web366-header__call {
    display: inline-flex;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-logo {
    margin-right: auto;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__phone {
    display: none;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__right {
    gap: 10px;
    padding-left: 0;
    border-left: 0;
  }
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__inner > nav.web366-nav {
    display: none !important;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-header__right {
    padding-left: 0;
    border-left: 0;
  }
}

/* v1.3.25 — Home mobile: remove the 40px gap between the global header and
 * the Hero Slider. The prototype's generic mobile .web366-hero rule sets
 * padding-top: 40px *after* its .web366-hero--slider { padding: 0 } rule.
 * Scope the override to this one widget so inner-page banners and the
 * shared Header/Footer retain their existing spacing.
 */
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero > .web366-hero.web366-hero--slider {
    padding-top: 0;
  }
}

/* v1.3.27 — keep the complete company name + since 2022 on one mobile row.
 * Smaller phones use fluid text sizing rather than a second line.
 * Scoped to the red topbar: the main navigation and page layouts are unchanged.
 */
@media (max-width: 600px) {
  .web366-landing-page-lc7x2qv .web366-topbar > .web366-container {
    min-height: 36px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .web366-landing-page-lc7x2qv .web366-topbar__info {
    min-width: 0;
    max-width: 100%;
    flex-wrap: nowrap;
    gap: 0;
  }
  .web366-landing-page-lc7x2qv .web366-topbar__info > li {
    min-width: 0;
    max-width: 100%;
    flex: 0 1 auto;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    font-size: clamp(7.5px, 2.7vw, 12px);
    line-height: 1.35;
    letter-spacing: -0.02em;
    overflow: hidden;
    text-overflow: ellipsis; /* fallback only for exceptionally narrow screens */
  }
}

/* v1.3.28 — nhãn section rõ hơn (ví dụ: QUY TRÌNH ĐẶT HÀNG CUSTOM).
   Giữ nguyên heading chính và typography trên ảnh Hero. */
.web366-landing-page-lc7x2qv .web366-section .web366-kicker,
.web366-landing-page-lc7x2qv .web366-contact-section .web366-kicker {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .085em;
    line-height: 1.5;
    color: #414044;
    margin-bottom: 18px;
}
.web366-landing-page-lc7x2qv .web366-section .web366-kicker::before {
    width: 11px;
    height: 11px;
}
@media (max-width: 767px) {
  .web366-landing-page-lc7x2qv .web366-section .web366-kicker,
  .web366-landing-page-lc7x2qv .web366-contact-section .web366-kicker {
      font-size: 13px;
      letter-spacing: .055em;
  }
}

/* v1.3.29: Active primary menu state on every page, not only Home/Video.
 * Applies to WordPress-managed and fallback menus (including blog/product singles). */
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-menu > li.lavn-current-section > a,
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-menu > li.current-menu-item > a {
  color: var(--web366-magenta);
  box-shadow: inset 0 -2px 0 var(--web366-magenta-base);
}
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu > li.lavn-current-section > a,
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu > li.lavn-current-section > .web366-mmenu__row > a,
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu > li > a[aria-current="page"],
.web366-landing-page-lc7x2qv.lavn-elw-global-header .web366-mmenu > li > .web366-mmenu__row > a[aria-current="page"] {
  color: #F07A98;
  font-weight: 700;
}

/* v1.3.32 — Quy trình 5 bước: một bước trên mỗi hàng ở mobile.
 * Scope to the Process Steps widget only; other grids and desktop/tablet are unchanged.
 * !important is intentional: previously imported Elementor JSON may have stored
 * grid_columns_mobile = 2 and its generated selectors override the theme CSS.
 */
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-process .web366-steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-process .web366-steps > .web366-step {
    min-width: 0;
    width: 100%;
  }
}


/* v1.3.33 — Custom production quote: tighter vertical rhythm and column gap.
 * Only the quote widget is affected (not the other web366 sections/forms). */
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form > #bao-gia.web366-section {
  padding-top: 66px;
  padding-bottom: 58px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia > .web366-container.web366-split {
  column-gap: 36px;
  row-gap: 28px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .web366-lead {
  margin-top: 10px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-quote-figure {
  margin-top: 20px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form {
  gap: 14px 18px;
}
@media (max-width: 1024px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form > #bao-gia.web366-section {
    padding-top: 52px;
    padding-bottom: 46px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia > .web366-container.web366-split {
    column-gap: 28px;
  }
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form > #bao-gia.web366-section {
    padding-top: 42px;
    padding-bottom: 42px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia > .web366-container.web366-split {
    row-gap: 24px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-quote-figure {
    margin-top: 16px;
  }
}


/* v1.3.37 — CF7 quote form: tighter than original v1.3.33 (14px) spacing.
 * Scoped exclusively to the custom production quote widget so the
 * Contact page form, other CF7 forms, and the rest of Lander stay intact.
 * CF7 fields are .web366-form > .web366-field; do not change their order.
 */
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form {
  column-gap: 14px;
  row-gap: 8px;
  align-items: start;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field {
  min-width: 0;
  gap: 4px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field > label {
  margin: 0;
  line-height: 1.45;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field .wpcf7-form-control-wrap {
  min-width: 0;
  margin: 0;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field select {
  min-height: 48px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field textarea {
  min-height: 156px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field small {
  display: block;
  line-height: 1.55;
  margin-top: 2px;
}
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-form__submit {
  margin-top: 2px;
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form {
    column-gap: 0;
    row-gap: 10px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-quote-form #bao-gia .lavn-elw-form-wrap .web366-form > .web366-field textarea {
    min-height: 140px;
  }
}

/* v1.3.41 — Home: 7 product categories + 1 custom-order CTA (8 even tiles).
 * Keep four columns on wide screens, two on tablet/mobile, so the last row
 * never has orphaned cards. Scoped only to this 8-card Category Grid widget.
 */
@media (min-width: 1025px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-home-eight-categories .web366-cat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 1024px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-home-eight-categories .web366-cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-home-eight-categories .web366-cat-cta { padding: 16px; min-width: 0; }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-home-eight-categories .web366-cat-cta h3 { font-size: clamp(17px, 4.5vw, 22px); overflow-wrap: break-word; }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-home-eight-categories .web366-cat__title { font-size: clamp(16px, 4.4vw, 20px); overflow-wrap: break-word; }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-home-eight-categories .web366-cat-cta .web366-link-arrow { overflow-wrap: break-word; }
}


/* v1.3.44 — Home Hero Slider on phones: content must determine the height.
 * Previously .web366-slide was absolute and the slider was min-height: 580px
 * (also persisted by Elementor responsive controls), so on small phones the
 * long description and last CTA were clipped by the slider's overflow:hidden.
 * Make ONLY the active slide participate in normal flow; inactive slides
 * remain absolutely stacked for the existing carousel script and fade effects.
 * The fixed-height desktop slider is deliberately untouched.
 */
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slider {
    height: auto !important;
    min-height: 0 !important;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slider > .web366-slide.is-active {
    position: relative;
    inset: auto;
    height: auto;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide__content {
    height: auto;
    min-height: min(64svh, 540px);
    justify-content: flex-start;
    padding: 40px 18px 72px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide h1,
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide h2 {
    font-size: clamp(30px, 8.5vw, 38px);
    line-height: 1.13;
    max-width: 18ch;
    margin-bottom: 18px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide .web366-kicker {
    margin-bottom: 14px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide__lead {
    font-size: 16px;
    line-height: 1.55;
    margin-bottom: 24px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide .web366-actions {
    gap: 12px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide .web366-actions .web366-btn {
    min-height: 48px;
  }
}
@media (max-width: 380px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide__content {
    padding-top: 32px;
    padding-bottom: 68px;
  }
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-hero .web366-slide__lead {
    font-size: 15px;
  }
}

/* v1.3.53: optional fixed card sizing for related products in the shared single template.
 * Keep one or two recommendations at the same card width instead of stretching them.
 * Default Product Grid instances remain unchanged unless the new control is enabled.
 */
.web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-fixed-four-columns .web366-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
@media (max-width: 1024px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-fixed-four-columns .web366-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 768px) {
  .web366-landing-page-lc7x2qv.lavn-elw-root.lavn-elw-fixed-four-columns .web366-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

