.menu-item.hv-customer-login > a {
  background: #f4c400 !important;
  color: #111317 !important;
  border-radius: 4px;
  padding: 12px 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.menu-item.hv-customer-login > a:hover,
.menu-item.hv-customer-login > a:focus {
  background: #ffd633 !important;
  color: #111317 !important;
}

/* Mobile-first reading and layout repair. Applies site-wide to every page. */
@media (max-width: 921px) {
  html,
  body,
  #page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body,
  button,
  input,
  select,
  textarea {
    font-size: 20px !important;
    line-height: 1.55 !important;
  }

  body p,
  body li,
  body dd,
  body dt,
  body label,
  body .elementor-widget-text-editor,
  body .elementor-widget-text-editor p,
  body .elementor-icon-list-text,
  body .elementor-price-table__feature-inner,
  body .entry-content,
  body .entry-content p,
  body .entry-content li {
    font-size: 20px !important;
    line-height: 1.55 !important;
  }

  body small,
  body .entry-meta,
  body .entry-meta *,
  body .elementor-post-info__item,
  body .elementor-price-table__period {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  body h1,
  body .entry-content h1,
  body .elementor-heading-title.elementor-size-xxl,
  body .elementor-widget-heading h1.elementor-heading-title {
    font-size: 38px !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
  }

  body h2,
  body .entry-content h2,
  body .elementor-widget-heading h2.elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }

  body h3,
  body .entry-content h3,
  body .elementor-widget-heading h3.elementor-heading-title {
    font-size: 25px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
  }

  body h4,
  body .entry-content h4,
  body .elementor-widget-heading h4.elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  body a,
  body button,
  body .elementor-button,
  body .wp-block-button__link,
  body input[type="button"],
  body input[type="submit"] {
    font-size: 19px !important;
  }

  body button,
  body .elementor-button,
  body .wp-block-button__link,
  body input[type="button"],
  body input[type="submit"] {
    min-height: 54px;
    padding: 14px 20px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }

  body input[type="text"],
  body input[type="email"],
  body input[type="tel"],
  body input[type="url"],
  body input[type="search"],
  body select,
  body textarea {
    min-height: 56px;
    padding: 12px 14px !important;
  }

  body textarea {
    min-height: 150px;
  }

  .site-header a,
  .site-header p,
  .site-header span,
  .ast-mobile-popup-content .menu-link,
  .jkit-menu-wrapper .menu-link {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .menu-item.hv-customer-login > a {
    min-height: 54px;
    margin: 8px 20px 14px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  /* Force legacy Elementor rows and newer parent containers into one column. */
  body .elementor-section > .elementor-container,
  body .elementor-inner-section > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }

  body .elementor-column,
  body .elementor-column.elementor-col-10,
  body .elementor-column.elementor-col-20,
  body .elementor-column.elementor-col-25,
  body .elementor-column.elementor-col-33,
  body .elementor-column.elementor-col-50,
  body .elementor-column.elementor-col-66,
  body .elementor-column.elementor-col-75,
  body .elementor-column.elementor-col-100,
  body .e-con.e-parent,
  body .e-con.e-child {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  body .e-con.e-parent {
    --flex-direction: column;
    flex-direction: column !important;
  }

  body .elementor,
  body .elementor-section,
  body .elementor-container,
  body .elementor-column,
  body .elementor-widget-wrap,
  body .elementor-widget,
  body .elementor-widget-container,
  body .entry-content,
  body .wp-block-group,
  body .wp-block-columns,
  body .wp-block-column {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  body .wp-block-columns {
    flex-direction: column;
  }

  body .wp-block-column {
    width: 100% !important;
    flex-basis: auto !important;
  }

  body img,
  body picture,
  body video {
    max-width: 100% !important;
    height: auto;
  }

  body iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .elementor-widget-wrap > .elementor-element,
  body .elementor-widget-button,
  body .elementor-button-wrapper,
  body .wp-block-button,
  body .wp-block-button__link {
    max-width: 100%;
  }

  body .elementor-widget-button .elementor-button,
  body .wp-block-button__link {
    width: 100%;
  }

  body .elementor-spacer-inner {
    max-height: 56px;
  }

  #hv-mobile-contact-bar a {
    min-height: 56px !important;
    font-size: 18px !important;
  }
}