@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

* {
    font-family: "DM Sans";
    margin: 0;
    box-sizing: border-box;
}

body {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    background: #0f0f0f;
    color: #e9e9e9;
    min-height: 100vh;

    a {
        color: #f5f5f5;
    }

    align-items: center;
    text-align: center;

    button {
        border: 0;
        border-radius: 12px;
        padding: 14px 28px;
        font-size: 16px;
        font-weight: 600;
        background: #1d1d1d;
        color: #ffffff;
        cursor: pointer;
        transition: all 0.3s ease;
        margin-top: 10px;
    }
    button:hover {
        transform: translateY(-2px);
    }

    button:active {
        transform: translateY(0);
    }
}

.banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100%;
    max-width: 800px;
    gap: 10px;
    padding: 20px;
}

.banner img {
    max-width: 100%;
    object-fit: contain;
}

.banner h1 {
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    margin: 10px 0;
}

.banner p {
    font-size: clamp(0.9rem, 2.5vw, 1.1rem);
    line-height: 1.6;
    max-width: 100%;
}

.banner button {
    font-size: clamp(0.875rem, 2vw, 1rem);
    padding: clamp(10px, 2vw, 14px) clamp(20px, 4vw, 28px);
    width: auto;
    max-width: 100%;
}

.banner > div {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

::selection {
    color: #1d1d1d;
    background-color: #ffffff;
}

/* Media queries dla bardzo małych ekranów */
@media (max-width: 480px) {
    .banner {
        padding: 15px;
        gap: 8px;
    }
    
    .banner button {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 360px) {
    .banner {
        padding: 10px;
    }
}