/* Sidhu Fitness 25.29 mobile utility controls for dynamic Wix Blog routes. */
.back-to-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.mobile-connect-trigger,
.mobile-connect-panel,
.mobile-connect-social-source { display: none; }
.mobile-menu-cookie-settings,
.footer-cookie-settings {
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
.mobile-menu-cookie-settings {
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--line, rgba(255,255,255,.16));
  color: #d7d3cc;
  text-align: left;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
}
.footer-cookie-settings {
  min-height: 40px;
  padding: 8px 0;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 760px) {
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .mobile-actions {
    z-index: 900 !important;
    min-height: 58px;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }
  .social-rail,
  .chat-launcher { display: none !important; }
  .mobile-connect-social-source { display: none !important; }

  .mobile-connect-trigger {
    position: fixed;
    z-index: 850;
    top: 58svh;
    right: 0;
    display: inline-flex;
    width: 108px;
    min-width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 13px 0 10px;
    border: 1px solid var(--orange, #ff4b1f);
    border-right: 0;
    border-radius: 24px 0 0 24px;
    color: #fff;
    background: rgba(10,10,10,.97);
    box-shadow: 0 12px 34px rgba(0,0,0,.42);
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .09em;
    cursor: pointer;
    transition: width 180ms ease, background 180ms ease;
  }
  .mobile-connect-trigger:hover,
  .mobile-connect-trigger:focus-visible,
  .mobile-connect-trigger.is-open {
    color: #090909;
    background: var(--orange, #ff4b1f);
    outline: 3px solid rgba(255,75,31,.32);
    outline-offset: 2px;
  }
  .mobile-connect-trigger.is-compact:not(:focus-visible) { width: 48px; padding-inline: 0; }
  .mobile-connect-trigger.is-compact:not(:focus-visible) .mobile-connect-label { width: 0; opacity: 0; overflow: hidden; }
  .mobile-connect-icon {
    display: grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 19px;
    line-height: 1;
  }

  .mobile-connect-panel {
    position: fixed;
    z-index: 1100;
    top: 50%;
    right: 12px;
    display: block;
    width: min(286px, calc(100vw - 32px));
    max-height: calc(100svh - 170px - env(safe-area-inset-bottom));
    overflow: auto;
    border: 1px solid var(--orange, #ff4b1f);
    color: #fff;
    background: rgba(9,9,9,.985);
    box-shadow: 0 26px 80px rgba(0,0,0,.62);
    transform: translateY(-50%);
  }
  .mobile-connect-panel[hidden] { display: none !important; }
  .mobile-connect-heading {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 10px 10px 15px;
    border-bottom: 1px solid var(--line, rgba(255,255,255,.16));
  }
  .mobile-connect-heading strong,
  .mobile-connect-heading small { display: block; }
  .mobile-connect-heading strong { font-family: Oswald,Impact,sans-serif; font-size: 19px; text-transform: uppercase; }
  .mobile-connect-heading small { margin-top: 2px; color: #aaa49b; font-size: 9px; }
  .mobile-connect-close {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border: 1px solid var(--line, rgba(255,255,255,.16));
    color: #fff;
    background: #151515;
    font-size: 25px;
    cursor: pointer;
  }
  .mobile-connect-options { display: grid; gap: 6px; padding: 10px; }
  .mobile-connect-action,
  .mobile-connect-panel .mobile-connect-link,
  .mobile-connect-panel .mobile-connect-link:hover,
  .mobile-connect-panel .mobile-connect-link:focus-visible {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 8px 13px;
    border: 1px solid var(--line, rgba(255,255,255,.16));
    color: #fff;
    background: #121212;
    text-align: left;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    cursor: pointer;
    outline: none;
  }
  .mobile-connect-action:hover,
  .mobile-connect-action:focus-visible,
  .mobile-connect-panel .mobile-connect-link:hover,
  .mobile-connect-panel .mobile-connect-link:focus-visible {
    border-color: var(--orange, #ff4b1f);
    background: rgba(255,75,31,.13);
    outline: 3px solid rgba(255,75,31,.24);
    outline-offset: 1px;
  }
  .mobile-connect-action > span,
  .mobile-connect-panel .mobile-connect-link svg { flex: 0 0 24px; width: 24px; height: 24px; }
  .mobile-connect-panel .mobile-connect-link > span { display: block; opacity: 1; color: inherit; }

  .back-to-top,
  .back-to-top.is-visible {
    position: fixed !important;
    z-index: 850 !important;
    right: 12px !important;
    bottom: calc(74px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    width: 48px;
    height: 48px;
    place-items: center;
    border-color: var(--orange, #ff4b1f);
    background: rgba(12,12,12,.96);
  }
  .chat-panel {
    z-index: 1100 !important;
    right: 12px !important;
    bottom: calc(74px + env(safe-area-inset-bottom)) !important;
    width: min(370px, calc(100vw - 24px)) !important;
    max-height: calc(100svh - 112px - env(safe-area-inset-bottom));
    overflow: auto;
  }
  .chat-is-open .mobile-connect-trigger,
  .chat-is-open .back-to-top { display: none !important; }
  .sidhu-consent-settings { display: none !important; }
  .mobile-menu-cookie-settings { width: 100%; }
}

@media (max-width: 360px) {
  .mobile-connect-trigger { top: 55svh; }
  .mobile-connect-panel { width: calc(100vw - 24px); right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top,
  .mobile-connect-trigger { transition: none; }
}
