/* ==========================================================================
   LegalIT Content Elements — Universal Dark Theme
   Shared styles for TOC, FAQ, info-boxes, CTA, pros/cons
   Loaded on: single casino, blog posts, pages, taxonomy
   ========================================================================== */

/* --- Table of Contents (TOC) --- */
.legalit-toc {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    padding: 25px 30px;
    margin: 25px 0 35px;
}

.legalit-toc-title {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 0 15px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #2a2a2a !important;
}

.legalit-toc ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    columns: 2;
    column-gap: 30px;
}

.legalit-toc ul li {
    padding: 5px 0 5px 0 !important;
    margin: 0 !important;
    break-inside: avoid;
}

.legalit-toc ul li::before {
    display: none !important;
}

.legalit-toc ul li a {
    color: #8AF924 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    line-height: 1.5;
    border-bottom: none !important;
    transition: color 0.2s;
}

.legalit-toc ul li a:hover {
    color: #a0ff40 !important;
    text-decoration: underline !important;
}

@media (max-width: 600px) {
    .legalit-toc ul { columns: 1; }
}

/* --- FAQ Accordion --- */
.legalit-faq-section {
    margin: 40px 0;
}

.legalit-faq-item {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color 0.3s;
}

.legalit-faq-item.active {
    border-color: #8AF924;
}

.legalit-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 22px;
    cursor: pointer;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    transition: color 0.2s;
    user-select: none;
}

.legalit-faq-question:hover {
    color: #8AF924 !important;
}

.legalit-faq-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-left: 15px;
    position: relative;
}

.legalit-faq-icon::before,
.legalit-faq-icon::after {
    content: '';
    position: absolute;
    background: #8AF924;
    border-radius: 2px;
    transition: transform 0.3s;
}

.legalit-faq-icon::before {
    width: 16px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.legalit-faq-icon::after {
    width: 2px;
    height: 16px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.legalit-faq-item.active .legalit-faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

.legalit-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.legalit-faq-item.active .legalit-faq-answer {
    max-height: 800px;
}

.legalit-faq-answer-inner {
    padding: 0 22px 20px;
    color: #b0b0b0 !important;
    font-size: 15px;
    line-height: 1.75;
}

.legalit-faq-answer-inner p {
    margin-bottom: 10px !important;
    font-size: 15px !important;
    color: #b0b0b0 !important;
}

/* --- Info Box --- */
.info-box {
    background: #1a1f2e;
    border-left: 4px solid #8AF924;
    border-radius: 0 8px 8px 0;
    padding: 20px 25px;
    margin: 25px 0;
}

.info-box p {
    margin-bottom: 8px !important;
    color: #c8c8c8 !important;
}

.info-box p:last-child {
    margin-bottom: 0 !important;
}

.info-box strong {
    color: #8AF924 !important;
}

/* --- Warning Box --- */
.warning-box {
    background: #2a1f1a;
    border-left: 4px solid #ff6b35;
    border-radius: 0 8px 8px 0;
    padding: 20px 25px;
    margin: 25px 0;
}

.warning-box p {
    color: #d4b098 !important;
    margin-bottom: 8px !important;
}

.warning-box p:last-child {
    margin-bottom: 0 !important;
}

.warning-box strong {
    color: #ff6b35 !important;
}

/* --- CTA Box --- */
.cta-box {
    background: linear-gradient(135deg, #1a2a1a 0%, #1a1a2a 100%);
    border: 1px solid #8AF924;
    border-radius: 12px;
    padding: 30px 35px;
    margin: 35px 0;
    text-align: center;
}

.cta-box h3,
.cta-box h4 {
    color: #ffffff !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.cta-box p {
    color: #b0b0b0 !important;
    margin-bottom: 20px !important;
}

.cta-button,
a.cta-button {
    display: inline-block !important;
    background: #8AF924 !important;
    color: #0a0a0a !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    padding: 14px 40px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    border: none !important;
    transition: all 0.25s;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cta-button:hover,
a.cta-button:hover {
    background: #a0ff40 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(138, 249, 36, 0.3);
    color: #0a0a0a !important;
}

/* --- Pros/Cons Grid --- */
.pros-cons-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 25px 0;
}

.pros-box,
.cons-box {
    background: #1a1a1a;
    border-radius: 10px;
    padding: 20px 25px;
    border-top: 3px solid;
}

.pros-box { border-top-color: #8AF924; }
.cons-box { border-top-color: #ff4444; }

.pros-box h4 {
    color: #8AF924 !important;
    margin-top: 0 !important;
    font-size: 16px !important;
}

.cons-box h4 {
    color: #ff4444 !important;
    margin-top: 0 !important;
    font-size: 16px !important;
}

.pros-box ul li::before { background: #8AF924 !important; }
.cons-box ul li::before { background: #ff4444 !important; }

/* --- User Review Block --- */
.user-review {
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    padding: 20px 25px;
    margin: 15px 0;
}

.user-review .review-rating { color: #8AF924; }
.user-review .review-user strong { color: #ffffff; }
.user-review .review-date { color: #666; font-size: 13px; }
.user-review .review-title strong { color: #ffffff; }
.user-review .review-text { color: #c8c8c8; }

/* --- Updated Badge --- */
.legalit-updated-badge {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    margin-bottom: 20px !important;
    font-size: 13px !important;
    color: #888 !important;
}

/* --- Dark theme overrides for single page content area --- */
.space-page-content h2 {
    color: #ffffff !important;
    border-bottom: 2px solid #8AF924 !important;
    padding-bottom: 12px !important;
    margin: 40px 0 20px !important;
}

.space-page-content h3 {
    color: #ffffff !important;
}

.space-page-content h4 {
    color: #8AF924 !important;
}

.space-page-content p {
    color: #c8c8c8 !important;
    line-height: 1.8 !important;
}

.space-page-content a {
    color: #8AF924 !important;
}

.space-page-content a:hover {
    color: #a0ff40 !important;
}

.space-page-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #1a1a1a !important;
    border-radius: 8px !important;
    overflow: hidden;
    margin: 20px 0 !important;
    border: none !important;
}

.space-page-content table thead {
    background: #8AF924 !important;
}

.space-page-content table thead th {
    color: #0a0a0a !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
    background: #8AF924 !important;
    border: none !important;
}

.space-page-content table tbody tr {
    border-bottom: 1px solid #2a2a2a !important;
    background: #1a1a1a !important;
}

.space-page-content table tbody td {
    padding: 12px 16px !important;
    color: #c8c8c8 !important;
    border: none !important;
    border-bottom: 1px solid #2a2a2a !important;
}

.space-page-content table tbody td strong {
    color: #ffffff !important;
}

.space-page-content table tbody tr:hover {
    background: #222222 !important;
}

.space-page-content ul li {
    color: #c8c8c8 !important;
}

.space-page-content ol li {
    color: #c8c8c8 !important;
}

.space-page-content li strong {
    color: #ffffff !important;
}

.space-page-content blockquote {
    border-left: 4px solid #8AF924 !important;
    background: #1a1a1a !important;
    padding: 15px 25px !important;
    margin: 20px 0 !important;
    color: #d0d0d0 !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .pros-cons-grid { grid-template-columns: 1fr; }
    .cta-box { padding: 25px 20px; }
    .legalit-faq-question { font-size: 15px; padding: 15px 18px; }
}
