/* Harley Health Tourism - mobile header (hamburger at 1200px, compact phone sizing at 768px)
   Applies to Elementor Canvas pages whose header is built inline with the pxl_menu widget. */
.hhx-toggle,
.hhx-sub-toggle { display: none; }

@media (max-width: 1200px) {
  .hhx-header { position: relative; z-index: 1000; }
  .hhx-header > .e-con-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 20px !important;
    gap: 0 !important;
    box-sizing: border-box;
  }

  /* Logo */
  .hhx-logo { order: 1; width: auto !important; flex: 0 0 auto !important; min-width: 0; }
  .hhx-logo .elementor-widget-image { width: auto !important; }
  .hhx-logo .elementor-widget-image img { width: 60px !important; max-width: none !important; height: auto !important; display: block; }

  /* Hamburger */
  .hhx-toggle {
    order: 2;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 46px;
    height: 46px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 1px solid rgba(182, 151, 92, 0.65);
    border-radius: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .hhx-toggle:hover, .hhx-toggle:focus { background: rgba(182, 151, 92, 0.12); }
  .hhx-toggle:focus-visible { outline: 2px solid #b6975c; outline-offset: 3px; }
  .hhx-bar { display: block; width: 22px; height: 2px; background: #b6975c; transition: transform .25s ease, opacity .2s ease; }
  .hhx-open .hhx-toggle .hhx-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hhx-open .hhx-toggle .hhx-bar:nth-child(2) { opacity: 0; }
  .hhx-open .hhx-toggle .hhx-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Menu panel (collapsed by default) */
  .hhx-menu { order: 3; display: none !important; width: 100% !important; flex: 0 0 100% !important; padding-top: 8px; }
  .hhx-open .hhx-menu { display: block !important; }
  .hhx-menu .elementor-widget-container,
  .hhx-menu .pxl-nav-menu { width: 100%; text-align: left !important; }
  .hhx-menu .pxl-menu-primary { display: block !important; margin: 0 !important; padding: 0 !important; list-style: none; }
  .hhx-menu .pxl-menu-primary > li,
  .hhx-menu .pxl-menu-primary li {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  .hhx-menu .pxl-menu-primary > li > a,
  .hhx-menu .sub-menu li > a {
    display: block;
    padding: 14px 48px 14px 0 !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.4;
    text-align: left;
  }
  .hhx-menu .pxl-menu-primary > li > a:before { display: none !important; }
  .hhx-menu .pxl-menu-primary li.current-menu-item > a,
  .hhx-menu .pxl-menu-primary li.current-menu-parent > a,
  .hhx-menu .pxl-menu-primary li > a:hover { color: #b6975c !important; }
  .hhx-menu .pxl-menu-item-text { justify-content: flex-start; }

  /* Sub menu: static, collapsed until its caret is tapped */
  .hhx-menu .sub-menu {
    position: static !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    left: auto !important; top: auto !important;
    width: 100% !important; min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  .hhx-menu li.hhx-sub-open > .sub-menu { display: block !important; }
  .hhx-menu .sub-menu li { border-top: 0; }
  .hhx-menu .sub-menu li > a { padding: 10px 0 !important; font-size: 15px !important; color: rgba(255, 255, 255, 0.82) !important; }
  .hhx-menu .sub-menu .pxl-menu-item-text:before { display: none !important; }

  .hhx-sub-toggle {
    display: block;
    position: absolute;
    top: 0; right: 0;
    width: 48px; height: 50px;
    padding: 0; margin: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .hhx-sub-toggle:focus-visible { outline: 2px solid #b6975c; outline-offset: -2px; }
  .hhx-sub-toggle:after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 8px; height: 8px;
    border-right: 2px solid #b6975c;
    border-bottom: 2px solid #b6975c;
    transform: translate(-50%, -70%) rotate(45deg);
    transition: transform .25s ease;
  }
  .hhx-menu li.hhx-sub-open > .hhx-sub-toggle:after { transform: translate(-50%, -30%) rotate(-135deg); }

  /* Enquire button (shown inside the panel) */
  .hhx-cta { order: 4; display: none !important; width: 100% !important; flex: 0 0 100% !important; padding: 14px 0 6px; }
  .hhx-open .hhx-cta { display: block !important; }
  .hhx-cta .elementor-widget-button { width: 100%; }
  .hhx-cta .elementor-button { display: block; width: 100%; text-align: center; box-sizing: border-box; padding: 14px 20px; }
}

/* Phones: 768px and below */
@media (max-width: 768px) {
  .hhx-header > .e-con-inner { padding: 8px 16px !important; }
  .hhx-logo .elementor-widget-image img { width: 50px !important; }
  .hhx-toggle { width: 42px; height: 42px; }
  .hhx-menu .pxl-menu-primary > li > a,
  .hhx-menu .sub-menu li > a { font-size: 15px !important; padding-top: 13px !important; padding-bottom: 13px !important; }
  .hhx-menu .sub-menu li > a { font-size: 14px !important; padding-top: 10px !important; padding-bottom: 10px !important; }
  .hhx-cta .elementor-button { padding: 13px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .hhx-bar, .hhx-sub-toggle:after { transition: none; }
}