/**
 * OnesuiteSEO Content Blueprint Styles
 *
 * Styles for AI-generated content elements: quick answer boxes,
 * stat cards, callout boxes, CTA sections, FAQ sections, and data tables.
 * Loaded on all frontend pages so generated content renders properly.
 */

/* ── Quick Answer Box ─────────────────────────────────── */
.quick-answer {
    background: #f8f9fa;
    border-left: 4px solid #b87333;
    padding: 1.5em;
    margin: 1.5em 0;
    border-radius: 0 8px 8px 0;
    font-size: 1.05em;
    line-height: 1.7;
}
.quick-answer strong {
    color: #1a1a1a;
}
.quick-answer p {
    margin: 0.3em 0;
}

/* ── Stat Cards Grid ──────────────────────────────────── */
.stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.2em;
    margin: 2em 0;
}
.stat-card {
    background: #f8f9fa;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 1.5em;
    text-align: center;
    transition: box-shadow 0.2s;
}
.stat-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.stat-number {
    font-size: 1.8em;
    font-weight: 800;
    color: #b87333;
    margin: 0;
    line-height: 1.2;
}
.stat-label {
    font-size: 0.9em;
    color: #666;
    margin-top: 0.3em;
}

/* ── Callout Boxes ────────────────────────────────────── */
.callout-box {
    padding: 1.2em 1.5em;
    margin: 1.5em 0;
    border-radius: 8px;
}
.callout-box h4 {
    margin-top: 0;
    margin-bottom: 0.4em;
    color: #1a1a1a;
    font-size: 1.05em;
}
.callout-box p {
    margin: 0.4em 0 0 0;
    line-height: 1.6;
}
.callout-box.pro-tip {
    background: #f0fdf4;
    border-left: 4px solid #16a34a;
}
.callout-box.pro-tip h4 {
    color: #15803d;
}
.callout-box.warning {
    background: #fef2f2;
    border-left: 4px solid #dc2626;
}
.callout-box.warning h4 {
    color: #b91c1c;
}

/* ── CTA Sections ─────────────────────────────────────── */
.cta-section {
    background: linear-gradient(135deg, #b87333, #8b5a2a);
    color: #fff;
    padding: 2.5em;
    border-radius: 10px;
    text-align: center;
    margin: 2em 0;
}
.cta-section h3 {
    color: #fff;
    margin-top: 0;
    font-size: 1.4em;
}
.cta-section p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05em;
    max-width: 600px;
    margin: 0.5em auto;
}
.cta-button,
.cta-section a {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    color: #fff !important;
    padding: 12px 28px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none !important;
    margin-top: 1em;
    transition: background 0.2s;
}
.cta-button:hover,
.cta-section a:hover {
    background: rgba(255, 255, 255, 0.3);
    text-decoration: none !important;
}

/* ── FAQ Section ──────────────────────────────────────── */
.faq-section {
    background: #f8f8f8;
    padding: 2em;
    border-radius: 8px;
    margin-top: 2em;
}
.faq-section > h2 {
    margin-top: 0;
    margin-bottom: 1em;
    color: #1a1a1a;
}
.faq-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 1.2em;
    margin-bottom: 1em;
}
.faq-item:last-child {
    margin-bottom: 0;
}
.faq-item h3 {
    color: #b87333;
    margin-top: 0;
    font-size: 1.1em;
    line-height: 1.3;
}
.faq-item p {
    margin: 0.4em 0 0 0;
    font-size: 0.95em;
    color: #555;
    line-height: 1.7;
}

/* ── Data Tables ──────────────────────────────────────── */
.entry-content table,
.post-content table,
article table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    font-size: 0.95em;
}
.entry-content th,
.post-content th,
article th {
    background: #f5f5f5;
    font-weight: 600;
    border-bottom: 2px solid #b87333;
    padding: 10px 14px;
    text-align: left;
    color: #1a1a1a;
}
.entry-content td,
.post-content td,
article td {
    padding: 10px 14px;
    border-bottom: 1px solid #e5e5e5;
}
.entry-content tr:hover,
.post-content tr:hover,
article tr:hover {
    background: #fafafa;
}

/* ── Feature Grid ─────────────────────────────────────── */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5em;
    margin: 1.5em 0;
}
.feature-grid > div {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 1.2em;
}
.feature-grid > div h3 {
    margin-top: 0;
    font-size: 1.05em;
    color: #b87333;
}
.feature-grid > div p {
    margin: 0.5em 0 0 0;
    font-size: 0.95em;
    color: #555;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 600px) {
    .stat-grid {
        grid-template-columns: 1fr 1fr;
    }
    .stat-number {
        font-size: 1.4em;
    }
    .cta-section {
        padding: 1.5em;
    }
    .faq-section {
        padding: 1em;
    }
    .feature-grid {
        grid-template-columns: 1fr;
    }
    .callout-box {
        padding: 1em;
    }
}

@media (max-width: 400px) {
    .stat-grid {
        grid-template-columns: 1fr;
    }
}
