/**
 * NexusPoint Consultants - Fractional Spacing Utilities Patch
 * ---------------------------------------------------------------------------
 * The templates use Bootstrap-style half-step utilities (p-2.5, gap-1.5,
 * fs-7, ...) which do not exist in Bootstrap 5.3 and were silently ignored,
 * collapsing paddings/gaps site-wide. Values follow the Bootstrap scale
 * (x.5 steps sit halfway between x and x+1).
 */
.p-0\.5 { padding: 0.125rem !important; }
.p-1\.5 { padding: 0.375rem !important; }
.p-2\.5 { padding: 0.75rem !important; }
.p-3\.5 { padding: 1.25rem !important; }
.px-0\.5 { padding-left: 0.125rem !important; padding-right: 0.125rem !important; }
.px-1\.5 { padding-left: 0.375rem !important; padding-right: 0.375rem !important; }
.px-2\.5 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.px-3\.5 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
.py-0\.5 { padding-top: 0.125rem !important; padding-bottom: 0.125rem !important; }
.py-1\.5 { padding-top: 0.375rem !important; padding-bottom: 0.375rem !important; }
.py-2\.5 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
.py-3\.5 { padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
.pt-0\.5 { padding-top: 0.125rem !important; }
.pt-1\.5 { padding-top: 0.375rem !important; }
.pt-2\.5 { padding-top: 0.75rem !important; }
.pt-3\.5 { padding-top: 1.25rem !important; }
.pb-2\.5 { padding-bottom: 0.75rem !important; }
.ps-2\.5 { padding-left: 0.75rem !important; }
.pe-2\.5 { padding-right: 0.75rem !important; }
.m-2\.5 { margin: 0.75rem !important; }
.m-3\.2 { margin: 1.25rem !important; }
.mx-2\.5 { margin-left: 0.75rem !important; margin-right: 0.75rem !important; }
.my-2\.5 { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; }
.mt-0\.5 { margin-top: 0.125rem !important; }
.mt-1\.5 { margin-top: 0.375rem !important; }
.mt-2\.5 { margin-top: 0.75rem !important; }
.mt-3\.5 { margin-top: 1.25rem !important; }
.mb-0\.5 { margin-bottom: 0.125rem !important; }
.mb-1\.5 { margin-bottom: 0.375rem !important; }
.mb-2\.5 { margin-bottom: 0.75rem !important; }
.me-0\.5 { margin-right: 0.125rem !important; }
.me-1\.5 { margin-right: 0.375rem !important; }
.ms-1\.5 { margin-left: 0.375rem !important; }
.gap-0\.5 { gap: 0.125rem !important; }
.gap-1\.5 { gap: 0.375rem !important; }
.gap-2\.5 { gap: 0.75rem !important; }
.gap-3\.5 { gap: 1.25rem !important; }
.fs-7 { font-size: 0.875rem !important; }

/* ---------------------------------------------------------------------------
   Apple-style "liquid glass" surface utility.
   Frosted translucency + specular edge highlights. Reads best over imagery,
   gradients or colourful sections rather than flat white backgrounds.
   --------------------------------------------------------------------------- */
.np-liquid-glass {
    position: relative;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-top-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.35), inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    overflow: hidden;
}
.np-liquid-glass::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 90% at 12% -20%, rgba(255, 255, 255, 0.22), transparent 60%);
    pointer-events: none;
}

.np-liquid-glass-dark {
    position: relative;
    background: linear-gradient(145deg, rgba(42, 8, 17, 0.72) 0%, rgba(18, 3, 7, 0.6) 100%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-top-color: rgba(255, 255, 255, 0.32);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.28), inset 0 -1px 0 rgba(255, 255, 255, 0.06);
    overflow: hidden;
}
.np-liquid-glass-dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 90% at 10% -20%, rgba(212, 160, 84, 0.2), transparent 60%);
    pointer-events: none;
}

.np-liquid-glass > *,
.np-liquid-glass-dark > * {
    position: relative;
    z-index: 1;
}

/* ---------------------------------------------------------------------------
   Liquid-glass roll-out to content surfaces over imagery / dark sections
   --------------------------------------------------------------------------- */
.sh-hero-trust-strip > div {
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    backdrop-filter: blur(16px) saturate(160%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), 0 6px 16px rgba(0, 0, 0, 0.16);
}

.footer-newsletter-card {
    background: linear-gradient(135deg, rgba(7, 22, 41, 0.72) 0%, rgba(54, 12, 22, 0.6) 100%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(170%) !important;
    backdrop-filter: blur(18px) saturate(170%) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-top-color: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

.np-safeguard-card {
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    backdrop-filter: blur(18px) saturate(180%);
}

.np-corridor-btn {
    -webkit-backdrop-filter: blur(14px) saturate(160%);
    backdrop-filter: blur(14px) saturate(160%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

/* Graceful fallback where backdrop-filter is unsupported: use solid surfaces
   so nothing turns into an unreadable see-through mess. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    #npB2bBanner .np-b2b-card { background: linear-gradient(135deg, #0C2036 0%, #0F2B48 55%, #081628 100%) !important; }
    #npCookieBanner .np-cookie-card { background: linear-gradient(145deg, #1E060E 0%, #0D0205 100%) !important; }
    .nexus-dock-capsule { background: linear-gradient(145deg, #2A0811 0%, #120307 100%) !important; }
    .np-safeguard-card { background: rgba(24, 4, 10, 0.92) !important; }
    .footer-newsletter-card { background: linear-gradient(135deg, #0B1E36 0%, #360C16 100%) !important; }
    .sh-hero-trust-strip > div { background: rgba(255, 255, 255, 0.14) !important; }
}
