/* ─── ReSoft Client Styles ──────────────────────── */

/* ===========================================
   PREVENT HORIZONTAL SCROLL ON ALL DEVICES
   Use overflow-x: clip so sticky positioning still works
   =========================================== */
html {
    box-sizing: border-box;
    overflow-x: clip;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

/* ===========================================
   FORCE REMOVE UNDERLINE FROM ALL PUBLIC LAYOUT LINKS
   Override Bootstrap reboot.css
   =========================================== */

/* Global override for all links in public layout areas */
.pk-topbar a,
.pk-header a,
.pk-nav-desktop a,
.pk-mobile-menu a,
.pk-banner a,
.pk-footer a,
.pk-topbar a:link,
.pk-header a:link,
.pk-nav-desktop a:link,
.pk-mobile-menu a:link,
.pk-banner a:link,
.pk-footer a:link,
.pk-topbar a:visited,
.pk-header a:visited,
.pk-nav-desktop a:visited,
.pk-mobile-menu a:visited,
.pk-banner a:visited,
.pk-footer a:visited,
.pk-topbar a:hover,
.pk-header a:hover,
.pk-nav-desktop a:hover,
.pk-mobile-menu a:hover,
.pk-banner a:hover,
.pk-footer a:hover,
.pk-topbar a:active,
.pk-header a:active,
.pk-nav-desktop a:active,
.pk-mobile-menu a:active,
.pk-banner a:active,
.pk-footer a:active,
.pk-topbar a:focus,
.pk-header a:focus,
.pk-nav-desktop a:focus,
.pk-mobile-menu a:focus,
.pk-banner a:focus,
.pk-footer a:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Desktop navigation links */
.pk-nav-link,
.pk-nav-link:link,
.pk-nav-link:visited,
.pk-nav-link:hover,
.pk-nav-link:active,
.pk-nav-link:focus,
.pk-nav-link.pk-nav-link--active {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Mobile navigation links */
.pk-mobile-link,
.pk-mobile-link:link,
.pk-mobile-link:visited,
.pk-mobile-link:hover,
.pk-mobile-link:active,
.pk-mobile-link:focus,
.pk-mobile-link.active {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Logo link */
.pk-logo,
.pk-logo:link,
.pk-logo:visited,
.pk-logo:hover,
.pk-logo:active,
.pk-logo:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Topbar hotline */
.pk-topbar-hotline,
.pk-topbar-hotline:link,
.pk-topbar-hotline:visited,
.pk-topbar-hotline:hover,
.pk-topbar-hotline:active,
.pk-topbar-hotline:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* All call buttons */
.pk-call-btn,
.pk-call-btn:link,
.pk-call-btn:visited,
.pk-call-btn:hover,
.pk-call-btn:active,
.pk-call-btn:focus,
.pk-mobile-call,
.pk-mobile-call:link,
.pk-mobile-call:visited,
.pk-mobile-call:hover,
.pk-mobile-call:active,
.pk-mobile-call:focus,
.pk-float-btn,
.pk-float-btn:link,
.pk-float-btn:visited,
.pk-float-btn:hover,
.pk-float-btn:active,
.pk-float-btn:focus,
.pk-footer-call-btn,
.pk-footer-call-btn:link,
.pk-footer-call-btn:visited,
.pk-footer-call-btn:hover,
.pk-footer-call-btn:active,
.pk-footer-call-btn:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Banner CTA */
.pk-banner-cta,
.pk-banner-cta:link,
.pk-banner-cta:visited,
.pk-banner-cta:hover,
.pk-banner-cta:active,
.pk-banner-cta:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Footer links */
.pk-footer-links a,
.pk-footer-links a:link,
.pk-footer-links a:visited,
.pk-footer-links a:hover,
.pk-footer-links a:active,
.pk-footer-links a:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    -webkit-text-decoration: none !important;
}

/* Login page */
.login-container {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.login-card {
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

/* Sidebar active link */
.rz-panel-menu .rz-navigation-item-active {
    font-weight: 600;
}

/* Smooth page transitions */
.container-fluid {
    animation: fadeIn 0.2s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===========================================
   PUBLIC LAYOUT DESIGN FIXES
   Override scoped CSS for consistent rendering
   =========================================== */

/* Logo - Make it larger and more prominent */
.pk-logo-brand {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #4A7FB8 !important;
    letter-spacing: -0.5px !important;
}

.pk-logo-sub {
    font-size: 0.7rem !important;
    color: #666 !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Menu text - Remove uppercase, use normal case for better readability */
.pk-nav-link {
    text-transform: none !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #169dd3;
}

/* Icon alignment - Perfect vertical center with text */
.pk-nav-link-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.15rem !important;
    color: #4A7FB8 !important;
    opacity: 0.7 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    margin-top: -2px !important;
}

/* Ensure NavLink renders properly */
.pk-nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.6rem 1rem !important;
}

/* Mobile menu icon alignment */
.pk-mobile-link-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    font-size: 1.1rem !important;
    color: #5D8FC0 !important;
    margin-top: 0 !important;
    line-height: 1 !important;
}

/* Force mobile menu links to always be full-width rows (override Blazor scoping) */
.pk-mobile-menu .container-xl {
    display: flex !important;
    flex-direction: column !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.pk-mobile-link {
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0.75rem 0;
    color: #1565c0;
}
