/* Alapértelmezett (Világos) téma */
:root {
    --bg-color: #ffffff;
    --text-color: #121212;
    --card-shadow: 3px 3px 10px lightgrey;
    --bg-color-footer: #fafafa;
}

/* Sötét téma osztály */
body.dark-mode {
    --bg-color: #121212;
    --text-color: #f1f1f1;
    --card-shadow: 3px 3px 10px rgba(10, 10, 10, 0.5);
    --bg-color-footer: #000000;
}

/* Alkalmazzuk a színeket a body-ra */
body {
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s ease, color 0.3s ease;
    margin: 0;
}

#main-nav {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: transparent;
    padding: 5px;
    box-shadow: var(--card-shadow);
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

#links {
    display: flex;
    align-items: center;
    gap: 15px;
}

#links a,
#dark-mode-switcher a {
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    line-height: 50px;
    letter-spacing: 1px;
    font-weight: 500;
    text-decoration: none;
    color: inherit;
}

#hero-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: hidden;
}

#hero-banner img {
    max-width: 60%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-bottom: 1px solid lightgray;
}

.products {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#products-sum {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

#products-sum h1,
#products-sum h2 {
    font-family: "Playfair Display", serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 44px;
    letter-spacing: 0.5px;
    text-align: center;
}

#products-sum ul {
    font-family: "Playfair Display", serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 50px;
    list-style: none;
    list-style-position: inside;
    text-align: center;
    padding: 0;
}

#products-sum ul li::before {
    content: "- ";
    font-weight: bold;
}

#products-sum img {
    margin-bottom: 10px;
}

#product-20L1,
#product-20L2,
#product-app {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 1080px;
}

#product-20L1 h1,
#product-20L2 h1,
#product-app h1 {
    font-family: "Playfair Display", serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 40px;
    text-align: center;
    padding: 0;
}

#product-20L1-img,
#product-20L2-img {
    width: 100%;
    max-width: 500px;
    height: auto;
    display: block;
    margin: 0px auto;
}

#product-20L1 p,
#product-20L2 p {
    text-align: justify;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    line-height: 24.6px;
    letter-spacing: 0px;
    margin: 10px;
}

#product-20L1 h3,
#product-20L2 h3 {
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    letter-spacing: 0px;
    font-weight: 400;
}

#product-download {
    width: 100%;
    max-width: 166px;
    height: auto;
    display: block;
    margin: 10px auto;
}

#product-app-img {
    width: 100%;
    max-width: 1080px;
    height: auto;
    display: block;
    margin: 10px auto;
}

#products-separator {
    width: 100%;
    max-width: 1080px;
    height: auto;
    display: block;
    margin: 10px auto;
}

#footer {
    text-align: center;
    background-color: var(--bg-color-footer);
    padding-top: 5px;
    padding-bottom: 5px;
}

/* Téma váltó gomb stílusa */
#themeToggleBtn {
    background: transparent;
    border: 0px;
    color: inherit;
    font-size: 1.2rem;
    padding: 8px 12px;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}

#themeToggleBtn:hover {
    transform: scale(1.1);
}

#scrollToTopBtn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #5f5f5f;
    /* Tetszőleges háttérszín */
    color: #ffffff;
    /* Nyíl színe */
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    /* Mindig a többi elem felett marad */
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

#scrollToTopBtn:hover {
    background-color: #0056b3;
    /* Sötétebb árnyalat rávitelnél */
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
}

#scrollToTopBtn:active {
    transform: translateY(0);
}