/* Палитра раздела общая для страницы и её пункта в меню. */
[data-section] {
    --section-accent: #e86b13;
    --section-deep: #a9470b;
    --section-soft: #fff1dc;
    --section-line: #f0d2aa;
    --section-wash: #fffcf6;
}

[data-section="contests"] {
    --section-accent: #168675;
    --section-deep: #116556;
    --section-soft: #e0f5ee;
    --section-line: #b5dfd2;
    --section-wash: #f6fcf9;
}

[data-section="games"] {
    --section-accent: #8551d5;
    --section-deep: #65409e;
    --section-soft: #f0e8fc;
    --section-line: #d9c5f2;
    --section-wash: #faf8ff;
}

[data-section="greetings"] {
    --section-accent: #bd3d71;
    --section-deep: #9e2e5b;
    --section-soft: #fce6ef;
    --section-line: #efc3d5;
    --section-wash: #fff9fc;
}

[data-section="favorites"],
[data-section="account"] {
    --section-accent: #376bc2;
    --section-deep: #28549d;
    --section-soft: #e7f0ff;
    --section-line: #c2d6f3;
    --section-wash: #f8fbff;
}

[data-section="about"] {
    --section-accent: #c54e40;
    --section-deep: #a83f34;
    --section-soft: #ffe8df;
    --section-line: #f0c6b8;
    --section-wash: #fffaf7;
}

.site-nav__link::after { background: var(--section-accent); }
.site-nav__link:focus-visible { outline: 2px solid var(--section-accent); outline-offset: 4px; }

.page-tools .tools-section { padding-top: 54px; }
.page-tools .section-heading h1 { margin-bottom: 0; font-size: clamp(34px, 3.4vw, 49px); line-height: 1.05; }

body:is([data-section="contests"], [data-section="greetings"], [data-section="favorites"], [data-section="about"], [data-section="account"]) {
    --color-soft: var(--section-soft);
    background: radial-gradient(ellipse at 90% 0, var(--section-soft), transparent 650px), var(--section-wash);
}

body:is([data-section="contests"], [data-section="greetings"], [data-section="favorites"], [data-section="about"], [data-section="account"]) :is(.eyebrow, .text-link) {
    color: var(--section-deep);
}

body:is([data-section="contests"], [data-section="greetings"], [data-section="favorites"], [data-section="about"], [data-section="account"]) .button--primary {
    color: #fff;
    background: linear-gradient(125deg, var(--section-accent), var(--section-deep));
    border-color: var(--section-deep);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--section-accent) 18%, transparent);
}

body:is([data-section="contests"], [data-section="greetings"], [data-section="favorites"], [data-section="about"], [data-section="account"]) .button--primary:hover {
    box-shadow: 0 12px 26px color-mix(in srgb, var(--section-accent) 28%, transparent);
}

body[data-section] .button--soft { border-color: var(--section-line); }

/* Конкурсы: мятный первый экран и бирюзовые акценты. */
body[data-section="contests"] .contest-heading {
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid var(--section-line);
    border-radius: 28px;
    background: radial-gradient(circle at 90% 10%, #c6eee1, transparent 45%), linear-gradient(120deg, #f1fcf7, #e0f5ee);
}
body[data-section="contests"] :is(.contest-heading h1, .package-hero h1) { color: #174f46; }
body[data-section="contests"] :is(.package-promo, .package-price, .contest-panel--accent) {
    background: var(--section-soft);
    border-color: var(--section-line);
}
body[data-section="contests"] :is(.contest-card, .contest-panel) { border-color: var(--section-line); }
body[data-section="contests"] :is(.package-step, .package-how li::marker) { color: var(--section-deep); }

/* Поздравления: розовый цвет мастерской; оформление самих открыток сохраняется. */
body[data-section="greetings"] .greeting-hero {
    background: radial-gradient(circle at 90% 10%, #f9d2e4, transparent 50%), linear-gradient(120deg, #fff3f7, #fce3ed);
    border: 1px solid var(--section-line);
}
body[data-section="greetings"] :is(.greeting-eyebrow, .greeting-hero h1 em) { color: var(--section-deep); }
body[data-section="greetings"] .greeting-hero h1 { color: #572d43; }
body[data-section="greetings"] :is(.greeting-tags span, .greeting-form, .greeting-preview-panel) { border-color: var(--section-line); }
body[data-section="greetings"] :is(.greeting-extras, .greeting-preview-footer) { background: #fff3f8; border-color: var(--section-line); }

/* Избранное: спокойная голубая палитра личной подборки. */
.page-favorites .inner-hero { background: radial-gradient(ellipse at 50% 0, #dceaff, transparent 80%), linear-gradient(#eef5ff, #f8fbff); }
.page-favorites .inner-hero h1 { color: #244b83; }
.page-favorites :is(.inner-hero__icon, .empty-state__icon) { color: var(--section-deep); background: var(--section-soft); }
.page-favorites .favorites-head { padding-bottom: 22px; border-bottom: 1px solid var(--section-line); }
.page-favorites .empty-state--large { padding-block: 65px; border: 1px dashed var(--section-line); border-radius: 26px; background: #ffffffb3; }
body[data-section="account"] .account-sidebar { background: var(--section-soft); }
body[data-section="account"] .account-sidebar a[aria-current] { background: var(--section-accent); color: #fff; }

@media (max-width: 900px) {
    .site-nav__link:hover,
    .site-nav__link.is-active { color: var(--section-deep); background: var(--section-soft); }
    .site-nav__link.is-active { box-shadow: inset 3px 0 var(--section-accent); }
}

@media (max-width: 600px) {
    .page-favorites .favorites-head { gap: 15px; flex-wrap: wrap; }
}
