/* ==========================================================================
   DevPlay — styles for legal / long-form text pages
   (privacy policy, terms of service, contacts)
   ========================================================================== */

.legal-section {
    padding: 70px 0 90px;
}

.legal-wrap {
    background: #ffffff;
    border: 1px solid #e6edf7;
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(43, 58, 102, .06);
    padding: 45px 50px 55px;
}

.legal-meta {
    border-left: 4px solid #0160e7;
    background: #f2f8ff;
    border-radius: 0 8px 8px 0;
    padding: 18px 22px;
    margin-bottom: 35px;
}

.legal-meta p {
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 1.7;
    color: #2b3a66;
}

.legal-meta p:last-child { margin-bottom: 0; }

.legal-content h2 {
    font-size: 26px;
    line-height: 1.35;
    color: #2b3a66;
    font-weight: 700;
    margin: 45px 0 16px;
    padding-top: 6px;
}

.legal-content h2:first-child { margin-top: 0; }

.legal-content h3 {
    font-size: 20px;
    line-height: 1.4;
    color: #2b3a66;
    font-weight: 700;
    margin: 30px 0 12px;
}

.legal-content h4 {
    font-size: 17px;
    line-height: 1.45;
    color: #2b3a66;
    font-weight: 600;
    margin: 24px 0 10px;
}

.legal-content p {
    font-size: 16px;
    line-height: 1.85;
    color: #5a6b8c;
    margin-bottom: 16px;
}

.legal-content ul,
.legal-content ol {
    margin: 0 0 20px;
    padding-left: 22px;
}

.legal-content ul li,
.legal-content ol li {
    font-size: 16px;
    line-height: 1.85;
    color: #5a6b8c;
    margin-bottom: 9px;
    list-style: inherit;
}

.legal-content ul { list-style: disc outside; }
.legal-content ol { list-style: decimal outside; }

.legal-content a {
    color: #0160e7;
    text-decoration: underline;
    word-break: break-word;
}

.legal-content a:hover { color: #0039e4; }

.legal-content strong { color: #2b3a66; font-weight: 600; }

.legal-highlight {
    background: #fff6f2;
    border: 1px solid #ffd9c9;
    border-left: 4px solid #fe4c1c;
    border-radius: 0 8px 8px 0;
    padding: 22px 26px;
    margin: 26px 0 30px;
}

.legal-highlight p:last-child,
.legal-highlight ul:last-child { margin-bottom: 0; }

.legal-note {
    background: #f2f8ff;
    border: 1px solid #d9e8ff;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 24px 0 28px;
}

.legal-note p:last-child,
.legal-note ul:last-child { margin-bottom: 0; }

/* Table of contents */
.legal-toc {
    background: #f7faff;
    border: 1px solid #e0ebfa;
    border-radius: 10px;
    padding: 26px 30px 20px;
    margin-bottom: 45px;
}

.legal-toc h3 {
    margin: 0 0 14px;
    font-size: 18px;
    color: #2b3a66;
}

.legal-toc ol {
    margin: 0;
    padding-left: 20px;
    columns: 2;
    column-gap: 36px;
}

.legal-toc ol li {
    margin-bottom: 7px;
    font-size: 15px;
    line-height: 1.6;
    break-inside: avoid;
}

.legal-toc a { text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }

/* Tables */
.legal-table-wrap {
    overflow-x: auto;
    margin: 0 0 28px;
    -webkit-overflow-scrolling: touch;
}

.legal-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    font-size: 15px;
}

.legal-table th,
.legal-table td {
    border: 1px solid #e2eaf6;
    padding: 12px 15px;
    text-align: left;
    vertical-align: top;
    line-height: 1.7;
    color: #5a6b8c;
}

.legal-table th {
    background: #f2f8ff;
    color: #2b3a66;
    font-weight: 600;
    white-space: nowrap;
}

/* Anchor offset so headings are not hidden behind sticky header */
.legal-content h2[id],
.legal-content h3[id] {
    scroll-margin-top: 110px;
}

/* Contact form status messages */
.form-alert {
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.7;
}

.form-alert-success {
    background: #eefaf3;
    border: 1px solid #b9e7cd;
    color: #1c7a4a;
}

.form-alert-error {
    background: #fff2f0;
    border: 1px solid #ffcfc6;
    color: #c0341a;
}

.form-alert p { margin: 0; color: inherit; }

.form-consent {
    display: block;
    font-size: 14px;
    line-height: 1.7;
    color: #5a6b8c;
    margin: 4px 0 22px;
    cursor: pointer;
}

.form-consent input[type="checkbox"] {
    width: auto;
    height: auto;
    margin: 0 8px 0 0;
    vertical-align: baseline;
}

.form-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

@media (max-width: 991px) {
    .legal-wrap { padding: 32px 26px 40px; }
    .legal-toc ol { columns: 1; }
    .legal-content h2 { font-size: 23px; }
}

@media (max-width: 575px) {
    .legal-section { padding: 45px 0 60px; }
    .legal-wrap { padding: 24px 18px 30px; border-radius: 10px; }
    .legal-content p,
    .legal-content ul li,
    .legal-content ol li { font-size: 15px; }
}
