/* Use-case hub and detail pages (/use-cases, /use-cases/<slug>). */

.uc-page { max-width: 1080px; margin: 0 auto; padding: 0 1.25rem 4rem; }
.uc-crumbs { margin: 1.5rem 0 0; font-size: 0.875rem; color: #64748b; display: flex; gap: 0.45rem; flex-wrap: wrap; }
.uc-crumbs a { color: #64748b; }

.uc-hero { text-align: center; padding: 3rem 0 2.25rem; }
.uc-hero-left { text-align: left; max-width: 760px; padding-bottom: 1.5rem; }
.uc-kicker { display: inline-flex; align-items: center; gap: 0.5rem; background: #dbeafe; color: #1d4ed8; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 999px; padding: 0.35rem 0.9rem; margin-bottom: 1rem; }
.uc-kicker-icon .uc-icon { width: 1.4rem; height: 1.4rem; border-radius: 6px; }
.uc-kicker-icon .uc-icon svg { width: 14px; height: 14px; }
.uc-hero h1 { font-size: 2.5rem; line-height: 1.12; margin: 0 0 1rem; color: #0f172a; letter-spacing: -0.02em; }
.uc-lede { max-width: 700px; margin: 0 auto; font-size: 1.1rem; line-height: 1.65; color: #475569; }
.uc-hero-left .uc-lede { margin: 0 0 1.5rem; }
.uc-hero-ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* Persona grid */
.uc-grid { list-style: none; margin: 0 0 3rem; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.uc-grid-compact { grid-template-columns: repeat(3, 1fr); margin-bottom: 1rem; }
.uc-card a { display: flex; gap: 1rem; align-items: flex-start; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.2rem 1.25rem; height: 100%; color: inherit; text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s; }
.uc-card a:hover { border-color: #93c5fd; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.08); transform: translateY(-1px); text-decoration: none; }
.uc-icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: #eff6ff; color: #2563eb; }
.uc-icon-flame { background: #fff7ed; color: #ea580c; }
.uc-icon-sparkles { background: #f5f3ff; color: #7c3aed; }
.uc-icon-search { background: #fff7ed; color: #ea580c; }
.uc-icon-dollar { background: #ecfdf5; color: #059669; }
.uc-icon-layers { background: #f0fdfa; color: #0d9488; }
.uc-card-body { display: flex; flex-direction: column; gap: 0.25rem; }
.uc-card-title { font-weight: 700; font-size: 1.05rem; color: #0f172a; letter-spacing: -0.01em; }
.uc-card-teaser { font-size: 0.92rem; line-height: 1.5; color: #475569; }
.uc-card-more { margin-top: 0.35rem; font-size: 0.85rem; font-weight: 600; color: #2563eb; }

/* Products band on the hub */
.uc-products { margin: 0 0 3rem; }
.uc-products h2, .uc-section h2 { font-size: 1.6rem; margin: 0 0 0.4rem; color: #0f172a; letter-spacing: -0.01em; }
.uc-products-lede { color: #475569; margin: 0 0 1.25rem; }
.uc-products-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.uc-product { display: flex; flex-direction: column; gap: 0.3rem; background: #fff; border: 1px solid #e2e8f0; border-top-width: 4px; border-radius: 14px; padding: 1.1rem 1.1rem 1.2rem; color: inherit; text-decoration: none; transition: box-shadow 0.15s; }
.uc-product:hover { box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08); text-decoration: none; }
.uc-product.sb { border-top-color: #2563eb; }
.uc-product.pb { border-top-color: #ea580c; }
.uc-product.shop { border-top-color: #0d9488; }
.uc-product.rev { border-top-color: #7c3aed; }
.uc-product-q { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #64748b; }
.uc-product.sb .uc-product-q { color: #2563eb; }
.uc-product.pb .uc-product-q { color: #ea580c; }
.uc-product.shop .uc-product-q { color: #0d9488; }
.uc-product.rev .uc-product-q { color: #7c3aed; }
.uc-product-name { font-weight: 700; font-size: 1.1rem; color: #0f172a; }
.uc-product-desc { font-size: 0.9rem; line-height: 1.5; color: #475569; }

/* Detail sections */
.uc-section { margin: 2.5rem 0; }
.uc-pains ul { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.uc-pains blockquote { margin: 0; background: #f8fafc; border-left: 3px solid #2563eb; border-radius: 0 10px 10px 0; padding: 1rem 1.1rem; font-size: 1rem; line-height: 1.5; color: #334155; font-style: italic; }
.uc-how { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1rem; }
.uc-how-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 1.2rem 1.25rem; display: flex; flex-direction: column; }
.uc-how-card h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: #0f172a; letter-spacing: -0.01em; }
.uc-how-card p { margin: 0 0 0.75rem; font-size: 0.93rem; line-height: 1.6; color: #475569; flex: 1; }
.uc-how-link { font-size: 0.88rem; font-weight: 600; color: #2563eb; }
.uc-plan-box { background: #0f172a; color: #e2e8f0; border-radius: 16px; padding: 1.75rem 2rem; }
.uc-plan-label { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #93c5fd; margin-bottom: 0.4rem; }
.uc-plan-box h2 { color: #fff; font-size: 1.4rem; margin: 0 0 0.5rem; }
.uc-plan-box p { color: #cbd5e1; line-height: 1.6; margin: 0 0 0.75rem; max-width: 720px; }
.uc-plan-box .uc-how-link { color: #bfdbfe; }
.uc-tools { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.9rem; }
.uc-tool { display: inline-block; background: #fff; border: 1px solid #e2e8f0; border-radius: 999px; padding: 0.5rem 1rem; font-size: 0.9rem; font-weight: 600; color: #0f172a; text-decoration: none; }
.uc-tool:hover { border-color: #93c5fd; color: #1d4ed8; text-decoration: none; }
.uc-faq details { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 0.9rem 1.2rem; margin-top: 0.7rem; }
.uc-faq summary { cursor: pointer; font-weight: 650; color: #0f172a; }
.uc-faq p { margin: 0.6rem 0 0; color: #475569; line-height: 1.6; font-size: 0.95rem; }

.uc-final { text-align: center; background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 100%); border-radius: 18px; padding: 2.5rem 1.5rem; margin-top: 3rem; }
.uc-final h2 { font-size: 1.7rem; margin: 0 0 0.5rem; color: #0f172a; letter-spacing: -0.01em; }
.uc-final p { color: #475569; margin: 0 0 1.25rem; }
.uc-final-ctas { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

@media (max-width: 900px) {
    .uc-products-grid, .uc-pains ul, .uc-grid-compact { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .uc-hero h1 { font-size: 1.9rem; }
    .uc-grid, .uc-grid-compact, .uc-products-grid, .uc-pains ul, .uc-how { grid-template-columns: 1fr; }
    .uc-plan-box { padding: 1.4rem 1.25rem; }
}

/* Dark mode */
[data-theme="dark"] .uc-hero h1, [data-theme="dark"] .uc-products h2, [data-theme="dark"] .uc-section h2, [data-theme="dark"] .uc-card-title, [data-theme="dark"] .uc-product-name, [data-theme="dark"] .uc-how-card h3, [data-theme="dark"] .uc-faq summary, [data-theme="dark"] .uc-final h2, [data-theme="dark"] .uc-tool { color: #f1f5f9; }
[data-theme="dark"] .uc-card a, [data-theme="dark"] .uc-product, [data-theme="dark"] .uc-how-card, [data-theme="dark"] .uc-faq details, [data-theme="dark"] .uc-tool { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .uc-pains blockquote { background: #1e293b; color: #e2e8f0; }
[data-theme="dark"] .uc-final { background: #1e293b; }
[data-theme="dark"] .uc-kicker { background: #1e3a8a; color: #bfdbfe; }
[data-theme="dark"] .uc-icon { background: #1e3a8a; color: #bfdbfe; }
[data-theme="dark"] .uc-lede, [data-theme="dark"] .uc-card-teaser, [data-theme="dark"] .uc-product-desc, [data-theme="dark"] .uc-how-card p, [data-theme="dark"] .uc-faq p, [data-theme="dark"] .uc-final p, [data-theme="dark"] .uc-products-lede { color: #cbd5e1; }
