/* ======================================================== */
/* FILE: css/policy.css (Clean, World-Class Legal UI)       */
/* ======================================================== */

:root {
    --sc-primary: #007bff;
    --sc-primary-hover: #0056b3;
    --sc-text-main: #4a5568;
    --sc-text-heading: #1a202c;
    --sc-bg-light: #f8f9fa;
    --sc-white: #ffffff;
    --sc-border: #e2e8f0;
    --sc-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* Page Layout Defaults */
.sc-inner-page {
    background-color: var(--sc-bg-light);
    padding-bottom: 80px;
}

.sc-bg-light { background-color: var(--sc-bg-light); }
.sc-text-primary { color: var(--sc-primary); }
.sc-text-center { text-align: center; }

/* Hero Section */
.sc-legal-hero {
    padding: 60px 20px 40px;
    background: var(--sc-white);
    border-bottom: 1px solid var(--sc-border);
}

.sc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 123, 255, 0.1);
    color: var(--sc-primary);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
    border: 1px solid rgba(0, 123, 255, 0.2);
}

.sc-page-title {
    font-size: 42px;
    font-weight: 700;
    color: var(--sc-text-heading);
    margin-bottom: 10px;
    line-height: 1.2;
}

.sc-page-subtitle {
    font-size: 16px;
    color: var(--sc-text-main);
    max-width: 600px;
    margin: 0 auto;
}

/* ================= CENTRAL LEGAL CONTAINER ================= */
.sc-legal-content-section {
    padding-top: 50px;
}

/* Max-width 850px is the golden standard for reading legal docs */
.sc-legal-container {
    max-width: 850px;
    margin: 0 auto;
    padding: 0 20px;
}

.sc-legal-card {
    background: var(--sc-white);
    padding: 60px 70px;
    border-radius: 12px;
    box-shadow: var(--sc-shadow);
    border: 1px solid var(--sc-border);
    overflow: hidden; /* Added: Ensures no content breaks out of the card */
}

.sc-divider {
    height: 1px;
    background: var(--sc-border);
    margin: 60px 0;
}

/* ================= TYPOGRAPHY & SPACING ================= */
.sc-legal-document {
    margin-bottom: 20px;
}

.sc-document-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--sc-text-heading);
    margin-bottom: 8px;
    line-height: 1.3;
}

.sc-effective-date {
    display: inline-block;
    color: var(--sc-primary);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 35px;
    background: rgba(0, 123, 255, 0.1);
    padding: 6px 14px;
    border-radius: 6px;
}

.sc-legal-heading {
    font-size: 20px;
    font-weight: 600;
    color: var(--sc-text-heading);
    margin-top: 45px;
    margin-bottom: 15px;
}

.sc-legal-text {
    font-size: 16px;
    line-height: 1.8;
    color: var(--sc-text-main);
    margin-bottom: 15px;
}

.sc-legal-card strong {
    color: var(--sc-text-heading);
    font-weight: 600;
}

/* ================= CRITICAL FIX: EMBEDDED LINKS OVERFLOW & VISIBILITY ================= */
.sc-legal-link {
    color: var(--sc-primary) !important; /* Force Blue Color */
    text-decoration: underline !important; /* Force Underline */
    font-weight: 500;
    word-break: break-all; /* Forces long URLs to break before exiting container */
    overflow-wrap: break-word; /* Modern fallback for wrapping */
    display: inline; /* Keep inline flow */
}

.sc-legal-link:hover {
    color: var(--sc-primary-hover) !important;
}

/* Bullet Points Styling */
.sc-legal-list {
    margin: 15px 0 25px 25px;
    list-style-type: disc;
}

.sc-legal-list li {
    font-size: 16px;
    line-height: 1.8;
    color: var(--sc-text-main);
    margin-bottom: 10px;
    word-break: break-word; /* Added for extra safety on list items */
    overflow-wrap: anywhere;
}

.sc-legal-list li::marker {
    color: var(--sc-primary);
}

/* Contact List */
.sc-legal-contact {
    margin-top: 15px;
    list-style: none;
}

.sc-legal-contact li {
    font-size: 16px;
    color: var(--sc-text-main);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sc-legal-contact i {
    color: var(--sc-primary);
    font-size: 18px;
}

/* ================= 1000% MOBILE FRIENDLY FIXES ================= */
@media (max-width: 768px) {
    .sc-page-title {
        font-size: 28px; /* Slightly reduced for mobile */
    }
    
    .sc-legal-container {
        padding: 0 15px; /* Ensures outer spacing from screen edge */
    }

    .sc-legal-card {
        padding: 30px 20px; /* Reduced internal padding to maximize screen space */
        border-radius: 12px;
    }
    
    .sc-document-title {
        font-size: 24px;
    }

    .sc-legal-heading {
        font-size: 18px;
        margin-top: 35px;
    }

    .sc-legal-text, .sc-legal-list li, .sc-legal-contact li {
        font-size: 15px;
        line-height: 1.6;
    }
    
    .sc-legal-list {
        margin-left: 15px; /* Pull bullets closer to text edge */
        padding-left: 0;
    }
}