/* worlds.css — фирменные приёмы конкретного мира.
   Включается по data-world на <html>. Только токены. */

/* ---------- Editorial Premium ---------- */

[data-world="editorial-premium"] .card {
    border-radius: var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);
}

[data-world="editorial-premium"] .media {
    border-radius: var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);
    box-shadow: var(--shadow-lg);
}

[data-world="editorial-premium"] .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: var(--noise-opacity);
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

[data-world="editorial-premium"] .hero__accent {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* ---------- Swiss Utility ---------- */

[data-world="swiss-utility"] .card {
    box-shadow: none;
}

[data-world="swiss-utility"] .section {
    border-top: 1px solid var(--color-border);
}

[data-world="swiss-utility"] .kicker {
    color: var(--color-text-muted);
}

[data-world="swiss-utility"] .stat__value,
[data-world="swiss-utility"] .table td {
    font-variant-numeric: tabular-nums;
}

[data-world="swiss-utility"] .hero::before {
    display: none;
}

/* ---------- Vivid Product ---------- */

[data-world="vivid-product"] .card {
    border-width: 2px;
    box-shadow: var(--shadow-md);
}

[data-world="vivid-product"] .card__icon {
    background: var(--color-accent);
    color: var(--color-on-primary);
}

[data-world="vivid-product"] .btn:hover {
    transform: translateY(-2px);
}

[data-world="vivid-product"] .media {
    box-shadow: var(--shadow-lg);
}

/* ---------- Gamma Light — approved reference ---------- */

[data-world="gamma-light"] {
    --color-bg: var(--gamma-color-bg);
    --color-surface: var(--gamma-color-surface);
    --color-surface-2: var(--gamma-color-surface-2);
    --color-primary: var(--gamma-color-primary);
    --color-primary-hover: var(--gamma-color-primary-hover);
    --color-accent: var(--gamma-color-primary);
    --color-border: var(--gamma-color-border);
    --gradient-accent-wash: radial-gradient(62% 90% at 85% 0%, var(--gamma-world-wash), transparent 72%);
}

[data-world="gamma-light"] .card {
    border-width: 1px;
    box-shadow: var(--shadow-gamma-card);
}

[data-world="gamma-light"] .card__icon {
    color: var(--gamma-color-primary);
    background: var(--gamma-color-icon-soft-2);
}

[data-world="gamma-light"] .media {
    box-shadow: var(--shadow-gamma-media);
}

/* ---------- Brutal Impact ---------- */

[data-world="brutal-impact"] .card,
[data-world="brutal-impact"] .media,
[data-world="brutal-impact"] .btn {
    border-radius: var(--radius-xs);
    box-shadow: none;
}

[data-world="brutal-impact"] .card {
    border-width: 2px;
    border-color: var(--color-text);
}

[data-world="brutal-impact"] .btn--primary:hover {
    background: var(--color-text);
    color: var(--color-bg);
}

[data-world="brutal-impact"] .hero__title {
    text-transform: uppercase;
}

[data-world="brutal-impact"] .hero::before {
    display: none;
}

/* ---------- Soft Human ---------- */

[data-world="soft-human"] .media {
    border-radius: var(--radius-lg);
    border: 0;
}

[data-world="soft-human"] .card {
    border-color: transparent;
    box-shadow: var(--shadow-md);
}

[data-world="soft-human"] .t-lead,
[data-world="soft-human"] .card__text {
    line-height: var(--lh-body);
}

/* ---------- Technical Dark ---------- */

[data-world="technical-dark"] .kicker,
[data-world="technical-dark"] .badge,
[data-world="technical-dark"] .stat__label {
    font-family: var(--font-mono, var(--font-text));
}

[data-world="technical-dark"] .card:hover {
    box-shadow: var(--shadow-glow);
    border-color: var(--color-primary);
}

[data-world="technical-dark"] .hero::before {
    background-image:
        linear-gradient(var(--color-border) 1px, transparent 1px),
        linear-gradient(90deg, var(--color-border) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.35;
}

/* ---------- Cinematic Media ---------- */

[data-world="cinematic-media"] .section {
    padding-block: var(--section-pad-lg);
}

[data-world="cinematic-media"] .media {
    border: 0;
    border-radius: var(--radius-xs);
}

[data-world="cinematic-media"] .card {
    background: var(--glass-bg);
    border-color: var(--glass-border);
    backdrop-filter: blur(var(--glass-blur, 18px));
    -webkit-backdrop-filter: blur(var(--glass-blur, 18px));
}

/* ---------- Catalog Grid ---------- */

[data-world="catalog-grid"] .section {
    padding-block: var(--section-pad-sm);
}

[data-world="catalog-grid"] .card {
    padding: var(--space-4);
    box-shadow: none;
}

[data-world="catalog-grid"] .card__title {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
}

[data-world="catalog-grid"] .hero {
    padding-block: var(--section-pad-md);
}
