/* ========================================================================== 
   K24 Readability & CSS Consolidation 1.0 — Engine 6.18.5
   Scope: single LEGO set pages only.

   This layer intentionally lives outside the historical k24-frontend.css.
   It establishes one readable set-page system without changing archives,
   rankings, guides or homepage components.
   ========================================================================== */

body.k24-set-single {
    --k24-r-text: #172033;
    --k24-r-muted: #5f6b7c;
    --k24-r-muted-strong: #475467;
    --k24-r-line: #e2e8f0;
    --k24-r-line-soft: #edf1f5;
    --k24-r-soft: #f8fafc;
    --k24-r-soft-2: #f4f7fa;
    --k24-r-surface: #fff;
    --k24-r-blue: #2563eb;
    --k24-r-yellow: #ffd400;
    --k24-r-purple: #7c3aed;
    --k24-r-green: #15803d;
    --k24-r-amber: #b45309;
    --k24-r-red: #b42318;
    --k24-r-radius-sm: 9px;
    --k24-r-radius-md: 13px;
    --k24-r-radius-lg: 16px;
    --k24-r-space-1: 6px;
    --k24-r-space-2: 10px;
    --k24-r-space-3: 14px;
    --k24-r-space-4: 18px;
    --k24-r-space-5: 24px;
    --k24-r-space-6: 30px;
}

/* --------------------------------------------------------------------------
   Base rhythm and readable type
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-set-page--v6 {
    color: var(--k24-r-text);
    font-size: 15px;
    line-height: 1.62;
}

body.k24-set-single .k24-set-page--v6 p,
body.k24-set-single .k24-set-page--v6 li,
body.k24-set-single .k24-set-page--v6 dd {
    text-wrap: pretty;
}

body.k24-set-single .k24-set-page--v6 .k24-set-section {
    margin-top: 20px;
    padding: clamp(24px, 2.6vw, 32px);
    border-color: var(--k24-r-line);
    border-radius: var(--k24-r-radius-lg);
    box-shadow: none;
}

body.k24-set-single .k24-set-page--v6 .k24-set-section::before {
    top: 28px;
    width: 3px;
    height: 26px;
    background: var(--k24-r-yellow);
    opacity: .9;
}

body.k24-set-single .k24-set-page--v6 .k24-set-section__heading,
body.k24-set-single .k24-expert__topline,
body.k24-set-single .k24-commerce-lab__header {
    margin-bottom: 18px;
}

body.k24-set-single .k24-set-page--v6 .k24-set-section__heading h2,
body.k24-set-single .k24-expert__topline h2,
body.k24-set-single .k24-commerce-lab__header h2,
body.k24-set-single .k24-buying-decision__heading h2 {
    margin: 0;
    color: var(--k24-r-text);
    font-size: clamp(24px, 2.2vw, 29px);
    line-height: 1.18;
    letter-spacing: -.028em;
}

/* Section eyebrows were repeated on nearly every module. H2 carries the
   hierarchy on set pages; legacy module markup may still contain the class. */
body.k24-set-single .k24-set-page--v6 .k24-set-section__eyebrow {
    display: none;
}

body.k24-set-single .k24-set-section__lead,
body.k24-set-single .k24-expert__lead,
body.k24-set-single .k24-commerce-lab__header > div:first-child > p:last-child,
body.k24-set-single .k24-offers-intro,
body.k24-set-single .k24-price-history__note,
body.k24-set-single .k24-commerce-lab__disclaimer {
    color: var(--k24-r-muted);
    font-size: 14px;
    line-height: 1.65;
}

body.k24-set-single .k24-set-zone {
    margin-top: 24px;
}

body.k24-set-single .k24-set-zone > .k24-set-section,
body.k24-set-single .k24-set-zone > section {
    margin-top: 16px;
}

/* --------------------------------------------------------------------------
   Hero: keep product first, remove metadata-badge feel
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-set-hero--v6 {
    border-radius: var(--k24-r-radius-lg);
}

body.k24-set-single .k24-set-eyebrow {
    color: var(--k24-r-muted-strong);
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .015em;
    text-transform: none;
}

body.k24-set-single .k24-set-subline,
body.k24-set-single .k24-hero-commerce-note {
    color: var(--k24-r-muted);
    font-size: 13px;
}

body.k24-set-single .k24-set-stat span,
body.k24-set-single .k24-set-stat small {
    color: var(--k24-r-muted);
    font-size: 12px;
    line-height: 1.35;
}

body.k24-set-single .k24-set-stat strong {
    color: var(--k24-r-text);
}

/* Kept defensively for cached HTML; 6.18.5 no longer renders this overlay. */
body.k24-set-single .k24-hero-rarity {
    display: none;
}

/* --------------------------------------------------------------------------
   One visual surface per idea: soften nested dashboards
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-fact,
body.k24-set-single .k24-price-stat,
body.k24-set-single .k24-collector__summary > div,
body.k24-set-single .k24-commerce-lab__kpis > div,
body.k24-set-single .k24-commerce-evidence,
body.k24-set-single .k24-expert-dimension,
body.k24-set-single .k24-inventory-stats > div,
body.k24-set-single .k24-profile-meter,
body.k24-set-single .k24-color-profile {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-sm);
    background: var(--k24-r-soft);
    box-shadow: none;
}

body.k24-set-single .k24-fact span,
body.k24-set-single .k24-price-stat span,
body.k24-set-single .k24-collector__summary span,
body.k24-set-single .k24-commerce-lab__kpis span,
body.k24-set-single .k24-commerce-evidence > span,
body.k24-set-single .k24-inventory-stats span {
    color: var(--k24-r-muted-strong);
    font-size: 12px;
    line-height: 1.35;
}

body.k24-set-single .k24-fact small,
body.k24-set-single .k24-collector__summary small,
body.k24-set-single .k24-commerce-lab__kpis small,
body.k24-set-single .k24-commerce-evidence > small {
    color: var(--k24-r-muted);
    font-size: 12px;
    line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Collector Intelligence
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-collector {
    border-color: var(--k24-r-line);
}

body.k24-set-single .k24-collector__overview {
    gap: 24px;
    margin: 16px 0 22px;
}

body.k24-set-single .k24-collector__summary {
    gap: 8px;
}

body.k24-set-single .k24-collector__summary > div {
    min-height: 78px;
    padding: 13px 14px;
    border-width: 1px;
}

body.k24-set-single .k24-collector__summary strong {
    margin-top: 4px;
    font-size: 24px;
    line-height: 1.05;
}

body.k24-set-single .k24-collector__summary .is-unique {
    border-color: #e8ddff;
    background: #fbf9ff;
}

body.k24-set-single .k24-collector__summary .is-rare {
    border-color: #f5e5b0;
    background: #fffdf5;
}

body.k24-set-single .k24-minifig-card {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-md);
    box-shadow: none;
}

body.k24-set-single .k24-minifig-card p,
body.k24-set-single .k24-minifig-card li {
    font-size: 14px;
    line-height: 1.55;
}

body.k24-set-single .k24-minifig-card small,
body.k24-set-single .k24-data-state {
    color: var(--k24-r-muted);
    font-size: 12px;
    line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Offers & price history
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-commercial-label {
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 0;
    border-left: 3px solid #cbd5e1;
    border-radius: 0 var(--k24-r-radius-sm) var(--k24-r-radius-sm) 0;
    background: var(--k24-r-soft);
    color: var(--k24-r-muted-strong);
    font-size: 13px;
    line-height: 1.55;
}

body.k24-set-single .k24-offers-count,
body.k24-set-single .k24-offer-best-badge,
body.k24-set-single .k24-offer-cell > span,
body.k24-set-single .k24-offer-total > small {
    font-size: 12px;
    line-height: 1.35;
}

body.k24-set-single .k24-offer-cell > span,
body.k24-set-single .k24-offer-total > small {
    color: var(--k24-r-muted);
}

body.k24-set-single .k24-offer-row {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-md);
    box-shadow: none;
}

body.k24-set-single .k24-price-stats {
    gap: 8px;
}

body.k24-set-single .k24-price-stat {
    min-height: 76px;
    padding: 13px 14px;
}

body.k24-set-single .k24-price-stat strong {
    margin-top: 5px;
    font-size: 20px;
}

body.k24-set-single .k24-price-chart__scale,
body.k24-set-single .k24-price-chart__dates {
    color: var(--k24-r-muted);
    font-size: 12px;
}

/* --------------------------------------------------------------------------
   Buying Decision: editorial content first, dashboard chrome second
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-buying-decision {
    background: var(--k24-r-surface);
}

body.k24-set-single .k24-buying-decision__method {
    color: var(--k24-r-muted);
    font-size: 12px;
}

body.k24-set-single .k24-buying-decision__verdict {
    gap: 18px;
    margin: 18px 0 22px;
    padding: 22px;
    border-radius: var(--k24-r-radius-md);
}

body.k24-set-single .k24-buying-decision__verdict-main > span {
    font-size: 12px;
}

body.k24-set-single .k24-buying-decision__verdict-main > strong {
    font-size: clamp(26px, 3vw, 34px);
    line-height: 1.1;
}

body.k24-set-single .k24-buying-decision__verdict-main > p {
    color: #d0d7e2;
    font-size: 15px;
    line-height: 1.65;
}

body.k24-set-single .k24-buying-decision__tags span {
    padding: 7px 9px;
    border-radius: 7px;
    font-size: 12px;
}

body.k24-set-single .k24-buying-decision__editorial {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-md);
    box-shadow: none;
}

body.k24-set-single .k24-buying-decision__editorial article {
    padding: 20px 22px;
    border-color: var(--k24-r-line-soft);
}

body.k24-set-single .k24-buying-decision__index {
    font-size: 12px;
}

body.k24-set-single .k24-buying-decision__editorial h3,
body.k24-set-single .k24-buying-decision__list h3 {
    font-size: 17px;
}

body.k24-set-single .k24-buying-decision__editorial p,
body.k24-set-single .k24-buying-decision__list li {
    color: var(--k24-r-muted-strong);
    font-size: 15px;
    line-height: 1.62;
}

body.k24-set-single .k24-buying-decision__list,
body.k24-set-single .k24-buying-decision__alternatives {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-md);
    box-shadow: none;
}

body.k24-set-single .k24-buying-decision__alt {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-sm);
    background: var(--k24-r-soft);
}

body.k24-set-single .k24-buying-decision__alt > span {
    color: var(--k24-r-muted-strong);
    font-size: 12px;
}

body.k24-set-single .k24-buying-decision__alt > strong {
    font-size: 15px;
}

body.k24-set-single .k24-buying-decision__alt > small {
    color: var(--k24-r-muted);
    font-size: 13px;
}

/* --------------------------------------------------------------------------
   Expert Intelligence: readable editorial analytics
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-expert-scoreboard {
    border-radius: var(--k24-r-radius-md);
    box-shadow: none;
}

body.k24-set-single .k24-expert-scoreboard__label {
    font-size: 12px;
    letter-spacing: .055em;
}

body.k24-set-single .k24-expert-scoreboard > p {
    color: var(--k24-r-muted-strong);
    font-size: 14px;
    line-height: 1.58;
}

body.k24-set-single .k24-expert-dimensions {
    gap: 8px;
}

body.k24-set-single .k24-expert-dimension {
    padding: 15px;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    box-shadow: none;
}

body.k24-set-single .k24-expert-dimension__head span {
    color: var(--k24-r-muted-strong);
    font-size: 12px;
    letter-spacing: .025em;
}

body.k24-set-single .k24-expert-dimension small {
    color: var(--k24-r-muted);
    font-size: 13px;
    line-height: 1.45;
}

body.k24-set-single .k24-expert-benchmarks {
    gap: 8px;
}

body.k24-set-single .k24-expert-benchmark {
    border-color: var(--k24-r-line-soft);
    border-radius: var(--k24-r-radius-sm);
    box-shadow: none;
}

body.k24-set-single .k24-expert-benchmark__eyebrow,
body.k24-set-single .k24-expert-model__row span,
body.k24-set-single .k24-expert-signal > span {
    color: var(--k24-r-muted-strong);
    font-size: 12px;
    letter-spacing: .04em;
}

body.k24-set-single .k24-expert-benchmark > p:not(.k24-expert-benchmark__eyebrow),
body.k24-set-single .k24-expert-benchmark__foot span,
body.k24-set-single .k24-expert-subhead small,
body.k24-set-single .k24-expert-signal > small,
body.k24-set-single .k24-expert-model__summary,
body.k24-set-single .k24-expert-gaps {
    color: var(--k24-r-muted);
    font-size: 12px;
    line-height: 1.5;
}

body.k24-set-single .k24-expert-benchmark__scale > div {
    font-size: 12px;
}

body.k24-set-single .k24-expert-subhead span {
    font-size: 13px;
}

body.k24-set-single .k24-expert-signal > strong,
body.k24-set-single .k24-expert-model__row strong {
    font-size: 15px;
}

body.k24-set-single .k24-expert-analysis li > p {
    color: var(--k24-r-muted-strong);
    font-size: 14px;
    line-height: 1.58;
}

/* --------------------------------------------------------------------------
   Commerce Intelligence: fewer micro-labels, larger evidence
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-commerce-lab__state span,
body.k24-set-single .k24-commerce-lab__state strong,
body.k24-set-single .k24-commerce-verdict > span,
body.k24-set-single .k24-commerce-verdict > small,
body.k24-set-single .k24-commerce-alt__meta,
body.k24-set-single .k24-commerce-alt__price span,
body.k24-set-single .k24-commerce-alt__scores span,
body.k24-set-single .k24-commerce-alt__actions > a:first-child,
body.k24-set-single .k24-commerce-alt__actions .k24-button {
    font-size: 12px;
    line-height: 1.35;
}

body.k24-set-single .k24-commerce-verdict > p {
    font-size: 14px;
    line-height: 1.58;
}

body.k24-set-single .k24-commerce-lab__decision {
    gap: 10px;
}

body.k24-set-single .k24-commerce-verdict,
body.k24-set-single .k24-commerce-alt,
body.k24-set-single .k24-commerce-lab__cta {
    border-radius: var(--k24-r-radius-md);
    box-shadow: none;
}

body.k24-set-single .k24-commerce-evidence-grid,
body.k24-set-single .k24-commerce-alternatives__grid {
    gap: 8px;
}

body.k24-set-single .k24-commerce-evidence {
    padding: 13px 14px;
}

body.k24-set-single .k24-commerce-evidence > strong {
    font-size: 16px;
    line-height: 1.25;
}

body.k24-set-single .k24-commerce-lab__cta span {
    color: var(--k24-r-muted);
    font-size: 13px;
}

body.k24-set-single .k24-commerce-alt h3 {
    font-size: 16px;
    line-height: 1.32;
}

body.k24-set-single .k24-commerce-alt__price strong {
    font-size: 20px;
}

body.k24-set-single .k24-commerce-lab__disclaimer {
    margin-top: 14px;
}

/* --------------------------------------------------------------------------
   Editorial / technical content
   -------------------------------------------------------------------------- */
body.k24-set-single .k24-set-editorial__content,
body.k24-set-single .k24-set-editorial__content p,
body.k24-set-single .k24-set-editorial__content li,
body.k24-set-single .k24-set-specs dt,
body.k24-set-single .k24-set-specs dd {
    font-size: 15px;
    line-height: 1.7;
}

body.k24-set-single .k24-set-editorial__content p {
    max-width: 78ch;
}

/* --------------------------------------------------------------------------
   Responsive system for the readability layer: 1024 / 768 / 480
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    body.k24-set-single .k24-expert-benchmarks,
    body.k24-set-single .k24-commerce-alternatives__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    body.k24-set-single .k24-set-page--v6 .k24-set-section {
        margin-top: 16px;
        padding: 22px 18px;
        border-radius: 13px;
    }

    body.k24-set-single .k24-set-page--v6 .k24-set-section::before {
        top: 22px;
        height: 22px;
    }

    body.k24-set-single .k24-set-page--v6 .k24-set-section__heading,
    body.k24-set-single .k24-expert__topline,
    body.k24-set-single .k24-commerce-lab__header {
        gap: 10px;
        margin-bottom: 16px;
    }

    body.k24-set-single .k24-collector__overview.has-donut {
        grid-template-columns: 132px minmax(0, 1fr);
    }

    body.k24-set-single .k24-collector__summary,
    body.k24-set-single .k24-price-stats,
    body.k24-set-single .k24-commerce-lab__kpis,
    body.k24-set-single .k24-expert-benchmarks,
    body.k24-set-single .k24-commerce-alternatives__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.k24-set-single .k24-buying-decision__editorial,
    body.k24-set-single .k24-buying-decision__split {
        grid-template-columns: 1fr;
    }

    body.k24-set-single .k24-buying-decision__editorial article {
        border-right: 0;
        border-bottom: 1px solid var(--k24-r-line-soft);
    }

    body.k24-set-single .k24-buying-decision__editorial article:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 480px) {
    body.k24-set-single .k24-set-page--v6 {
        font-size: 15px;
    }

    body.k24-set-single .k24-set-page--v6 .k24-set-section {
        padding: 20px 15px;
    }

    body.k24-set-single .k24-set-page--v6 .k24-set-section__heading h2,
    body.k24-set-single .k24-expert__topline h2,
    body.k24-set-single .k24-commerce-lab__header h2,
    body.k24-set-single .k24-buying-decision__heading h2 {
        font-size: 23px;
    }

    body.k24-set-single .k24-collector__overview.has-donut {
        grid-template-columns: 1fr;
    }

    body.k24-set-single .k24-minifig-donut {
        margin-inline: auto;
    }

    body.k24-set-single .k24-collector__summary,
    body.k24-set-single .k24-price-stats,
    body.k24-set-single .k24-commerce-lab__kpis,
    body.k24-set-single .k24-expert-benchmarks,
    body.k24-set-single .k24-commerce-alternatives__grid {
        grid-template-columns: 1fr;
    }

    body.k24-set-single .k24-buying-decision__verdict {
        grid-template-columns: 1fr;
    }

    body.k24-set-single .k24-buying-decision__tags {
        justify-content: flex-start;
    }
}
