/* RESET */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* BODY */
body {
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: #fff;
    background: #000;
}

/* BACKGROUND */
.bgimg-1 {
    position: relative;
    min-height: 100vh;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* =========================
   HEAVY SNOW – VÍCE, VĚTŠÍ, CHAOTIČTĚJŠÍ
   ========================= */

.bgimg-1::before,
.bgimg-1::after,
.bgimg-1 .snow-layer {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-repeat: repeat;
}

/* VRSTVA 1 – OBŘÍ, POMALÉ VLOČKY (BLÍZKO KAMEŘE) */
.bgimg-1::before {
    background-image:
        radial-gradient(6px 6px at 10% 20%, rgba(255,255,255,0.55) 50%, transparent 60%),
        radial-gradient(5px 5px at 35% 60%, rgba(255,255,255,0.45) 50%, transparent 60%),
        radial-gradient(7px 7px at 70% 30%, rgba(255,255,255,0.5) 50%, transparent 60%),
        radial-gradient(4.5px 4.5px at 90% 80%, rgba(255,255,255,0.4) 50%, transparent 60%);
    background-size: 420px 420px;
    animation: snowBig 65s linear infinite;
}

/* VRSTVA 2 – STŘEDNÍ, HUSTÉ */
.bgimg-1::after {
    background-image:
        radial-gradient(3.5px 3.5px at 15% 15%, rgba(255,255,255,0.6) 50%, transparent 60%),
        radial-gradient(3px 3px at 40% 50%, rgba(255,255,255,0.5) 50%, transparent 60%),
        radial-gradient(4px 4px at 65% 25%, rgba(255,255,255,0.55) 50%, transparent 60%),
        radial-gradient(3px 3px at 85% 75%, rgba(255,255,255,0.45) 50%, transparent 60%),
        radial-gradient(2.5px 2.5px at 55% 85%, rgba(255,255,255,0.4) 50%, transparent 60%);
    background-size: 280px 280px;
    animation: snowMid 38s linear infinite;
}

/* VRSTVA 3 – DROBNÉ, RYCHLÉ, HODNĚ */
.bgimg-1 .snow-layer {
    background-image:
        radial-gradient(1.5px 1.5px at 5% 30%, rgba(255,255,255,0.35) 50%, transparent 60%),
        radial-gradient(1px 1px at 25% 60%, rgba(255,255,255,0.3) 50%, transparent 60%),
        radial-gradient(2px 2px at 50% 10%, rgba(255,255,255,0.35) 50%, transparent 60%),
        radial-gradient(1.5px 1.5px at 75% 45%, rgba(255,255,255,0.3) 50%, transparent 60%),
        radial-gradient(1px 1px at 95% 70%, rgba(255,255,255,0.25) 50%, transparent 60%);
    background-size: 180px 180px;
    animation: snowSmall 22s linear infinite;
}

/* ANIMACE – VÍTR + PÁD */
@keyframes snowBig {
    from { background-position: 0 0; }
    to   { background-position: 120px 1600px; }
}

@keyframes snowMid {
    from { background-position: 0 0; }
    to   { background-position: -160px 1200px; }
}

@keyframes snowSmall {
    from { background-position: 0 0; }
    to   { background-position: 200px 900px; }
}


/* TMAVÝ FILTR PRO ČITELNOST */
.overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(0,0,0,0.15),
        rgba(0,0,0,0.6)
    );
}

/* STŘED OBSAHU */
.caption {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
    justify-content: flex-start;
    padding-top: 10vh;
    align-items: center;
    text-align: center;
}

/* NADPIS */
.caption h1 {
    font-size: clamp(2.2rem, 6vw, 4rem);
    font-weight: 700;
    margin-bottom: 0.5rem;

    /* SILNÝ OBKRES + GLOW */
    text-shadow:
        0 3px 6px rgba(0,0,0,0.95),
        0 0 30px rgba(255, 220, 150, 0.85);
}

/* PODTITUL */
.subtitle {
    font-size: 1.1rem;
    opacity: 0.95;
    margin-bottom: 1rem;

    /* JEMNÝ PODKLAD JEN POD TEXTEM */
    background: rgba(0,0,0,0.65);
    padding: 0.35em 0.65em;
    border-radius: 6px;
    display: inline-block;
}

/* TLAČÍTKO */
.magic-button {
    appearance: none;
    border: none;
    cursor: pointer;
    padding: 1rem 2.2rem;
    font-size: 1.2rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd36a, #ffb347);
    color: #2b1b00;
    font-weight: 600;
    box-shadow:
        0 0 20px rgba(255, 200, 120, 0.6),
        inset 0 0 10px rgba(255,255,255,0.4);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.magic-button:hover {
    transform: scale(1.05);
    box-shadow:
        0 0 35px rgba(255, 220, 150, 0.9),
        inset 0 0 12px rgba(255,255,255,0.6);
}

.magic-button:active {
    transform: scale(0.97);
}

/* STATUS ZPRÁVY */
.status {
    margin-top: 2rem;
    font-size: 0.95rem;
    font-weight: bold;
    opacity: 0.95;

    background: rgba(0,0,0,0.85);
    padding: 0.35em 0.65em;
    border-radius: 6px;
    display: inline-block;
}

.status.success {
    color: #b6ffcc;
}

.status.error {
    color: #ffb6b6;
}

/* MOBILNÍ DETAILY */
@media (max-width: 600px) {
    .bgimg-1 {
        background-attachment: scroll;
    }

    .magic-button {
        width: 100%;
        max-width: 280px;
    }

    .caption {
        padding: 2rem 1.5rem;
    }
}


/* AKTIVOVANÉ KOUZLO */
.magic-button.active {
    cursor: default;
    pointer-events: none;
    background: linear-gradient(135deg, #6edfa0, #3fbf7f);
    color: #0f3d2e;
    box-shadow:
        0 0 25px rgba(110, 223, 160, 0.7),
        inset 0 0 10px rgba(255,255,255,0.35);
}

/* HOVER – ALE JEN VIZUÁLNÍ */
.magic-button.active:hover {
    transform: scale(1.03);
    box-shadow:
        0 0 40px rgba(110, 223, 160, 0.9),
        inset 0 0 12px rgba(255,255,255,0.5);
}
/* INFO PANEL */
.info-panel {
    margin-top: 1.4rem;
    font-size: 0.85rem;
    color: #fff;

    background: rgba(0, 0, 0, 0.65);
    padding: 0.45em 0.8em;
    border-radius: 999px;

    display: inline-flex;
    align-items: center;
    gap: 0.4em;

    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.info-panel strong {
    font-weight: 600;
}

/* PATIČKA */
.footer {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);

    bottom: calc(1rem + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);

    font-size: 0.75rem;
    color: rgba(255,255,255,0.85);
    background: rgba(0,0,0,0.4);
    padding: 0.3em 0.7em;
    border-radius: 6px;

    z-index: 5;
    text-align: center;
    white-space: nowrap;
}

.footer a {
    color: rgba(255,255,255,0.95);
    text-decoration: none;
    font-weight: 500;

    /* jemné světlo */
    text-shadow:
        0 0 6px rgba(255,255,255,0.6),
        0 0 12px rgba(255,220,150,0.35);

    transition: text-shadow 0.25s ease, color 0.25s ease;
}

.footer a:hover {
    color: #fff;
    text-shadow:
        0 0 8px rgba(255,255,255,0.9),
        0 0 18px rgba(255,220,150,0.6),
        0 0 30px rgba(255,220,150,0.4);
}

