/**
 * StackCapybara Core Frontend Styles
 */

 .sc-card {
    --sc-border: #e1e1e1;
    --sc-bg: #ffffff;
    --sc-text: #1a1a1a;
    --sc-muted: #666666;
    --sc-accent: #0073aa;
    --sc-accent-hover: #005177;
    --sc-radius: 8px;
    --sc-padding: 24px;

    border: 1px solid var(--sc-border);
    background: var(--sc-bg);
    color: var(--sc-text);
    border-radius: var(--sc-radius);
    padding: var(--sc-padding);
    margin: 24px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    line-height: 1.5;
    box-sizing: border-box;
}

.sc-card .sc-methodology {
    border-left: 4px solid var(--sc-accent);
    background: #f0f6fb;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.sc-card .sc-methodology h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    color: var(--sc-text);
}

.sc-card .sc-methodology-text {
    font-size: 0.95rem;
    color: var(--sc-text);
}

.sc-card .sc-reviewer {
    font-weight: 600;
    color: var(--sc-muted);
}

.sc-card h3 {
    margin: 0 0 16px 0;
    font-size: 1.25rem;
    color: inherit;
}

.sc-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sc-card li {
    margin-bottom: 8px;
}

.sc-card li:last-child {
    margin-bottom: 0;
}

.sc-card strong {
    color: var(--sc-text);
}

.sc-rating {
    color: #e67e22;
    font-weight: 700;
    margin: 8px 0 16px 0;
}

.sc-button {
    display: inline-block;
    background: var(--sc-accent);
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 12px 24px;
    border-radius: 4px;
    font-weight: 600;
    transition: background 0.2s ease-in-out;
    margin-top: 8px;
}

.sc-button:hover,
.sc-button:focus {
    background: var(--sc-accent-hover);
    outline: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--sc-accent);
}

.sc-notice {
    color: var(--sc-muted);
    font-style: italic;
    font-size: 0.9rem;
    margin-top: 16px;
}

.sc-card .sc-list li {
    position: relative;
    padding-left: 20px;
}

.sc-card .sc-list li::before {
    content: "\2022";
    position: absolute;
    left: 0;
    color: var(--sc-accent);
}

.sc-card .sc-list-pros li::before {
    content: "\2713";
    color: #27ae60;
}

.sc-card .sc-list-cons li::before {
    content: "\2717";
    color: #c0392b;
}

.sc-card .sc-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 20px;
}

/* Mobile Polish */
@media (max-width: 600px) {
    .sc-card {
        --sc-padding: 16px;
        margin: 16px 0;
    }

    .sc-card h3 {
        font-size: 1.15rem;
    }

    .sc-button {
        display: block;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
    }

    .sc-card .sc-pros-cons {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.sc-affiliate-disclosure {
    color: var(--sc-muted);
    font-size: 0.85rem;
    margin-top: 8px;
    font-style: italic;
    text-align: center;
}

/* Tool Card Shortcode */
.sc-tool-card {
    max-width: 400px;
}

.sc-tool-card .sc-card-title {
    margin: 0 0 10px 0;
    font-size: 1.25rem;
}

.sc-tool-card .sc-card-title a {
    color: inherit;
    text-decoration: none;
}

.sc-tool-card .sc-card-title a:hover {
    color: var(--sc-accent);
}

.sc-tool-card .sc-card-meta {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 0.9rem;
    color: var(--sc-muted);
}

.sc-tool-card .sc-card-meta .sc-rating {
    margin: 0;
}

.sc-tool-card .sc-best-for {
    font-size: 0.95rem;
    margin: 0 0 20px 0;
}

.sc-tool-card .sc-card-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.sc-tool-card .sc-link {
    font-size: 0.9rem;
    color: var(--sc-accent);
    text-decoration: none;
    font-weight: 600;
}

.sc-tool-card .sc-link:hover {
    text-decoration: underline;
}

@media (max-width: 480px) {
    .sc-tool-card .sc-card-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Compact Card Variant */
.sc-tool-card--compact {
    --sc-padding: 16px;
    margin: 12px 0;
    max-width: 100%; /* Allow flexibility in columns */
}

.sc-tool-card--compact .sc-card-title {
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.sc-tool-card--compact .sc-card-meta {
    margin-bottom: 10px;
    gap: 10px;
    flex-wrap: wrap;
}

.sc-tool-card--compact .sc-best-for {
    font-size: 0.85rem;
    margin-bottom: 12px;
}

.sc-tool-card--compact .sc-card-actions {
    gap: 10px;
}

.sc-tool-card--compact .sc-button {
    padding: 8px 16px;
    font-size: 0.9rem;
}

/* Tool List Grid */
.sc-tool-list {
    display: grid;
    gap: 24px;
    margin: 24px 0;
}

.sc-tool-list-item .sc-card {
    margin: 0; /* Reset card margin inside grid */
}

.sc-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.sc-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
    .sc-columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .sc-columns-2,
    .sc-columns-3 {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}


/* Review Summary Card - v0.1.16: moved from inline styles */
.sc-summary-content {
    margin-bottom: 20px;
}

.sc-methodology {
    margin-bottom: 20px;
    padding: 15px;
    border-left: 4px solid var(--sc-accent);
    background: #f0f6fb;
}

.sc-methodology h4,
.sc-tool-features h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
}

.sc-methodology-text {
    font-size: 0.95rem;
}

.sc-target-audience {
    margin-bottom: 20px;
    padding: 15px;
    background: #f9f9f9;
    border-radius: var(--sc-radius);
}

.sc-target-audience p {
    margin: 0 0 8px 0;
}

.sc-target-audience p:last-child {
    margin: 0;
}

.sc-tool-features {
    margin-bottom: 20px;
}

.sc-pros h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    color: #27ae60;
}

.sc-cons h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
    color: #c0392b;
}

.sc-meta-list {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--sc-border);
}
