/*
 * SOFON Atlas – Design Phase 02
 * Scroll-reactive unified background + homepage presentation layer.
 * Loaded after the original Modern Design stylesheet, which remains intact.
 */
:root {
    --sofon-atlas-scroll: 0;
    --sofon-atlas-bg-y: 0%;
    --sofon-atlas-bg-x: 0%;
    --sofon-atlas-bg-hue: 0deg;
    --sofon-atlas-bg-tilt: 0deg;
    --sofon-atlas-glass: rgba(255,255,255,.76);
    --sofon-atlas-glass-strong: rgba(255,255,255,.88);
    --sofon-atlas-line: rgba(48,83,70,.14);
    --sofon-atlas-shadow: 0 20px 55px rgba(38,72,59,.12);
}

html { background: #eaf3ec; }
body.sofon-atlas-modern {
    position: relative;
    min-height: 100vh;
    background: #eaf3ec !important;
}
body.sofon-atlas-modern .sofon-atlas-scroll-background {
    position: fixed;
    z-index: 0;
    inset: -18vh -18vw;
    pointer-events: none;
    background:
        radial-gradient(ellipse at calc(12% + var(--sofon-atlas-bg-x)) calc(7% + var(--sofon-atlas-bg-y)), rgba(93,178,139,.48) 0, rgba(93,178,139,.18) 27%, transparent 54%),
        radial-gradient(ellipse at calc(86% - var(--sofon-atlas-bg-x)) calc(18% + var(--sofon-atlas-bg-y)), rgba(90,170,197,.44) 0, rgba(90,170,197,.15) 30%, transparent 56%),
        radial-gradient(ellipse at calc(72% + var(--sofon-atlas-bg-x)) calc(82% - var(--sofon-atlas-bg-y)), rgba(227,190,113,.40) 0, rgba(227,190,113,.13) 29%, transparent 54%),
        radial-gradient(ellipse at calc(20% - var(--sofon-atlas-bg-x)) calc(88% - var(--sofon-atlas-bg-y)), rgba(160,196,118,.38) 0, rgba(160,196,118,.12) 31%, transparent 58%),
        linear-gradient(145deg, #eef8f0 0%, #e7f3f2 31%, #f5f0df 66%, #eaf4e7 100%);
    transform: translate3d(0, calc(var(--sofon-atlas-scroll) * -2.5vh), 0) scale(1.04) rotate(var(--sofon-atlas-bg-tilt));
    transform-origin: center;
    filter: hue-rotate(var(--sofon-atlas-bg-hue)) saturate(1.03);
    will-change: transform, filter, background-position;
}
body.sofon-atlas-modern .wp-site-blocks {
    position: relative;
    z-index: 1;
    background: transparent !important;
}
body.sofon-atlas-modern main { background-color: transparent !important; }

/* U běžných stránek/příspěvků necháváme pozadí viditelné okolo čitelné obsahové plochy. */
body.sofon-atlas-modern:not(.home) main > .wp-block-group.alignfull.has-background,
body.sofon-atlas-modern:not(.home) main > .wp-block-group.has-base-background-color {
    background-color: rgba(255,255,255,.79) !important;
    background-image: none !important;
    backdrop-filter: blur(12px) saturate(1.04);
    -webkit-backdrop-filter: blur(12px) saturate(1.04);
}

/* Titulní stránka je jedna souvislá plocha; sekce už nemají vlastní neprůhledné pozadí. */
body.home.sofon-atlas-modern main > .wp-block-group,
body.home.sofon-atlas-modern .sofon-atlas-home-hero,
body.home.sofon-atlas-modern .sofon-atlas-home-worlds,
body.home.sofon-atlas-modern .sofon-atlas-home-latest {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.sofon-atlas-home-hero {
    gap: clamp(1rem, 2.5vw, 1.8rem) !important;
    padding-top: clamp(2.2rem, 6vw, 5.6rem) !important;
    padding-bottom: clamp(2.2rem, 5vw, 4.8rem) !important;
}
.sofon-atlas-home-hero > .wp-block-group:first-child {
    width: min(900px, calc(100vw - 32px));
    max-width: 900px !important;
    padding: clamp(1.4rem, 3vw, 2.35rem);
    border: 1px solid var(--sofon-atlas-line);
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,255,255,.64));
    box-shadow: var(--sofon-atlas-shadow);
    backdrop-filter: blur(18px) saturate(1.08);
    -webkit-backdrop-filter: blur(18px) saturate(1.08);
}
.sofon-atlas-home-hero h1 {
    max-width: 820px;
    margin-inline: auto !important;
    color: #193d33;
    font-size: clamp(2.25rem, 5.6vw, 4.8rem) !important;
    letter-spacing: -.045em;
    line-height: .98 !important;
    text-wrap: balance;
}
.sofon-atlas-home-lead {
    margin-top: .35rem !important;
    color: #294b40;
    font-size: clamp(1.06rem, 1.6vw, 1.25rem);
    font-weight: 650;
    line-height: 1.55;
}
.sofon-atlas-home-intro {
    max-width: 760px;
    margin: .8rem auto 0 !important;
    color: #4a6259;
    font-size: .99rem;
    line-height: 1.67;
}
.sofon-atlas-home-actions { margin-top: 1.35rem !important; }
.sofon-atlas-home-actions .wp-block-button__link {
    min-height: 48px;
    padding: .75rem 1.15rem;
    border-radius: 999px;
    box-shadow: 0 9px 24px rgba(38,73,59,.10);
    font-weight: 750;
    transition: transform .18s ease, box-shadow .18s ease;
}
.sofon-atlas-home-actions .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 13px 28px rgba(38,73,59,.16);
}
.sofon-atlas-home-hero > .wp-block-image {
    width: min(1200px, calc(100vw - 32px));
    margin-top: .4rem;
    filter: drop-shadow(0 18px 34px rgba(34,65,54,.14));
}
.sofon-atlas-home-hero > .wp-block-image img {
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 30px !important;
}

.sofon-atlas-home-worlds {
    padding-top: clamp(2.4rem, 6vw, 5rem) !important;
    padding-bottom: clamp(2.4rem, 7vw, 6rem) !important;
}
.sofon-atlas-home-worlds > .wp-block-group > .wp-block-group:first-child {
    max-width: 780px;
    margin-inline: auto;
    padding: 1.25rem 1.5rem;
    border-radius: 24px;
    background: rgba(255,255,255,.57);
    border: 1px solid rgba(255,255,255,.62);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.sofon-atlas-home-worlds h2 {
    color: #20493c;
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns {
    position: relative;
    gap: clamp(1.2rem, 4vw, 4rem) !important;
    margin-top: clamp(1.2rem, 3vw, 2rem);
    margin-bottom: clamp(1.2rem, 3vw, 2rem);
    padding: clamp(1rem, 2.2vw, 1.7rem);
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.47));
    box-shadow: 0 14px 42px rgba(34,68,55,.09);
    backdrop-filter: blur(17px) saturate(1.06);
    -webkit-backdrop-filter: blur(17px) saturate(1.06);
}
.sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns:hover {
    border-color: rgba(255,255,255,.88);
    box-shadow: 0 20px 52px rgba(34,68,55,.13);
}
.sofon-atlas-home-worlds .wp-block-image img {
    width: 100%;
    border-radius: 22px !important;
    box-shadow: 0 10px 26px rgba(31,64,52,.11);
}
.sofon-atlas-home-worlds h3 {
    margin-bottom: .45rem !important;
    font-size: clamp(1.65rem, 3vw, 2.45rem) !important;
    line-height: 1.05;
}
.sofon-atlas-home-worlds h3 a { color: #204b3d !important; }
.sofon-atlas-world-description {
    margin: .15rem 0 .9rem !important;
    color: #52665f;
    font-size: .95rem;
    line-height: 1.58;
}
.sofon-atlas-home-worlds .wp-block-list {
    margin-top: .5rem;
    color: #304d43;
}
.sofon-atlas-home-worlds .wp-block-list a {
    color: #285845 !important;
    font-weight: 700;
}

.sofon-atlas-home-latest {
    padding-top: clamp(2.6rem, 5vw, 4.5rem) !important;
    padding-bottom: clamp(3rem, 7vw, 6rem) !important;
}
.sofon-atlas-home-latest > h4 {
    color: #1f4438;
    text-align: center;
    letter-spacing: -.03em;
}
.sofon-atlas-home-latest > h4 sub {
    display: inline-block;
    margin-top: .65rem;
    color: #60746c;
    font-size: .45em;
    font-weight: 600;
    letter-spacing: 0;
}
.sofon-atlas-home-latest .wp-block-post-template { gap: .8rem !important; }
.sofon-atlas-home-latest .wp-block-post-template > li > .wp-block-columns {
    min-height: 98px;
    overflow: hidden;
    border: 1px solid rgba(48,83,70,.13) !important;
    border-radius: 17px !important;
    background: rgba(255,255,255,.72) !important;
    box-shadow: 0 8px 24px rgba(32,64,52,.07);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.sofon-atlas-home-latest .wp-block-post-template > li > .wp-block-columns:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.90) !important;
    box-shadow: 0 14px 30px rgba(32,64,52,.11);
}
.sofon-atlas-home-latest .wp-block-post-title a { color: #234c3e !important; }

/* Kategorie Atlasu: sekce jako průsvitné vrstvy nad stejným globálním pozadím. */
body.page-id-1284.sofon-atlas-modern main > .wp-block-group.alignfull.has-background,
body.page-id-1284.sofon-atlas-modern main > .wp-block-group.has-base-background-color {
    background: transparent !important;
}
body.page-id-1284 .sofon-atlas-section {
    background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(255,255,255,.65)) !important;
    backdrop-filter: blur(16px) saturate(1.05);
    -webkit-backdrop-filter: blur(16px) saturate(1.05);
}

/* WP Dark Mode */
.wp-dark-mode-active .sofon-atlas-scroll-background,
html.wp-dark-mode-active .sofon-atlas-scroll-background,
body.wp-dark-mode-active .sofon-atlas-scroll-background {
    opacity: .35;
    filter: hue-rotate(var(--sofon-atlas-bg-hue)) saturate(.75) brightness(.50);
}
.wp-dark-mode-active .sofon-atlas-home-hero > .wp-block-group:first-child,
.wp-dark-mode-active .sofon-atlas-home-worlds > .wp-block-group > .wp-block-group:first-child,
.wp-dark-mode-active .sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns,
.wp-dark-mode-active .sofon-atlas-home-latest .wp-block-post-template > li > .wp-block-columns {
    background: rgba(30,38,34,.80) !important;
    border-color: rgba(230,240,235,.10) !important;
}
.wp-dark-mode-active .sofon-atlas-home-hero h1,
.wp-dark-mode-active .sofon-atlas-home-worlds h2,
.wp-dark-mode-active .sofon-atlas-home-worlds h3 a,
.wp-dark-mode-active .sofon-atlas-home-latest > h4,
.wp-dark-mode-active .sofon-atlas-home-latest .wp-block-post-title a {
    color: #eef5f1 !important;
}
.wp-dark-mode-active .sofon-atlas-home-lead,
.wp-dark-mode-active .sofon-atlas-home-intro,
.wp-dark-mode-active .sofon-atlas-world-description,
.wp-dark-mode-active .sofon-atlas-home-latest > h4 sub {
    color: #bccbc4 !important;
}

@media (max-width: 781px) {
    .sofon-atlas-home-hero { padding-inline: 14px !important; }
    .sofon-atlas-home-worlds { padding-inline: 14px !important; }
    .sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns { padding: 1rem; }
    .sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns .wp-block-column { flex-basis: 100% !important; }
    .sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns:nth-of-type(even) .wp-block-column:first-child { order: 2; }
    .sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns:nth-of-type(even) .wp-block-column:last-child { order: 1; }
    .sofon-atlas-home-latest .wp-block-post-template { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
    .sofon-atlas-home-hero > .wp-block-group:first-child { padding: 1.15rem; border-radius: 22px; }
    .sofon-atlas-home-actions { gap: .55rem !important; }
    .sofon-atlas-home-actions .wp-block-button { width: 100%; }
    .sofon-atlas-home-actions .wp-block-button__link { width: 100%; }
    .sofon-atlas-home-worlds > .wp-block-group > .wp-block-columns { border-radius: 22px; }
    .sofon-atlas-home-latest .wp-block-post-template { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
    body.sofon-atlas-modern .sofon-atlas-scroll-background {
        transform: none !important;
        filter: none !important;
        will-change: auto;
    }
    .sofon-atlas-home-actions .wp-block-button__link,
    .sofon-atlas-home-latest .wp-block-post-template > li > .wp-block-columns {
        transition: none !important;
    }
}
