/* ═══════════════════════════════════════════
   PRIVACY POLICY - CUSTOM STYLES
   ═══════════════════════════════════════════ */

/* Reset & Global Overflow Fixes */
html,
body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    position: relative;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

/* Material Symbols configuration */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Decorative Glow Orbs */
.glow-orb {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37, 99, 255, 0.12) 0%, rgba(17, 19, 28, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

/* Base Body Styles */
body {
    font-family: 'Outfit', sans-serif;
    line-height: 1.6;
}

/* ═══════════════════════════════════════════
   RESPONSIVITY & FLUID TYPOGRAPHY
   ═══════════════════════════════════════════ */

/* Fluid Typography using clamp() - Precision scaling */
.text-h1 {
    font-size: clamp(1.75rem, 8vw, 4.5rem) !important; /* 28px to 72px */
    line-height: 1.1 !important;
    word-break: break-word;
}

.text-h2 {
    font-size: clamp(1.5rem, 6vw, 3rem) !important; /* 24px to 48px */
    line-height: 1.2 !important;
    word-break: break-word;
}

.text-h3 {
    font-size: clamp(1.1rem, 4vw, 2rem) !important; /* 17.6px to 32px */
    line-height: 1.3 !important;
}

/* Mobile Adjustments (Tablet & Down) */
@media (max-width: 1024px) {
    .glow-orb {
        width: 300px;
        height: 300px;
        opacity: 0.5;
    }
}

@media (max-width: 768px) {
    header {
        padding: 1.25rem 1.25rem !important;
    }

    main {
        padding-top: 2rem !important;
        padding-bottom: 3rem !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    /* Reduce canvas padding on mobile */
    .p-8,
    .p-12,
    .md\:p-12 {
        padding: 1.5rem !important;
    }

    .space-y-12 > :not([hidden]) ~ :not([hidden]) {
        margin-top: 2rem !important;
    }
}

@media (max-width: 480px) {
    header {
        padding: 1rem !important;
    }
    
    main {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Further padding reduction for the smallest screens */
    .p-8,
    .p-12,
    .md\:p-12 {
        padding: 1rem !important;
    }

    /* Hide decorative elements on very small screens to prevent layout shift */
    .glow-orb {
        display: none !important;
    }

    /* Hero heading spacing */
    h1 span.block {
        margin-bottom: 0.25rem;
        line-height: 1.3 !important;
    }

    /* Ensure list items don't push the container */
    ul, ol {
        padding-left: 1rem !important;
    }
    
    /* Force grid to stack correctly */
    .grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
    }
}

/* Custom transitions and glassmorphism refinements */
.backdrop-blur-xl {
    transition: backdrop-filter 0.3s ease;
    -webkit-backdrop-filter: blur(20px);
}

/* Selection color */
::selection {
    background: rgba(182, 196, 255, 0.3);
    color: #fff;
}