/*** RATE CARD ***/
.ratecard_wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    opacity: 1;
    visibility: visible;
    transition-duration: 200ms;
    align-items: center;
}

.fixed .ratecard_wrap {
    opacity: 0;
    visibility: hidden;
    transition-duration: 200ms;
}

.rate_card, .psi_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 16px;
    gap: 12px;
    border: 1px solid var(--main-black-shades-90);
    border-radius: var(--radius-xs);
    box-shadow: var(--boxshadow);
    color: var(--main-black);
    background-color: var(--main-white);
}
.ratecard_label, .psicard_label {
    white-space: nowrap;
}
.rate_card .ratecard_contents,
.psi_card .psicard_contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.rate_card .quip,
.psi_card .quip {
    line-height: normal;
    letter-spacing: 0.225px;
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 800;
}

.rate_card .percentile,
.psi_card .percentile {
    font-size: 10px;
    font-weight: 700;
    line-height: normal;
}

.ratecard_moreinfo {
    color: var(--main-greyblue-shades-70);
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}

.ratecard_moreinfo_psi {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 4px;
}

.ratecard_date {
    white-space: nowrap;
}

.rate_card .rating,
.psi_card .psi a {
    cursor: pointer;
}
.psi_card a {
    text-decoration: none;
}


/* COLLECTION CARDS */
.collection_card_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: 48%;
    margin-bottom: 24px;
}
.collection_card {
    border-radius: 10px;
    box-shadow: 0px 3px 5px #0000001A;
    border: 1px solid var(--main-black-shades-85);
    opacity: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    position: relative;
    cursor: pointer;
}

.collection_card_infowrap {
    display: flex;
    padding: 12px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    z-index: 4;
    width: 100%;
    height: 100%;
    position: absolute;
}

.collection_card_actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    align-self: stretch;
    width: 100%;
}
.collection_card_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}
.collection_card_info a {
    color: var(--main-white);
}
.collection_card_titlename {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 10px;
}
.collection_card .criticker_tooltip,
.collection_row .criticker_tooltip,
.collection_featured .criticker_tooltip {
    display: flex;
    color: var(--main-greyblue-shades-60);
}
.collection_card_description {
    display: none;
    text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.50);
    text-align: left;
    transition-duration: 1000ms;
}
.collection_card:hover .collection_card_description {
    display: flex;
}
.collection_card_statsrow {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    gap: 8px;
}
.collection_card_stat {
    display: flex;
    align-items: baseline;
    gap: 2px;
}
.collection_card_statsrow .separator {
    width: 1px;
    height: 16px;
    background: rgba(255, 255, 255, 0.25);
}
.collection_card_statslabel {
    font-size: 10px;
    font-weight: 400;
    letter-spacing: -0.1px;
}
.collection_card_images {
    display: flex;
    overflow: hidden;
    border-radius: 10px;
    width: auto;
    height: auto;
    position: relative;
}

/* More Responsive */
.collection_card_images:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(
    180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.00) 27.6%, rgba(0, 0, 0, 0.49) 50%, rgba(0, 0, 0, 0.70) 86.98%);
    z-index: 2;
}

img.collection_card_poster {
    position: relative;
    width: calc((100% + 48px) / 3);
    aspect-ratio: 60/89;
    border-radius: 0 10px 10px 0;
}
img.collection_card_poster.card_0 {
    box-shadow: 4px 0px 10px rgb(0 0 0 / 50%);
    z-index: 2;
}
img.collection_card_poster.card_1 {
    box-shadow: 4px 0px 10px rgb(0 0 0 / 50%);
    z-index: 1;
    margin-left: -24px;
}
img.collection_card_poster.card_2 {
    z-index: 0;
    margin-left: -24px;
}
.collection_card_footer {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
    padding: 10px 4px;
    gap: 8px;
}
.collection_card_meta {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 8px;
}

.collection_row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: 4px 12px 6px 12px;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-bottom: 1px solid var(--main-black-shades-90);
}
.collection_row:hover {
    background-color: var(--main-greyblue-shades-95);
}
.collrow_name {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
    font-size: 13px;
}
.collrow_name a {
    color: var(--main-black);
    flex-grow: 1;
}
.collrow_collname {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    flex-grow: 1;
}
.collrow_collname_name {
    max-width: 300px;
    text-overflow: ellipsis;
    font-size: 13px;
}
.collrow_collname_name a.textlink {
    color: var(--main-black);
}
.collrow_moderator {
    width: 130px;
    display: flex;
}
.collrow_datawrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.collrow_data {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    text-align: left;
}
.collrow_lastupdated {
    width: 90px;
}
.collrow_numtitles,
.collrow_numseen,
.collrow_avgpct {
    display: flex;
    flex-direction: row;
    gap: 2px;
    align-items: center;
    width: 50px;
}
.collrow_bookmark {
    width: 70px;
    display: flex;
    justify-content: flex-start;
}
.collrow_data_label {
    display: none;
}
.collrow_separator {
    display: none;
}

/* For v small screens, 320-380 */
@media screen and (max-width: 575px) {
    .collection_card_container {
        width: 96%;
    }
}

@media screen and (max-width: 575px) {
    .collection_row {
        border-bottom: 1px solid var(--main-black-shades-90);
        padding: 10px;
        gap: 4px;
    }
    .collrow_name {
        max-width: 100%;
    }
    .collrow_name a {
        flex-grow: 0;
    }
    .collrow_collname_link {
        overflow-x: hidden;
        white-space: nowrap;
    }
    .collrow_moderator {
        justify-content: flex-end;
    }
    .collrow_lastupdated {
        display: none;
    }
    .collrow_data {
    }
    .collrow_datawrap {
        width: 100%;
    }
    .collrow_numtitles,
    .collrow_numseen,
    .collrow_avgpct {
        width: auto;
    }
    .collrow_data_value {
        font-weight: 700;
    }
    .collrow_data_label {
        display: flex;
    }
    .collrow_bookmark {
        justify-content: flex-end;
    }
    .collrow_separator {
        width: 1px;
        height: 30px;
        background: var(--main-black-shades-90);
        display: flex;
    }
}

/* Featured Collections */
.collection_featured {
    position: relative;
    overflow: hidden;
    display: flex;
    width: 564px;
    height: 300px;
    padding: 16px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    border-radius: var(--radius-xs);
    box-shadow: var(--boxshadow-lg);
    background-color: var(--main-black-shades-80);
    color: var(--main-white);
    text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.50);
}

.collection_featured::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center;
    transition: background 0.3s ease; /* Add transition for smooth effect */
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.00) 27.6%, rgba(0, 0, 0, 0.35) 66.67%, rgba(0, 0, 0, 0.50) 86.98%);
}
.collection_featured:hover::before {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.00) 27.6%, rgba(0, 0, 0, 0.52) 66.67%, rgba(0, 0, 0, 0.75) 86.98%);
}

.collftr_toprow {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    z-index:2;
}
.collftr_databookmark_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.collection_datawrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
.collection_data {
    display: flex;
    align-items: baseline;
    gap: 2px;
}
.collection_data_value {
    text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.50);
}
.collection_data_label {
    font-size: 10px;
    font-weight: 400;
    letter-spacing: -0.1px;
    text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.50);
    white-space: nowrap;
}
.collection_separator {
    width: 1px;
    height: 14px;
    background: var(--main-white);
}
.collftr_bookmark {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}
.collftr_infowrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 8px;
    z-index: 3;
}
.collftr_infowrap a {
    color: var(--main-white);
}
.collftr_titlemoderator_wrap {
    display: flex;
    flex-direction: row;
    gap: 10px;
    width: 100%;
}
.collftr_titlewrap {
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.collftr_moderator {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}
.collftr_moderator .textlink {
    color: var(--main-white);
}
.collftr_description {
    text-align: left;
}
.collftr_bottomrow .collection_datawrap {
    display: none;
}
@media screen and (max-width: 575px) {
    .collection_featured {
        width: 342px;
        height: 330px;
    }
    .collftr_toprow .collection_datawrap {
        display: none;
    }
    .collftr_bottomrow .collection_datawrap {
        display: flex;
    }
}

/* TITLE CARDS */
.titlecard.locked {
}
.titlecard {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;

    max-width: 200px;
    aspect-ratio: 2/3;
    background-size: cover;
    padding: 8px;

    border-radius: var(--radius-xs);
    border: 1px solid var(--main-black-shades-85);
    box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.10);

    cursor: pointer;
}
.titlecard::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-position: center;
    transition: background 0.3s ease; /* Add transition for smooth effect */
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.00) 27.6%, rgba(0, 0, 0, 0.35) 66.67%, rgba(0, 0, 0, 0.50) 86.98%);
    border-radius: var(--radius-xs);
}
.titlecard:hover::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.90) 77.6%);
}
.titlecard.locked::before {
    backdrop-filter: blur(10px);
}
.titlecard_toprow {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    z-index: 1;
}
.titlecard_content {
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    width: 100%;
}
.titlecard_titlename {
    text-align: left;
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    letter-spacing: -0.16px;
    color: var(--main-white);
}
.titlecard_titlename a {
}
.titlecard_button {
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: 100%;
}
.titlecard_button .cardbutton_svg {
    display: flex;
}
.titlecard_button button {
    flex-grow: 1;
    min-height: 39px;
    padding: 0 4px;
    line-height: 16px;
}

.titlecard_watchlist {
    z-index: 4;
}
.titlecard .psi {
    z-index: 4;
}

/*** ADVERTISING ***/

/*** RATING CARDS ***/
.rating_card {
    display: flex;
    padding: 12px;
    flex-direction: column;
    align-items: flex-start;
    border-radius: var(--radius-xs);
    border: 1px solid var(--main-black-shades-90);
    width: 100%;
    background-color: var(--main-white);
}
.rating_card.mine {
    border: 1px solid var(--main-black-shades-85, #D9D9D9);
    background: var(--main-black-shades-97, #F7F7F7);
}
.rating_card.compact {
    border: none; 
    border-radius: 0;
    border-bottom: 1px solid var(--main-black-shades-90);
    display: flex;
    width: 100%;
    padding: 6px 12px 8px 12px;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
.ratingcard_header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.ratingcard_header_left {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    max-width: 66%;
}
.ratingcard_avatar span {
    white-space: nowrap;
}
.ratingcard_tciwrap {
    display: flex;
    flex-direction: row;
    gap: 4px;
    align-items: center;
}
.ratingcard_percentile {
    width: 46px;
}
@media screen and (max-width: 575px) {
    .ratingcard_percentile {
        width: 38px;
        text-align: right;
    }
    .rating_card.compact .ratingcard_percentile {
        width: 33px;
    }
}

.ratingcard_header_right {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}
.compact .ratingcard_header_right {
    gap: 8px;
}
.ratingcard_ratingwrap {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}
.ratingcard_textfooter_wrap {
    display: flex;
    padding-left: 46px;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 8px;
}
.compact .ratingcard_textfooter_wrap {
    padding-left: 0px;
    display: none;
}
.compact.expanded .ratingcard_textfooter_wrap {
    display: flex;
}
.ratingcard_review {
    text-align: left;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    max-width: 100%;
    padding-right: 48px;
}
@media screen and (max-width: 575px) {
    .ratingcard_review {
        padding-right: 0px;
    }
}
.ratingcard_footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
}
.ratingcard_footer_right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 16px;
}
.ratingcard_daterated {
    color: var(--main-black-shades-70);
}
.rating_card.review .ratingcard_header .ratingcard_daterated {
    display: none;
}
.rating_card.compact.review .ratingcard_header .ratingcard_daterated {
    display: block;
}
.ratingcard_morediv {
    position: relative;
}
.ratingcard_moremenu {
    position: absolute;
    border: 1px var(--main-black-shades-85) solid;
    font-size: 12px;
    padding: 8px 16px;
    top: 50%;
    left: 100%;
    border-radius: 6px;
    background-color: white;
    display: none;
}
button.ratingcard_mystars { 
    color: var(--main-black);
}
button.ratingcard_mystars .buttonsvg {
    color: var(--ratings-yellow);
}

.ratingcard_compact_reviewwrap,
.ratingcard_compact_reviewwrap_mobile {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
}
.expanded .ratingcard_compact_reviewwrap {
    display: none;
}
.ratingcard_compact_reviewwrap_mobile {
    display: none;
}
.ratingcard_compact_excerpt {
    align-items: center;
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.12px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
    max-width: 360px;
    padding-right: 2px;
}

.ratingcard_compact_fullquote {
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.12px;
    line-height: 17px; /* 141.667% */
    text-align: left;
    display: none;
}
.expanded .ratingcard_compact_fullquote {
    display: flex;
}

@media screen and (max-width: 575px) {
    .rating_card {
        border-radius: 0;
        gap: 12px;
        border-bottom: 0;
    }
    .rating_card.mine {
        border-radius: var(--radius-xs);
        border: 1px solid var(--main-black-shades-85);
        background: var(--main-black-shades-97);
    }
    .rating_card.compact {
        gap: 10px;
        padding: 6px 6px 8px 6px;
    }
    .ratingcard_textfooter_wrap {
        padding-left: 0;
    }
    .mine .ratingcard_header .ratingcard_daterated {
        display: flex;
    }
    /* Basically, we're hard-coding the "micro" class here, which I don't 
       love, but we need to be responsive, and this is the easiest way
    */
    .ratingcard_avatar .avatarname {
        gap: 4px;
        font-size: 13px;
        letter-spacing: -0.13px;
        font-weight: 500;
    }
    .ratingcard_avatar .avatarname.medium .avatar {
        width: 24px;
        height: 24px;
    }

    .ratingcard_compact_reviewwrap {
        display: none;
    }
    .ratingcard_compact_reviewwrap_mobile {
        display: flex;
        width: 100%;
    }
    .expanded .ratingcard_compact_reviewwrap_mobile {
        display: none;
    }

    .ratingcard_ratingwrap {
        gap: 4px;
    }
}