/**
 * T&C Manager Frontend Styles
 * Applied to [terms_and_conditions] shortcode output.
 */

.tcm-content {
    max-width: 100%;
    line-height: 1.8;
    color: #1a1a1a;
    font-size: 16px;
}

/* Version meta line */
.tcm-version-meta {
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e5e5;
    color: #6b7280;
}

.tcm-version-meta small {
    font-size: 13px;
    letter-spacing: 0.02em;
}

/* Headings within T&C content */
.tcm-content h1 {
    font-size: 1.75em;
    margin: 1.5em 0 0.75em;
    font-weight: 700;
}

.tcm-content h2 {
    font-size: 1.4em;
    margin: 1.25em 0 0.5em;
    font-weight: 700;
}

.tcm-content h3 {
    font-size: 1.15em;
    margin: 1em 0 0.4em;
    font-weight: 600;
}

.tcm-content h4,
.tcm-content h5,
.tcm-content h6 {
    font-size: 1em;
    margin: 0.75em 0 0.3em;
    font-weight: 600;
}

/* Paragraphs */
.tcm-content p {
    margin: 0.75em 0;
}

/* Lists - general */
.tcm-content ul,
.tcm-content ol {
    margin: 0.5em 0 0.5em 1.5em;
    padding: 0;
}

.tcm-content li {
    margin: 0.3em 0;
    padding-left: 0.25em;
}

/* Nested lists get slightly tighter spacing */
.tcm-content li ul,
.tcm-content li ol {
    margin: 0.25em 0 0.25em 1.5em;
}

/* Ordered list type-specific left padding for alignment */
.tcm-content ol[type="I"],
.tcm-content ol[type="i"] {
    margin-left: 2em;
}

/* Tables */
.tcm-content table.tcm-table {
    border-collapse: collapse;
    width: 100%;
    margin: 1.25em 0;
    font-size: 0.95em;
}

.tcm-content table.tcm-table th,
.tcm-content table.tcm-table td {
    border: 1px solid #d1d5db;
    padding: 10px 14px;
    text-align: left;
    vertical-align: top;
}

.tcm-content table.tcm-table th {
    background-color: #f9fafb;
    font-weight: 600;
}

.tcm-content table.tcm-table tr:nth-child(even) td {
    background-color: #fafafa;
}

/* Links */
.tcm-content a {
    color: inherit;
    text-decoration: underline;
}

.tcm-content a:hover {
    opacity: 0.8;
}

/* Page breaks (shown as separator) */
.tcm-content hr.tcm-page-break {
    border: none;
    border-top: 1px solid #e5e5e5;
    margin: 2em 0;
}

/* Strong + em combo (common in legal definitions) */
.tcm-content strong em,
.tcm-content em strong {
    font-style: italic;
    font-weight: 700;
}

/* Print styles */
@media print {
    .tcm-content {
        font-size: 12pt;
        line-height: 1.6;
        color: #000;
    }

    .tcm-version-meta {
        color: #666;
    }

    .tcm-content a {
        color: #000;
    }

    .tcm-content table.tcm-table th,
    .tcm-content table.tcm-table td {
        border-color: #999;
    }

    .tcm-content hr.tcm-page-break {
        page-break-before: always;
        border: none;
        margin: 0;
    }
}
