/**
 * Case Study: Lighthouse 4 meters component CSS.
 *
 * Production reusable template-part: `template-parts/case-study/lighthouse.php`.
 * Auto-enqueued from PHP (lazy load — tylko gdy template-part użyty).
 *
 * Original lines wycięte z `assets/css/style.css` 6933-6949 (sesja 2026-05-07 cleanup).
 * Reaktywacja: `get_template_part('template-parts/case-study/lighthouse', null, $args)`.
 */

.th-playground-n-heading {
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.05;
    font-weight: var(--font-weight-medium);
    margin: var(--space-sm) 0 var(--space-md);
}
.th-playground-n-heading em {
    color: var(--purple);
    font-style: italic;
    font-weight: var(--font-weight-medium);
}
.th-section--dark .th-playground-n-heading em {
    color: var(--yellow);
}

.th-playground-n-lighthouse {
    padding: var(--section-py-md) 0;
}
.th-playground-n-lighthouse__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-xl);
    margin-top: var(--space-xl);
}
@media (min-width: 768px) {
    .th-playground-n-lighthouse__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.th-playground-n-meter {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    position: relative;
}
.th-playground-n-meter__svg {
    width: 140px;
    height: 140px;
    transform: rotate(-90deg);
}
.th-playground-n-meter__track {
    fill: none;
    stroke: color-mix(in srgb, var(--black), transparent 92%);
    stroke-width: 8;
}
.th-playground-n-meter__fill {
    fill: none;
    stroke: var(--purple);
    stroke-width: 8;
    stroke-linecap: round;
    transition: stroke-dashoffset 1s var(--ease-out-expo);
}
.th-playground-n-meter[data-score="pass"] .th-playground-n-meter__fill {
    stroke: var(--success, #0cce6b);
}
.th-playground-n-meter[data-score="warn"] .th-playground-n-meter__fill {
    stroke: #ffa400;
}
.th-playground-n-meter[data-score="fail"] .th-playground-n-meter__fill {
    stroke: var(--error, #e53e3e);
}
.th-playground-n-meter__num {
    position: absolute;
    top: 42%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
}
.th-playground-n-meter__label {
    font-size: var(--type-small);
    font-weight: var(--font-weight-medium);
}
