/* =========================================================
   REGENESIS
   RESPONSIVE DESIGN
   Mobile • Tablet • Desktop
   ========================================================= */


/* =========================================================
   EXTRA SMALL PHONES
   320px — 359px
========================================================= */

@media (max-width: 359px) {

    body {
        font-size: 14px;
    }

    .topbar {
        height: 62px;
        padding: 0 12px;
    }

    .brand {
        gap: 6px;
    }

    .brand-logo {
        width: 31px;
        height: 31px;
        border-radius: 9px;
        font-size: 15px;
    }

    .brand-name {
        font-size: 13px;
        letter-spacing: 0.5px;
    }

    .menu-btn {
        width: 35px;
        height: 35px;
    }

    .search-btn {
        width: 35px;
        height: 35px;
        font-size: 25px;
    }

    .search-box {
        top: 62px;
        padding: 10px 12px;
    }

    .filters {
        padding:
            16px
            12px
            13px;
        gap: 7px;
    }

    .filter {
        padding: 9px 14px;
        font-size: 12px;
    }

    .section-header {
        padding:
            10px
            12px
            12px;
    }

    .community-scroll {
        padding-left: 12px;
        padding-right: 12px;
        gap: 10px;
    }

    .community-card {
        flex: 0 0 205px;
        height: 210px;
        border-radius: 17px;
    }

    .community-cover {
        height: 136px;
    }

    .community-symbol {
        font-size: 45px;
    }

    .community-info {
        height: 74px;
        padding: 10px 11px;
    }

    .community-info h3 {
        font-size: 14px;
    }

    .community-info p {
        font-size: 11px;
    }

    .join-small {
        width: 32px;
        height: 32px;
        right: 10px;
        bottom: 15px;
        font-size: 21px;
    }

    .post {
        padding:
            19px
            12px
            18px;
    }

    .avatar {
        width: 43px;
        height: 43px;
        border-radius: 12px;
    }

    .post-content,
    .post-tags,
    .rating,
    .anime-mini-card,
    .poll,
    .post-actions {
        margin-left: 53px;
    }

    .post-content h3 {
        font-size: 17px;
    }

    .post-content p {
        font-size: 12.5px;
        line-height: 1.55;
    }

    .post-actions {
        gap: 15px;
    }

    .action {
        font-size: 19px;
    }

    .action span {
        font-size: 11px;
    }

    .create-btn {
        width: 52px;
        height: 52px;
        right: 14px;
        bottom: 82px;
        font-size: 30px;
    }

    .bottom-nav {
        height: 68px;
    }

    .bottom-item span {
        font-size: 21px;
    }

    .bottom-item small {
        font-size: 8px;
    }
}


/* =========================================================
   NORMAL PHONES
   360px — 479px
========================================================= */

@media (min-width: 360px) and (max-width: 479px) {

    .topbar {
        height: 68px;
        padding: 0 15px;
    }

    .search-box {
        top: 68px;
    }

    .filters {
        padding-left: 15px;
        padding-right: 15px;
    }

    .community-scroll {
        padding-left: 15px;
        padding-right: 15px;
    }

    .community-card {
        flex-basis: 225px;
    }

    .post {
        padding-left: 15px;
        padding-right: 15px;
    }

    .post-content h3 {
        font-size: 18px;
    }

    .post-content p {
        font-size: 13px;
    }

    .post-actions {
        gap: 18px;
    }

    .create-btn {
        right: 16px;
        bottom: 84px;
    }
}


/* =========================================================
   LARGE PHONES
   480px — 599px
========================================================= */

@media (min-width: 480px) and (max-width: 599px) {

    .topbar {
        padding-left: 22px;
        padding-right: 22px;
    }

    .filters {
        padding-left: 22px;
        padding-right: 22px;
    }

    .community-scroll {
        padding-left: 22px;
        padding-right: 22px;
    }

    .community-card {
        flex-basis: 245px;
    }

    .post {
        padding-left: 22px;
        padding-right: 22px;
    }

    .post-content h3 {
        font-size: 20px;
    }

    .post-content p {
        font-size: 14px;
    }
}


/* =========================================================
   LANDSCAPE PHONES
========================================================= */

@media (max-width: 767px) and (orientation: landscape) {

    .topbar {
        height: 58px;
    }

    .search-box {
        top: 58px;
    }

    .community-card {
        height: 190px;
    }

    .community-cover {
        height: 120px;
    }

    .community-info {
        height: 70px;
    }

    .bottom-nav {
        height: 60px;
    }

    .create-btn {
        bottom: 72px;
    }

}


/* =========================================================
   TABLETS
   600px — 767px
========================================================= */

@media (min-width: 600px) and (max-width: 767px) {

    .topbar {
        height: 72px;
        padding: 0 28px;
    }

    .brand-logo {
        width: 39px;
        height: 39px;
    }

    .brand-name {
        font-size: 17px;
    }

    .filters {
        padding:
            22px
            28px
            18px;
        gap: 11px;
    }

    .filter {
        padding: 12px 21px;
        font-size: 14px;
    }

    .section-header {
        padding:
            12px
            28px
            16px;
    }

    .community-scroll {
        padding:
            0
            28px
            28px;
        gap: 15px;
    }

    .community-card {
        flex-basis: 260px;
        height: 235px;
    }

    .community-cover {
        height: 155px;
    }

    .community-info {
        height: 80px;
    }

    .post {
        padding:
            26px
            28px
            23px;
    }

    .post-content h3 {
        font-size: 21px;
    }

    .post-content p {
        font-size: 14px;
    }

    .bottom-nav {
        height: 76px;
    }

    .create-btn {
        width: 60px;
        height: 60px;
        right: 28px;
        bottom: 92px;
    }
}


/* =========================================================
   SMALL DESKTOP
   768px — 1023px
========================================================= */

@media (min-width: 768px) and (max-width: 1023px) {

    .topbar {
        height: 72px;
        padding: 0 35px;
    }

    .page {
        width: 100%;
        max-width: 850px;
    }

    .filters {
        padding:
            24px
            35px
            18px;
    }

    .section-header {
        padding:
            12px
            35px
            17px;
    }

    .community-scroll {
        padding:
            0
            35px
            30px;
    }

    .community-card {
        flex-basis: 260px;
    }

    .post {
        padding:
            27px
            35px
            25px;
    }

    .post-content h3 {
        font-size: 21px;
    }

    .post-content p {
        font-size: 14px;
    }

    .bottom-nav {
        width: 650px;
        height: 76px;
    }

    .create-btn {
        right: 40px;
        bottom: 94px;
    }
}


/* =========================================================
   DESKTOP
   1024px — 1279px
========================================================= */

@media (min-width: 1024px) and (max-width: 1279px) {

    body {
        padding-bottom: 90px;
    }

    .topbar {
        height: 74px;
        padding: 0 45px;
    }

    .page {
        max-width: 900px;
    }

    .filters {
        padding:
            25px
            30px
            18px;
    }

    .section-header {
        padding:
            12px
            30px
            17px;
    }

    .community-scroll {
        padding-left: 30px;
        padding-right: 30px;
        gap: 16px;
    }

    .community-card {
        flex-basis: 275px;
        height: 240px;
    }

    .community-cover {
        height: 160px;
    }

    .post {
        padding:
            30px;
    }

    .post-content h3 {
        font-size: 22px;
    }

    .post-content p {
        font-size: 15px;
    }

    .bottom-nav {
        width: 720px;
    }

    .create-btn {
        right: 45px;
        bottom: 98px;
    }
}


/* =========================================================
   LARGE DESKTOP
   1280px+
========================================================= */

@media (min-width: 1280px) {

    body {
        padding-bottom: 95px;
    }

    .topbar {
        height: 76px;
        padding:
            0
            50px;
    }

    .page {
        max-width: 920px;
    }

    .filters {
        padding:
            28px
            0
            20px;
    }

    .section-header {
        padding:
            13px
            0
            18px;
    }

    .community-scroll {
        padding:
            0
            0
            32px;
        gap: 17px;
    }

    .community-card {
        flex-basis: 280px;
        height: 245px;
    }

    .community-cover {
        height: 164px;
    }

    .community-symbol {
        font-size: 58px;
    }

    .post {
        padding:
            32px
            0;
    }

    .post-content h3 {
        font-size: 23px;
    }

    .post-content p {
        font-size: 15px;
    }

    .bottom-nav {
        width: 750px;
        height: 78px;
    }

    .create-btn {
        right: calc(50% - 510px);
        bottom: 100px;
    }
}


/* =========================================================
   ULTRA WIDE SCREENS
   1600px+
========================================================= */

@media (min-width: 1600px) {

    .page {
        max-width: 960px;
    }

    .community-card {
        flex-basis: 290px;
    }

    .post-content h3 {
        font-size: 24px;
    }

    .post-content p {
        font-size: 15px;
    }

}


/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none) and (pointer: coarse) {

    .community-card:hover {
        transform: none;
        box-shadow: none;
    }

    .community-card:hover .community-cover {
        transform: none;
    }

    .post:hover {
        background: transparent;
    }

    .bottom-item:hover {
        transform: none;
    }

    .action:hover {
        transform: none;
    }

}


/* =========================================================
   VERY SHORT SCREENS
========================================================= */

@media (max-height: 650px) {

    .bottom-nav {
        height: 62px;
    }

    .create-btn {
        bottom: 72px;
    }

    .community-scroll {
        padding-bottom: 20px;
    }

}


/* =========================================================
   VERY TALL PHONES
========================================================= */

@media (max-width: 767px) and (min-height: 800px) {

    .bottom-nav {
        height: 76px;
    }

    .create-btn {
        bottom: 91px;
    }

}


/* =========================================================
   SAFE AREA — MODERN PHONES
========================================================= */

@supports (padding-bottom: env(safe-area-inset-bottom)) {

    body {
        padding-bottom:
            calc(
                90px +
                env(safe-area-inset-bottom)
            );
    }

    .bottom-nav {
        padding-bottom:
            env(safe-area-inset-bottom);

        height:
            calc(
                73px +
                env(safe-area-inset-bottom)
            );
    }

    .create-btn {
        bottom:
            calc(
                87px +
                env(safe-area-inset-bottom)
            );
    }

}


/* =========================================================
   PRINT
========================================================= */

@media print {

    .topbar,
    .bottom-nav,
    .create-btn,
    .search-box {
        display: none !important;
    }

    body {
        background: white;
        color: black;
        padding: 0;
    }

    .page {
        max-width: 100%;
    }

}