/* Mobile-only usability layer. Desktop rendering remains identical to the source site. */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

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

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

  /* Keep the off-canvas navigation inside the viewport throughout its animation. */
  .jkit-menu-wrapper {
    width: min(360px, 100vw) !important;
    max-width: 100vw !important;
    right: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }

  .jkit-menu-container,
  .jkit-menu,
  .jkit-menu > li,
  .jkit-menu > li > a {
    max-width: 100% !important;
  }

  .jkit-hamburger-menu,
  .jkit-close-menu {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px !important;
    width: 44px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 !important;
  }

  .jkit-menu-wrapper .jkit-menu > li > a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  /* Mobile controls: reliable finger targets and no iOS form zoom. */
  .elementor-button,
  button[type="submit"],
  .cli-plugin-button,
  .cli_settings_button,
  .wt-cli-privacy-btn,
  .cli-modal-close {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }

  .elementor-button,
  button[type="submit"] {
    background-color: #506963 !important;
    color: #fff !important;
  }

  .elementor-button .elementor-button-content-wrapper,
  .elementor-button .elementor-button-text {
    color: #fff !important;
  }

  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    min-height: 44px;
    max-width: 100%;
    font-size: 16px !important;
  }

  textarea {
    min-height: 120px;
  }

  .elementor-field-type-radio input[type="radio"] {
    appearance: none !important;
    display: inline-block !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 4px 0 0;
    vertical-align: middle;
    background: radial-gradient(circle, transparent 0 7px, #506963 7px 9px, transparent 9px);
    cursor: pointer;
  }

  .elementor-field-type-radio input[type="radio"]:checked {
    background: radial-gradient(circle, #506963 0 5px, transparent 6px 7px, #506963 7px 9px, transparent 9px);
  }

  /* Let consent choices wrap cleanly on narrow phones. */
  #cookie-law-info-bar .cli-bar-container,
  #cookie-law-info-bar .cli-bar-btn_container {
    max-width: 100%;
  }

  #cookie-law-info-bar .cli-bar-btn_container {
    gap: 6px;
  }

  #cookie-law-info-bar .cli-bar-btn_container > a {
    margin: 2px !important;
    padding: 10px 12px !important;
  }

  /* Preserve the palette while bringing the original pale combinations to AA. */
  .elementor-element-7bee6156 .heading-title,
  .elementor-element-7bee6156 .style-color,
  .elementor-element-cf0bd8c .heading-title,
  .elementor-element-cf0bd8c .style-color,
  .elementor-element-8908ed7 .heading-title,
  .elementor-element-8908ed7 .style-color,
  .elementor-element-47c8e40f .elementor-heading-title,
  .elementor-element-2c78a5e .elementor-heading-title,
  .jkit-icon-box .title {
    color: #65576a !important;
  }

  .jkit-icon-box .icon-box-description {
    color: #5e565c !important;
  }

  .jkit-icon-box .icon-box-link,
  .elementor-element-a727833 a,
  .elementor-element-5c2be1a a {
    color: #506963 !important;
  }

  .jkit-icon-box .icon-box-link,
  .elementor-icon-list-item > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .elementor-element-a727833 a,
  .elementor-element-5c2be1a a,
  .elementor-element-40f4108 a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .testimonial-box,
  .elementor-element-95d9841 {
    background-color: #506963 !important;
  }

  .testimonial-box p,
  .testimonial-box .profile-name,
  .testimonial-box .profile-des {
    color: #fff !important;
  }

  .elementor-widget-text-editor a[href^="mailto:"],
  .elementor-widget-text-editor a[href^="tel:"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #506963 !important;
  }

  .woocommerce-result-count {
    color: #5e565c !important;
  }

  .woocommerce-breadcrumb,
  .woocommerce-breadcrumb a {
    color: #5e565c !important;
  }

  h1.product_title {
    color: #65576a !important;
  }

  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px !important;
  }

  .elementor-element-5327dea,
  .elementor-element-5327dea p,
  .elementor-element-5327dea span,
  .elementor-element-5327dea a {
    color: #2f242d !important;
  }

  /* Slightly deepen the original pale body colour for readable small text. */
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-icon-list .elementor-icon-list-text {
    color: #554750;
  }
}
