/* Shared public mobile header: compact, fixed and free of an empty contact strip. */
@media (max-width: 767px) {
  html, body { max-width: 100% !important; overflow-x: hidden !important; }
  #header__top.lion-contact-strip, .topbar.lion-contact-strip { display: none !important; }
  .site-header, .site-header.site-header--sticky { position: sticky !important; top: 0 !important; z-index: 100000 !important; min-height: 82px !important; padding-block: 0 !important; background: #fffaf0 !important; border-bottom: 1px solid #eadcc5 !important; box-shadow: 0 7px 19px rgba(60,42,20,.08) !important; }
  .site-header > .site-container, .site-header > .container { width: 100% !important; max-width: none !important; padding: 0 !important; }
  .site-header .site-navbar { display: flex !important; align-items: center !important; width: 100% !important; min-height: 82px !important; margin: 0 !important; padding: 0 16px !important; gap: 10px !important; }
  .site-header .site-brand-link { flex: 1 1 auto !important; min-width: 0 !important; gap: 10px !important; }
  .site-header .site-brand-logo, .site-header .site-brand-link .brand-logo { width: 50px !important; height: 50px !important; min-width: 50px !important; object-fit: contain !important; }
  .site-header .site-brand-text { min-width: 0 !important; max-width: none !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; font-size: clamp(17px,5vw,21px) !important; }
  .site-header .mobile-header-whatsapp { flex: 0 0 50px !important; width: 50px !important; min-width: 50px !important; height: 50px !important; min-height: 50px !important; margin: 0 !important; border-radius: 14px !important; }
  .site-header .mobile-header-whatsapp svg { width: 23px !important; height: 23px !important; }
  .site-header .mobile-menu-trigger, .site-header .nav-toggle { flex: 0 0 50px !important; width: 50px !important; min-width: 50px !important; height: 50px !important; min-height: 50px !important; margin: 0 !important; }
  .site-header .mobile-menu-trigger, .site-header .nav-toggle { display: grid !important; place-items: center !important; padding: 0 !important; line-height: 1 !important; }
  .site-header .mobile-menu-trigger > span, .site-header .nav-toggle > span { display: block !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; transform: translateY(-1px) !important; }
  .site-header .menu-block-wrapper { z-index: 100001 !important; }

  /* Off-canvas menu has one close control only; the header hamburger stays behind it. */
  .site-header .menu-block-wrapper.is-open { z-index: 100010 !important; }
  .site-header .menu-block-wrapper.is-open + .mobile-menu-trigger,
  .site-header .menu-block-wrapper.is-open + .nav-toggle { visibility: hidden !important; pointer-events: none !important; }
  .site-header .menu-block {
    width: min(360px, calc(100vw - 28px)) !important;
    min-height: 100dvh !important;
    padding: 18px 20px 22px !important;
    background: #fffaf0 !important;
    border-left: 1px solid #ddc18d !important;
    box-shadow: -18px 0 48px rgba(48,34,17,.18) !important;
  }
  .site-header .mobile-menu-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #eadcc5 !important;
  }
  .site-header .current-menu-title { display: block !important; color: #302618 !important; font-size: 18px !important; font-weight: 800 !important; }
  .site-header .mobile-menu-close { display: grid !important; place-items: center !important; width: 46px !important; height: 46px !important; padding: 0 !important; border: 1px solid #d8bb87 !important; border-radius: 13px !important; background: #fffaf0 !important; color: #302618 !important; font-size: 30px !important; line-height: 1 !important; }
  .site-header .site-menu-main { display: grid !important; gap: 0 !important; margin: 14px 0 0 !important; }
  .site-header .site-menu-main .nav-item { margin: 0 !important; border-bottom: 1px solid #f1e7d7 !important; }
  .site-header .site-menu-main .nav-link-item { display: block !important; padding: 17px 0 !important; font-size: 18px !important; }
  .site-header .site-menu-main .login-box { border: 0 !important; margin-top: 18px !important; }
  .site-header .site-menu-main .contactbtn { display: flex !important; width: 100% !important; min-height: 54px !important; margin: 0 !important; justify-content: center !important; }
}
@media (max-width: 380px) {
  .site-header .site-navbar { padding-inline: 12px !important; gap: 8px !important; }
  .site-header .site-brand-logo, .site-header .site-brand-link .brand-logo { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  .site-header .mobile-header-whatsapp, .site-header .mobile-menu-trigger, .site-header .nav-toggle { flex-basis: 46px !important; width: 46px !important; min-width: 46px !important; height: 46px !important; min-height: 46px !important; }
}

/* The fixed WhatsApp entry point always uses the actual WhatsApp mark. */
.whatsapp-float-icon { display: block; width: 27px; height: 27px; flex: 0 0 auto; }
.lion-reference-home .ref-floating-wa:after { content: none !important; display: none !important; }
.lion-reference-home .ref-floating-wa { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; }
.lion-reference-home .ref-floating-wa .whatsapp-float-icon { color: #fff !important; }
.fixed-wa .whatsapp-float-icon { width: 24px; height: 24px; color: #20b86a; }
@media (max-width: 575px) {
  .lion-reference-home .ref-floating-wa { width: 60px !important; height: 60px !important; padding: 0 !important; border-radius: 50% !important; }
  .lion-reference-home .ref-floating-wa span { display: none !important; }
  .lion-reference-home .ref-floating-wa .whatsapp-float-icon { width: 30px !important; height: 30px !important; }
}

/* Old cached home markup contains no SVG. Supply the genuine WhatsApp mark from CSS too. */
.lion-reference-home .ref-floating-wa:after {
  content: '' !important;
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M20.52 3.48A11.93 11.93 0 0 0 12.03 0C5.42 0 .04 5.38.04 11.99c0 2.11.55 4.17 1.59 5.98L0 24l6.2-1.63a11.96 11.96 0 0 0 5.82 1.51h.01c6.61 0 11.99-5.38 11.99-11.99 0-3.2-1.25-6.2-3.5-8.41Zm-8.49 18.37h-.01a9.94 9.94 0 0 1-5.07-1.39l-.36-.21-3.68.97.98-3.59-.24-.37A9.94 9.94 0 0 1 2.1 11.99c0-5.48 4.46-9.94 9.94-9.94 2.65 0 5.14 1.03 7.01 2.9a9.85 9.85 0 0 1 2.91 7.02c0 5.48-4.46 9.94-9.94 9.94Zm5.45-7.43c-.3-.15-1.77-.87-2.04-.97-.27-.1-.47-.15-.67.15-.2.3-.76.97-.93 1.17-.17.2-.35.22-.65.07-1.77-.89-2.93-1.59-4.09-3.61-.31-.53.31-.49.89-1.63.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.05 1.02-1.05 2.49s1.08 2.89 1.23 3.09c.15.2 2.13 3.25 5.16 4.56.72.31 1.28.5 1.72.64.72.23 1.38.2 1.9.12.58-.09 1.77-.72 2.02-1.42.25-.7.25-1.29.17-1.42-.07-.12-.27-.2-.57-.35Z'/%3E%3C/svg%3E") !important;
}
