/* ==============================================
   SEO Domination V4 — Styles
   APPEND-ONLY. Never modifies existing CSS files.
   ============================================== */

/* --- Shared --- */
.seo-domination-boost,
.seo-domination-snippets,
.seo-domination-authority {
    margin: 1.5rem 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #2d3748;
    line-height: 1.6;
}

.seo-dom-heading {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1a202c;
    margin: 0 0 0.75rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #e2e8f0;
}

.seo-dom-subheading {
    font-size: 1rem;
    font-weight: 600;
    color: #2d3748;
    margin: 1rem 0 0.5rem;
}

/* --- Comparison Table (Boost) --- */
.seo-dom-table-wrap {
    overflow-x: auto;
    margin: 0.5rem 0 1rem;
}

.seo-dom-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.seo-dom-table th {
    background: #f7fafc;
    padding: 0.6rem 0.8rem;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #e2e8f0;
    color: #4a5568;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.seo-dom-table td {
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid #edf2f7;
}

.seo-dom-table tr:last-child td {
    border-bottom: none;
}

.seo-dom-highlight td {
    background: #ebf8ff;
    font-weight: 600;
}

/* --- Depth Content (Boost) --- */
.seo-dom-depth {
    margin: 1rem 0;
}

.seo-dom-depth-p {
    margin: 0 0 0.6rem;
    font-size: 0.93rem;
    color: #4a5568;
}

/* --- Badges (Boost signals) --- */
.seo-dom-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0;
}

.seo-dom-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.7rem;
    border-radius: 1rem;
    font-size: 0.8rem;
    font-weight: 500;
}

.seo-dom-badge--data {
    background: #ebf8ff;
    color: #2b6cb0;
}

.seo-dom-badge--trust {
    background: #f0fff4;
    color: #276749;
}

.seo-dom-badge--default {
    background: #f7fafc;
    color: #4a5568;
}

/* --- Internal Links (Boost) --- */
.seo-dom-link-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0;
}

.seo-dom-link-list li {
    margin: 0.3rem 0;
}

.seo-dom-link-list a {
    color: #3182ce;
    text-decoration: none;
    font-size: 0.9rem;
}

.seo-dom-link-list a:hover {
    text-decoration: underline;
}

/* --- Snippet Blocks --- */
.seo-dom-snippet {
    margin: 1.25rem 0;
    padding: 1rem 1.2rem;
    border-left: 3px solid #e2e8f0;
    background: #f7fafc;
    border-radius: 0 0.5rem 0.5rem 0;
}

.seo-dom-snippet--definition {
    border-left-color: #3182ce;
}

.seo-dom-snippet--howto {
    border-left-color: #38a169;
}

.seo-dom-snippet--table {
    border-left-color: #d69e2e;
    background: transparent;
    padding: 0.75rem 0;
    border-left: none;
}

.seo-dom-snippet--summary {
    border-left-color: #805ad5;
}

.seo-dom-snippet--checklist {
    border-left-color: #dd6b20;
}

.seo-dom-snippet-heading {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1a202c;
    margin: 0 0 0.5rem;
}

.seo-dom-snippet-answer {
    font-size: 0.93rem;
    color: #4a5568;
    margin: 0;
}

/* --- How-to Steps --- */
.seo-dom-steps {
    padding-left: 1.2rem;
    margin: 0.5rem 0;
}

.seo-dom-step {
    margin: 0.4rem 0;
    font-size: 0.9rem;
    color: #4a5568;
}

/* --- Checklist --- */
.seo-dom-checklist {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0;
}

.seo-dom-check-item {
    margin: 0.3rem 0;
    font-size: 0.9rem;
    color: #4a5568;
    padding-left: 0.3rem;
}

/* --- Authority Trust Badges --- */
.seo-dom-trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 0;
}

.seo-dom-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.8rem;
    border-radius: 1rem;
    font-size: 0.82rem;
    font-weight: 500;
}

.seo-dom-trust-badge--strong {
    background: #c6f6d5;
    color: #22543d;
}

.seo-dom-trust-badge--moderate {
    background: #fefcbf;
    color: #744210;
}

.seo-dom-trust-icon {
    width: 14px;
    height: 14px;
    display: inline-block;
}

/* --- Social Proof / Stars --- */
.seo-dom-social-proof {
    margin: 0.75rem 0;
}

.seo-dom-stars {
    display: flex;
    align-items: center;
    gap: 0.15rem;
}

.seo-dom-star {
    font-size: 1.1rem;
}

.seo-dom-star--full {
    color: #d69e2e;
}

.seo-dom-star--half {
    color: #d69e2e;
    opacity: 0.6;
}

.seo-dom-star--empty {
    color: #cbd5e0;
}

.seo-dom-rating-text {
    margin-left: 0.5rem;
    font-size: 0.88rem;
    color: #4a5568;
    font-weight: 500;
}

/* --- Freshness --- */
.seo-dom-freshness {
    margin: 0.5rem 0;
    padding: 0.4rem 0.75rem;
    border-radius: 0.4rem;
    font-size: 0.85rem;
}

.seo-dom-freshness--fresh {
    background: #f0fff4;
    color: #276749;
}

.seo-dom-freshness--recent {
    background: #fffff0;
    color: #744210;
}

.seo-dom-freshness--stale {
    background: #fff5f5;
    color: #9b2c2c;
}

/* --- E-E-A-T --- */
.seo-dom-eeat {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 0;
}

.seo-dom-eeat-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.7rem;
    border-radius: 0.35rem;
    font-size: 0.82rem;
}

.seo-dom-eeat-item--strong {
    background: #ebf8ff;
    color: #2b6cb0;
}

.seo-dom-eeat-item--confirmed {
    background: #f0fff4;
    color: #276749;
}

.seo-dom-eeat-item--moderate {
    background: #fefcbf;
    color: #744210;
}

.seo-dom-eeat-dim {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
}

.seo-dom-eeat-signal {
    font-weight: 400;
}

/* --- Data Badge --- */
.seo-dom-data-badge {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 1rem;
    margin: 0.75rem 0;
    padding: 0.5rem 0.8rem;
    background: #f7fafc;
    border-radius: 0.4rem;
    font-size: 0.82rem;
    color: #718096;
}

.seo-dom-data-source {
    font-weight: 600;
    color: #4a5568;
}

/* --- Responsive --- */
@media (max-width: 640px) {
    .seo-dom-snippet {
        padding: 0.75rem 0.8rem;
    }

    .seo-dom-trust-badges,
    .seo-dom-badges,
    .seo-dom-eeat {
        gap: 0.35rem;
    }

    .seo-dom-table th,
    .seo-dom-table td {
        padding: 0.4rem 0.5rem;
        font-size: 0.82rem;
    }
}
