/* General Settings */
    :root {
        --bg-primary: #0e0e0e;           /* Background Header / Footer */
        --bg-secondary: #1a1a1a;         /* Background */
        --accent-primary: #ffa0c5;       /* Headings, Buttons & Icons */
        --accent-secondary: #ff69b4;     /* Borders */
        --text-primary: #fdfdfd;         /* Paragraphs */
        --text-muted: #b8b8b8;           /* Smaller descriptions / details*/
        --nsfw-red: #d91414;             /* Warnings */

        --hover: #f800d70c;

        --title: 'Altavoz';                /* Titles & Buttons */
        --body: 'Otoman';                  /* Paragraphs */

        --main-header: 3.5rem;               /* Index heading */
        --base-text: 1rem;                 /* Parapgrahs */

        --shadow: 4px 4px 10px rgba(255, 255, 255, .2); /* ALL shadows */
    }

    /*
        To-Do List:
            1. Responsive Gallery.
            2. Remove buttons, turn into sections. (Left and Right part of the screen turn the page)
            3. Story: Yukari Market
    */

/* FONTS */
    @font-face {
        font-family: 'Altavoz';
        src: url(fonts/RRR-Altavoz.otf);
    }
    @font-face {
        font-family: 'Otoman';
        src: url(fonts/OtomanopeeOne-Regular.ttf);
    }

    *, *:before, *:after, html, body {padding: 0; margin: 0; box-sizing: border-box;}
    
    body {
        height: 100%; width: 100%;
        background-color: var(--bg-secondary);
    }
    
    h1, h2, h3, h4, h5, h6, a {
        user-select: none;
        font-family: var(--title);
        color: var(--accent-primary);
    }

    p {
        font-family: var(--body);
        color: var(--text-primary);
    }

    a {
        cursor: pointer;
        text-decoration: none;
    }

        h1 {
            font-size: 4rem;
        }

        h4 {
            color: var(--text-muted);
        }

/* Header */
header {
    display: flex; flex-direction: row;
    justify-content: space-around;
    align-items: center;
    gap: 40%;
    height: 3rem; min-width: 100%;
    background-color: var(--bg-primary);
    color: var(--accent-primary);
}

    .options {
        display: flex;
        justify-content: space-around;
        align-items: center;
        width: 32%;
    }

        .nsfwFilter {
            cursor: default;
            font-family: var(--body);
        }

            .nsfwFilter a {
                cursor: default;
            }

            .nsfwFilter input {
                cursor: pointer;
            }

                #nsfwONOFF {
                    cursor: default;
                }

    .menu {
        cursor: pointer;
        width: 2rem;
    }

/* Hero */
.hero {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    margin: 10% auto;
    min-height: 80%; max-width: 90%;
    gap: 2rem;
}

    .hero div {
        flex: 1 1 400px;
    }

    .heroBtns {
        display: flex;
    }

        .heroBtns a {
            margin: 1rem 1rem .5rem 0;
            padding: 1rem;
            border: 2px solid var(--accent-primary);
            transition: .2s;
        }
            .heroBtns a:hover {
                background-color: var(--hover);
                border: 2px solid var(--accent-secondary);
            }

        .hero div img {
            width: 100%;
            border-radius: 2rem;
            box-shadow: var(--shadow);
        }

/* Showcase */
.showcase {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin: 2% auto;
    max-width: 90%;
    gap: 2rem;
    align-items: stretch;
}

    .showcase div {
        display: flex; flex-direction: column;
        text-align: center;
        margin: auto;
        flex: 1 1 30%;
        height: auto; min-width: 300px; 
        max-width: 100%;
    }

        .showcase div img {
            max-width: 100%;
            margin: .5rem auto;
            box-shadow: var(--shadow);
        }

        .showcase div p, h3 {
            text-align: left;
        }

        .showcase div a {
            margin: 1rem 0;
            padding: 1rem;
            border: 2px solid var(--accent-primary);
            transition: .2s;
        }
            .showcase div a:hover {
                background-color: var(--hover);
                border: 2px solid var(--accent-secondary);
            }

/* News */
.new {
    display: flex; 
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 2% auto;
    width: 90%;
    background-color: var(--bg-primary);
    border-radius: 16px;
}

    .new div {
        display: flex; flex-direction: column;
        flex: 1 1 30%;
        justify-content: space-around;
        flex-wrap: wrap;
        margin: 0;
        min-width: 280px;
        padding: 2rem;
    }

        .new div span {
            display: flex;
            object-fit: fill;
            overflow: hidden;
            aspect-ratio: 4 / 3;
            height: 50%; width: 100%;
            border-radius: 16px;
            box-shadow: var(--shadow);
        }

            .new div h3 {
                display: flex;
                align-items: center;
                gap: 1rem;
                margin: 1rem 0 0 0;
            }

            .new div span img {
                display: block;
                object-fit: cover;
                height: 100%; width: 100%;
                transition: .2s;
            }
                .new div span img:hover {
                    transform: scale(1.1);
                }

/* Footer */
footer {
    display: flex; flex-direction: row;
    justify-content: space-around;
    align-items: center;
    user-select: none;
    gap: 40%;
    height: 3rem; min-width: 100%;
    background-color: var(--bg-primary);
    color: var(--accent-primary);
}

/* PAGE: LIST */
.list {
    display: flex; flex-direction: row;
    height: 100%; width: 100%;
}

    .doujins {
        display: grid; flex-direction: row;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));;
        margin: 2% auto;
        height: auto; width: 90%;
    }

        .manga {
            display: flex; flex-direction: column;
            cursor: pointer;
            margin: 1% auto;
            height: 80%; width: 90%;
            padding: 1rem;
            border-radius: 16px;
            gap: .5rem;
            background-color: var(--bg-primary);
        }

            .manga div {
                display: flex; flex-direction: column;
                height: 100%; width: 100%;
                min-width: 30%;
                overflow: hidden;
                object-fit: cover;
                transition: .2s;
            }
                .manga div:hover {
                    box-shadow: var(--shadow);
                }

                .manga div img {
                    display: block;
                    object-fit: cover;
                    height: 100%; width: 100%;
                    min-height: 400px; min-width: 300px;
                    transition: .2s;
                }
                    .manga div img:hover {
                        transform: scale(1.1);
                    }

                .manga h3 {
                    font-size: 1.3rem;
                }

/* PAGE: Doujin */
.doujinIntro {
    display: flex; flex-direction: row;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 2% auto;
    gap: 1rem;
    height: 100%; width: 90%;
}

    .doujinIntro img {
        object-fit: cover;
        width: 35%; min-width: 310px;
        margin: 2% auto;
        border-radius: 16px;
        box-shadow: var(--shadow);
    }

    .doujinDetails {
        display: flex; flex-direction: column;
        flex: 1 1 400px;
        height: auto; max-width: 800px;
        padding: 2rem;
        gap: 1rem;
        border-radius: 16px;
        background-color: var(--bg-primary);
    }

        .doujinDetails p {
            padding: 1rem;
            border-radius: 8px;
            background-color: var(--bg-secondary);
        }

    .read {
        display: grid;
        margin: 2% auto;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        height: 100%; width: 100%;
        padding: 1rem;
        border-top: 1px solid var(--accent-secondary);
        border-bottom: 1px solid var(--accent-secondary);
        background-color: var(--bg-primary);
    }

        .read img {
            cursor: pointer;
            margin: 3% auto;
            max-width: 60%;
            transition: .2s;
        }
            .read img:hover {
                transform: scale(1.05);
                box-shadow: var(--shadow);
            }

    .zoomed {
        display: none;
        position: fixed;
        justify-content: center;
        pointer-events: none;
        top: 0; left: 0;
        height: 100%; width: 100%;
        z-index: 999;
    }

    .zoomed img {
        display: block;
        pointer-events: all;
        height: auto; width: auto;
        margin: auto;
        max-height: 90vh; max-width: 90vw;
        z-index: 999;
    }

        .navZone {
        position: absolute;
        top: 0;
        height: 100%;
        width: 50%;
        z-index: 998;
        pointer-events: all;
    }

            #leftZone {
                left: 0;
                z-index: 1000;
            }

            #rightZone {
                right: 0;
                z-index: 1000;
            }

        #closeZOOM {
            position: fixed;
            transform: translate(-50%, -50%); top: 5%; right: 5%;
            z-index: 1001;
        }

            #closeZOOM img {
                cursor: pointer;
                width: 70%;
            }

/* PAGE: Gallery */
.galImages {
    display: flex; 
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 2% auto;
    gap: 2rem;
    height: 100%; width: 90%;
}

    .galImages img {
        margin: auto;
        text-align: center;
        max-width: 400px;
        padding: .5rem;
        background-color: var(--bg-primary);
        transition: .2s;
    }
    .galImages img:hover {
        transform: scale(1.05);
    }

/* MISC Options */
    /* NSFW Mode */
    .nsfwMode {
        filter: blur(.3rem) opacity(.2) grayscale(1) contrast(.3);
    }

    /* Options Menu */
    .optMenu {
        position: fixed;
        display: none; flex-direction: column;
        justify-content: space-between;
        height: 80%; width: 80%;
        top: 50%;
        left: 50%;
        padding: 2rem;
        background-color: var(--bg-primary);
        border: 2px solid var(--accent-secondary);
        border-radius: 16px;
        box-shadow: var(--shadow);
        transform: translate(-50%, -50%);
        z-index: 1000;
    }

        .optClose {
            display: flex; flex-direction: row-reverse;
            width: 100%;
        }

            .optClose img {
                cursor: pointer;
                width: 2rem;
            }

        .optButtons {
            display: flex; flex-direction: column;
            flex-wrap: wrap;
            height: 90%; width: 100%;
        }

            .optButtons a {
                text-align: center;
                min-width: 70%;
                padding: 1rem;
                margin: 1rem auto;
                border: 2px solid var(--accent-primary);
                box-shadow: var(--shadow);
                transition: .2s;
            }
                .optButtons a:hover {
                    background-color: var(--hover);
                    border: 2px solid var(--accent-secondary);
                }

    .selected {
        color: var(--text-primary);
        background-color: var(--accent-primary);
    }

    .rating {
        text-align: center;
        font-size: 1.5rem;
        max-width: 10%;
        border-radius: 15px;
    }

        .r18 {
            color: black;
            background-color: red;
        }

        .r16 {
            color: black;
            background-color: lime;
        }

    /* Overlay */
    #overlay {
        display: none;
        position: fixed;
        height: 150vh; width: 150vw;
        top: 0;
        opacity: .7;
        background-color: black;
        z-index: 990;
    }




/* RESPONSIVE via Media QUERY */
@media (max-width: 900px) {
    .rating {
        max-width: 30%;
    }
}



/* Debugging */
    /* * {
        border: 1px solid lime;
    } */

/* Tasks 
    1 - Translate Everything
    2 - Add More Manga
    3 - Colored age rating -> r18, r16, PG
    4 - More movement
    5 - Add web icon
    6 - List titles bigger / White text too hard on the eyes
*/ 