/* Voicepa premium search UI / results grid */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.vp-searchbar-mount,
.vp-searchbar-mount *,
.vp-global-search,
.vp-global-search *,
.voicepa-search-page,
.voicepa-search-page * {
    box-sizing: border-box;
}

/* Header search mount */
#top-nav .vp-searchbar-mount--desktop {
    float: left;
    width: 438px;
    max-width: 438px;
    margin: 7px 0 0 14px;
}

.vp-global-search {
    width: 100%;
    color: #2c2530;
}

.vp-global-search__shell {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 42px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 246, 250, 0.95));
    box-shadow: 0 12px 30px rgba(255, 122, 166, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.vp-global-search__shell:focus-within {
    border-color: rgba(255, 117, 161, 0.88);
    box-shadow: 0 14px 34px rgba(255, 89, 145, 0.28), 0 0 0 3px rgba(255, 135, 177, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.96);
    transform: translateY(-1px);
}

.vp-global-search__select-wrap {
    position: relative;
    flex: 0 0 104px;
    min-width: 0;
}

.vp-global-search__select-wrap::after {
    content: "";
    position: absolute;
    right: 13px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid #9b5270;
    border-bottom: 2px solid #9b5270;
    pointer-events: none;
    transform: translateY(-64%) rotate(45deg);
}

.vp-global-search__select,
.vp-global-search__input,
.vp-global-search__button {
    margin: 0;
    font-family: inherit;
    line-height: 1;
    outline: none;
}

.vp-global-search__select {
    width: 100%;
    height: 34px;
    padding: 0 28px 0 15px;
    border: 0;
    border-radius: 999px;
    color: #7d234b;
    background: linear-gradient(180deg, #fff0f6 0%, #ffe4ee 100%);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.02em;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.vp-global-search__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 34px;
    padding: 0 13px;
    border: 0;
    color: #332630;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
}

.vp-global-search__input::placeholder {
    color: rgba(97, 69, 83, 0.66);
    font-weight: 600;
}

.vp-global-search__input::-webkit-search-decoration,
.vp-global-search__input::-webkit-search-cancel-button,
.vp-global-search__input::-webkit-search-results-button,
.vp-global-search__input::-webkit-search-results-decoration {
    -webkit-appearance: none;
}

.vp-global-search__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    height: 34px;
    min-width: 78px;
    padding: 0 16px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #ff6d9d 0%, #ff965c 100%);
    box-shadow: 0 8px 18px rgba(223, 70, 120, 0.28);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.vp-global-search__button:hover,
.vp-global-search__button:focus-visible {
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(223, 70, 120, 0.34);
    filter: saturate(1.05);
}

.vp-global-search__button-icon {
    position: relative;
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.vp-global-search__button-icon::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -4px;
    width: 7px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: rotate(45deg);
}

.vp-global-search__hint {
    margin: 7px 10px 0;
    color: rgba(94, 58, 76, 0.76);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.vp-global-search--header .vp-global-search__hint {
    display: none;
}

.vp-global-search--header .vp-global-search__shell {
    min-height: 38px;
    padding: 3px;
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.vp-global-search--header .vp-global-search__select,
.vp-global-search--header .vp-global-search__input,
.vp-global-search--header .vp-global-search__button {
    height: 32px;
}

.vp-global-search--header .vp-global-search__input {
    font-size: 13px;
}


@media (max-width: 520px) {
    .vp-global-search__shell {
        min-height: 44px;
        padding: 4px;
    }
    .vp-global-search__select-wrap {
        flex: 0 0 88px;
    }
    .vp-global-search__select {
        padding-left: 12px;
        font-size: 12px;
    }
    .vp-global-search__input {
        padding: 0 9px;
        font-size: 13px;
    }
    .vp-global-search__button {
        min-width: 44px;
        padding: 0 12px;
    }
    .vp-global-search__button-text {
        display: none;
    }
}

#page.voicepa-search-page {
    width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 5px;
    align-items: flex-start;
    color: #2c2530;
}

.voicepa-search-content,
.voicepa-search-content * {
    box-sizing: border-box;
}

.voicepa-search-content.article {
    min-width: 0;
}

.voicepa-search-hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 10px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 22px;
    background:
        radial-gradient(circle at 8% 4%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0) 32%),
        linear-gradient(135deg, rgba(255, 250, 253, 0.98), rgba(255, 229, 240, 0.94));
    box-shadow: 0 14px 34px rgba(205, 78, 124, 0.13);
}

.voicepa-search-hero::before,
.voicepa-search-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.voicepa-search-hero::before {
    right: -74px;
    top: -86px;
    width: 186px;
    height: 186px;
    background: rgba(255, 124, 166, 0.18);
}

.voicepa-search-hero::after {
    left: 54%;
    bottom: -112px;
    width: 180px;
    height: 180px;
    background: rgba(255, 166, 94, 0.13);
}

.voicepa-search-hero__copy,
.voicepa-search-hero__form,
.voicepa-search-tabs {
    position: relative;
    z-index: 1;
}

.voicepa-search-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin-bottom: 7px;
    padding: 0 10px;
    border-radius: 999px;
    color: #b33a67;
    background: rgba(255, 255, 255, 0.74);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.voicepa-search-hero__title {
    margin: 0;
    color: #352833;
    font-size: clamp(22px, 3.1vw, 32px);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.voicepa-search-hero__lead {
    margin: 8px 0 0;
    color: rgba(60, 42, 52, 0.78);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.65;
}

.voicepa-search-hero__form {
    margin-top: 13px;
}

.voicepa-search-hero .vp-global-search__shell {
    min-height: 48px;
}

.voicepa-search-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.voicepa-search-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(255, 126, 168, 0.22);
    border-radius: 999px;
    color: #884362 !important;
    background: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(190, 89, 126, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.voicepa-search-tabs__item:hover,
.voicepa-search-tabs__item:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(190, 89, 126, 0.14);
}

.voicepa-search-tabs__item.is-active {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, #ff6d9d 0%, #ff965c 100%);
    box-shadow: 0 8px 18px rgba(223, 70, 120, 0.24);
}

.voicepa-search-results {
    clear: both;
    width: 100%;
    container-type: inline-size;
}

.voicepa-search-results__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    margin: 0 0 6px;
}

.voicepa-search-results__title {
    margin: 0;
    color: #362a34;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.3;
}

.voicepa-search-results__count {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    color: #aa4269;
    background: #fff1f6;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.voicepa-search-results-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    align-items: start;
    width: 100%;
    clear: both;
    margin: 0;
    padding: 0;
    list-style: none;
}

.voicepa-search-results-grid::before,
.voicepa-search-results-grid::after {
    content: none !important;
    display: none !important;
}

.voicepa-search-results-grid > * {
    min-width: 0;
}

/*
 * Search result tiles are intentionally isolated from the old top-page
 * float/table-cell/height-adjustment scripts. They keep the same visual UX as
 * page-index.php — square media tiles, ribbons, age labels and bottom overlay —
 * but the media area is a single absolute-fit box, so thumbnails cannot slide
 * below the prepared grid base on any viewport width.
 */
.vp-search-result-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: 1 / 1;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #fff4f8, #f8f4ff) !important;
    box-shadow: none !important;
    isolation: isolate;
    transform: translateZ(0);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.vp-search-result-card:hover,
.vp-search-result-card:focus-within {
    transform: translateY(-2px) translateZ(0);
    box-shadow: 0 10px 22px rgba(71, 40, 53, 0.12) !important;
}

.vp-search-result-card__link {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    color: inherit !important;
    text-decoration: none !important;
    border-radius: inherit !important;
}

.vp-search-result-card__media {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    background: linear-gradient(135deg, #fff4f8, #f8f4ff) !important;
}

.vp-search-result-card__image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
    object-fit: cover !important;
    object-position: center center !important;
    aspect-ratio: auto !important;
    transform: translateZ(0);
    transition: transform 0.35s ease, filter 0.35s ease;
}

.vp-search-result-card:hover .vp-search-result-card__image,
.vp-search-result-card:focus-within .vp-search-result-card__image {
    transform: scale(1.035) translateZ(0);
}

.vp-search-result-card__overlay {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 3 !important;
    display: block !important;
    min-height: 78px;
    padding: 36px 8px 8px !important;
    border-radius: 0 0 15px 15px !important;
    color: #fff !important;
    background: linear-gradient(180deg, rgba(18, 14, 20, 0) 0%, rgba(18, 14, 20, 0.56) 42%, rgba(18, 14, 20, 0.86) 100%) !important;
    pointer-events: none;
}

.vp-search-result-card__title {
    display: -webkit-box !important;
    overflow: hidden !important;
    min-height: 2.55em;
    margin: 0;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.28 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
    text-decoration: none !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.vp-search-result-card__meta {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    min-width: 0;
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-align: right !important;
}

.vp-search-result-card__author {
    overflow: hidden;
    min-width: 0;
    max-width: 58%;
    color: rgba(255, 255, 255, 0.96) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vp-search-result-card__author-icon {
    flex: 0 0 auto;
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.vp-search-result-card__views {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.96) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.vp-search-result-card__ribbon.indexribbon,
.vp-search-result-card__ribbon.indexribbon-admin,
.vp-search-result-card__ribbon.indexribbon-male,
.vp-search-result-card__ribbon.indexribbon-female,
.voicepa-search-results-grid .indexribbon.vp-search-result-card__ribbon,
.voicepa-search-results-grid .indexribbon-admin.vp-search-result-card__ribbon,
.voicepa-search-results-grid .indexribbon-male.vp-search-result-card__ribbon,
.voicepa-search-results-grid .indexribbon-female.vp-search-result-card__ribbon {
    position: absolute !important;
    top: 10px !important;
    left: 0 !important;
    z-index: 5 !important;
    width: min(136px, 78%) !important;
    max-width: 78% !important;
    height: 26px !important;
    padding: 0 !important;
    border-radius: 0 4px 4px 0;
    color: #fff !important;
    text-align: center;
    line-height: 26px;
    font-size: 12px;
    opacity: 0.95;
}

.vp-search-result-card__ribbon.indexribbon {
    background-color: #f3c24a;
}

.vp-search-result-card__ribbon-inner {
    display: flex;
    align-items: center;
    overflow: hidden;
    height: 100%;
    padding: 0 9px 0 8px;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: left;
    font-size: 12px;
    font-weight: 900;
}

.vp-search-result-card__ribbon-inner span {
    overflow: hidden;
    min-width: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vp-search-result-card__ribbon-icon {
    flex: 0 0 auto;
    width: 15px !important;
    height: 15px !important;
    margin: 0 3px 0 0 !important;
    vertical-align: -3px;
    object-fit: contain !important;
}

.vp-search-result-card__age.age-label {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 4 !important;
    padding: 2px 9px !important;
    border-radius: 0 15px 0 12px !important;
    background: rgba(255, 255, 255, 0.84) !important;
    color: #d83d67 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
    backdrop-filter: blur(6px);
}

.voicepa-search-results-grid--users {
    row-gap: 8px;
}

.voicepa-search-results-grid--users > .vp-search-user-card {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 248px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.74) !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 24px rgba(71, 40, 53, 0.10) !important;
}

.vp-search-user-card {
    position: relative;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.vp-search-user-card:hover,
.vp-search-user-card:focus-within {
    transform: translateY(-2px);
}

.vp-search-user-card__link {
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
    color: inherit;
    text-decoration: none !important;
}

.vp-search-user-card__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 138px;
    padding: 18px;
    background:
        radial-gradient(circle at 50% 42%, rgba(255,255,255,0.88), rgba(255,255,255,0) 44%),
        linear-gradient(135deg, #fff1f7 0%, #f5f2ff 100%);
}

.vp-search-user-card__avatar-ring {
    width: min(118px, 78%);
    aspect-ratio: 1 / 1;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f2c75c, #ff8fb4);
    box-shadow: 0 12px 24px rgba(138, 57, 91, 0.18);
}

.vp-search-user-card__avatar-ring--male {
    background: linear-gradient(135deg, #6db7ff, #9fe0ff);
}

.vp-search-user-card__avatar-ring--female {
    background: linear-gradient(135deg, #ff6d9d, #ffc1d6);
}

.vp-search-user-card__avatar-ring--neutral {
    background: linear-gradient(135deg, #f2c75c, #ffdba0);
}

.vp-search-user-card__avatar {
    display: block;
    width: 100%;
    height: 100%;
    border: 4px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    object-fit: cover;
}

.vp-search-user-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(55, 55, 55, 0.78);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.vp-search-user-card__body {
    flex: 1 1 auto;
    padding: 12px 12px 14px;
}

.vp-search-user-card__name {
    overflow: hidden;
    color: #332630;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vp-search-user-card__id {
    overflow: hidden;
    margin-top: 3px;
    color: rgba(82, 59, 72, 0.68);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.vp-search-user-card__meta,
.vp-search-user-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 7px;
}

.vp-search-user-card__meta span,
.vp-search-user-card__chips span {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 0 7px;
    border-radius: 999px;
    background: #fff1f6;
    color: #a33d66;
    font-size: 10px;
    font-weight: 900;
}

.vp-search-user-card__chips span {
    background: #f5f2ff;
    color: #6952a5;
}

.vp-search-user-card__description {
    display: -webkit-box;
    overflow: hidden;
    margin: 8px 0 0;
    color: rgba(55, 42, 52, 0.78);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.voicepa-search-loadmore {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-height: 82px;
    padding: 22px 0 8px;
}

.voicepa-search-loadmore__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 188px;
    min-height: 42px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #ff6d9d, #ff965c);
    box-shadow: 0 12px 26px rgba(223, 70, 120, 0.24);
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.voicepa-search-loadmore__button:hover:not(:disabled),
.voicepa-search-loadmore__button:focus-visible:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(223, 70, 120, 0.30);
}

.voicepa-search-loadmore__button:disabled {
    cursor: default;
    opacity: 0.45;
}

.voicepa-search-loadmore__loading,
.voicepa-search-loadmore__button.is-loading .voicepa-search-loadmore__idle {
    display: none;
}

.voicepa-search-loadmore__button.is-loading .voicepa-search-loadmore__loading {
    display: inline;
}

.voicepa-search-loadmore.is-finished .voicepa-search-loadmore__button {
    display: none;
}

.voicepa-search-loadmore__status {
    min-height: 18px;
    color: rgba(70, 48, 60, 0.66);
    font-size: 12px;
    font-weight: 800;
}

.voicepa-search-empty {
    display: grid;
    place-items: center;
    min-height: 250px;
    padding: 30px 16px;
    border: 1px solid rgba(255, 255, 255, 0.76);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 14px 34px rgba(205, 78, 124, 0.12);
    text-align: center;
}

.voicepa-search-empty__icon {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    margin-bottom: 12px;
    border-radius: 50%;
    color: #ff6d9d;
    background: #fff1f6;
    font-size: 32px;
    font-weight: 900;
}

.voicepa-search-empty h2 {
    margin: 0;
    color: #332630;
    font-size: 20px;
    font-weight: 900;
}

.voicepa-search-empty p {
    margin: 8px 0 0;
    color: rgba(55, 42, 52, 0.72);
    font-size: 13px;
    font-weight: 700;
}

@container (max-width: 620px) {
    .voicepa-search-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }
}

@media (max-width: 900px) {
    #page.voicepa-search-page {
        width: 100%;
        max-width: 100%;
    }
    .voicepa-search-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .voicepa-search-hero {
        margin-top: 56px;
    }
}

@media (max-width: 720px) {
    #page.voicepa-search-page {
        display: block !important;
        padding: 0 6px;
    }
    .voicepa-search-content.article {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
    }
    .voicepa-search-hero {
        margin-top: 8px;
        padding: 14px;
        border-radius: 20px;
    }
    .voicepa-search-hero__title {
        font-size: 22px;
    }
    .voicepa-search-hero__lead {
        font-size: 12px;
    }
    .voicepa-search-tabs__item {
        min-height: 28px;
        padding: 0 10px;
        font-size: 11px;
    }
    .voicepa-search-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }
    .voicepa-search-results-grid .vp-search-result-card__overlay {
        padding: 32px 7px 7px !important;
    }
    .voicepa-search-results-grid .vp-search-result-card__title {
        font-size: 11px !important;
    }
    .voicepa-search-results-grid .vp-search-result-card__ribbon {
        width: min(124px, 78%) !important;
    }
    .voicepa-search-results-grid .vp-search-result-card__ribbon-inner {
        font-size: 11px;
    }
    .vp-search-user-card__visual {
        min-height: 124px;
        padding: 15px;
    }
    .vp-search-user-card__body {
        padding: 10px 10px 12px;
    }
    .vp-search-user-card__name {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    #page.voicepa-search-page {
        padding: 0 5px;
    }
    .voicepa-search-hero {
        padding: 12px;
    }
    .voicepa-search-tabs {
        gap: 5px;
    }
    .voicepa-search-results-grid {
        gap: 4px;
    }
    .voicepa-search-results-grid .vp-search-result-card__meta,
    .voicepa-search-results-grid .vp-search-result-card__author {
        font-size: 10px !important;
    }
    .voicepa-search-results-grid .vp-search-result-card__age.age-label {
        font-size: 10px !important;
        padding: 2px 7px !important;
    }
}

/* Mobile header search trigger / modal */
.vp-mobile-search-trigger-wrap,
.vp-mobile-search-modal {
    box-sizing: border-box;
}

.vp-mobile-search-trigger-wrap *,
.vp-mobile-search-modal *,
.vp-mobile-search-modal *::before,
.vp-mobile-search-modal *::after {
    box-sizing: border-box;
}

.vp-mobile-search-trigger-wrap {
    display: none;
}

.vp-mobile-search-trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 999px;
    color: #fffafc;
    background:
        radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.58) 0, rgba(255, 255, 255, 0.2) 24%, rgba(255, 255, 255, 0) 50%),
        linear-gradient(135deg, #ff6d9d 0%, #ff8c64 100%);
    box-shadow: 0 8px 20px rgba(255, 96, 142, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.45);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.vp-mobile-search-trigger::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, 0.22);
    pointer-events: none;
}

.vp-mobile-search-trigger__glow {
    position: absolute;
    inset: -45%;
    background: conic-gradient(from 160deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0));
    opacity: 0;
    transform: rotate(0deg);
    transition: opacity 0.18s ease, transform 0.34s ease;
}

.vp-mobile-search-trigger__icon {
    position: relative;
    z-index: 1;
    width: 21px;
    height: 21px;
    filter: drop-shadow(0 1px 2px rgba(93, 32, 58, 0.28));
}

.vp-mobile-search-trigger:hover,
.vp-mobile-search-trigger:focus-visible,
.vp-mobile-search-trigger[aria-expanded="true"] {
    color: #ffffff;
    transform: translateY(-1px) scale(1.03);
    box-shadow: 0 10px 24px rgba(255, 96, 142, 0.44), 0 0 0 3px rgba(255, 198, 219, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.55);
    filter: saturate(1.06);
}

.vp-mobile-search-trigger:hover .vp-mobile-search-trigger__glow,
.vp-mobile-search-trigger:focus-visible .vp-mobile-search-trigger__glow,
.vp-mobile-search-trigger[aria-expanded="true"] .vp-mobile-search-trigger__glow {
    opacity: 1;
    transform: rotate(30deg);
}

.vp-mobile-search-trigger:active {
    transform: translateY(0) scale(0.98);
}

.vp-mobile-search-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, visibility 0s linear 0.22s;
}

.vp-mobile-search-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.vp-mobile-search-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(18, 14, 20, 0.72);
    -webkit-backdrop-filter: blur(8px) saturate(1.1);
    backdrop-filter: blur(8px) saturate(1.1);
}

.vp-mobile-search-modal__panel {
    position: absolute;
    top: calc(50px + env(safe-area-inset-top, 0px) + 10px);
    left: 10px;
    right: 10px;
    width: auto;
    max-width: 470px;
    margin: 0 auto;
    padding: 18px 14px 15px;
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 26px;
    color: #302430;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 216, 231, 0.92) 0, rgba(255, 216, 231, 0) 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 219, 184, 0.68) 0, rgba(255, 219, 184, 0) 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 246, 250, 0.97) 100%);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32), 0 12px 36px rgba(255, 101, 152, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.95);
    transform: translateY(-12px) scale(0.97);
    opacity: 0;
    outline: none;
    transition: transform 0.24s cubic-bezier(0.2, 0.9, 0.3, 1), opacity 0.2s ease;
}

.vp-mobile-search-modal.is-open .vp-mobile-search-modal__panel {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.vp-mobile-search-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(255, 122, 165, 0.24);
    border-radius: 999px;
    color: #8a3d62;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 8px 18px rgba(147, 72, 108, 0.12);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.vp-mobile-search-modal__close span,
.vp-mobile-search-modal__close span::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: rotate(45deg);
}

.vp-mobile-search-modal__close span::after {
    transform: rotate(90deg);
    top: 0px;
    left: 0px;
}

.vp-mobile-search-modal__close:hover,
.vp-mobile-search-modal__close:focus-visible {
    background: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(147, 72, 108, 0.2), 0 0 0 3px rgba(255, 128, 172, 0.14);
}

.vp-mobile-search-modal__head {
    padding: 2px 40px 13px 2px;
}

.vp-mobile-search-modal__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 10px;
    border-radius: 999px;
    color: #9d3e68;
    background: rgba(255, 224, 236, 0.9);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vp-mobile-search-modal__title {
    margin: 9px 0 0;
    color: #302430;
    font-size: clamp(19px, 5vw, 24px);
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: -0.02em;
}

.vp-mobile-search-modal__lead {
    margin: 7px 0 0;
    color: rgba(62, 45, 57, 0.74);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
}

.vp-mobile-search-modal__form {
    margin-top: 4px;
}

.vp-global-search--mobile-modal .vp-global-search__shell {
    min-height: 50px;
    padding: 5px;
    border-color: rgba(255, 150, 188, 0.54);
    box-shadow: 0 14px 34px rgba(219, 83, 131, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.vp-global-search--mobile-modal .vp-global-search__select-wrap {
    flex-basis: 92px;
}

.vp-global-search--mobile-modal .vp-global-search__select,
.vp-global-search--mobile-modal .vp-global-search__input,
.vp-global-search--mobile-modal .vp-global-search__button {
    height: 38px;
}

.vp-global-search--mobile-modal .vp-global-search__select {
    font-size: 12px;
}

.vp-global-search--mobile-modal .vp-global-search__input {
    padding-right: 8px;
    font-size: 13px;
}

.vp-global-search--mobile-modal .vp-global-search__button {
    min-width: 48px;
    padding: 0 13px;
}

.vp-global-search--mobile-modal .vp-global-search__button-text {
    display: none;
}

.vp-global-search--mobile-modal .vp-global-search__hint {
    margin: 10px 8px 0;
    color: rgba(89, 57, 73, 0.78);
    font-size: 12px;
}

.vp-mobile-search-modal__quick {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    margin-top: 13px;
}

.vp-mobile-search-modal__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 34px;
    padding: 0 6px;
    border: 1px solid rgba(255, 126, 170, 0.26);
    border-radius: 999px;
    color: #8a3d62;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.vp-mobile-search-modal__chip:hover,
.vp-mobile-search-modal__chip:focus-visible,
.vp-mobile-search-modal__chip.is-active {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.5);
    background: linear-gradient(135deg, #ff6d9d 0%, #ff8c64 100%);
    box-shadow: 0 8px 18px rgba(223, 70, 120, 0.22);
    transform: translateY(-1px);
}

html.vp-mobile-search-open,
body.vp-mobile-search-open {
    overflow: hidden !important;
}

@media (min-width: 901px) {
    .vp-mobile-search-trigger-wrap,
    .vp-mobile-search-modal {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .top-select2 {
        position: relative;
    }

    .top-select2 .vp-mobile-search-trigger-wrap {
        position: absolute;
        right: 51px;
        top: 0;
        z-index: 100002;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 50px;
        pointer-events: none;
    }

    .top-select2 .vp-mobile-search-trigger {
        pointer-events: auto;
    }

    .top-select2 .burger-wrap {
        z-index: 100003;
    }
}

@media (max-width: 370px) {
    .top-select2 .vp-mobile-search-trigger-wrap {
        right: 46px;
    }

    .vp-mobile-search-trigger {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
    }

    .vp-global-search--mobile-modal .vp-global-search__select-wrap {
        flex-basis: 82px;
    }

    .vp-global-search--mobile-modal .vp-global-search__input {
        padding-left: 7px;
        font-size: 12px;
    }

    .vp-mobile-search-modal__quick {
        gap: 5px;
    }

    .vp-mobile-search-modal__chip {
        min-height: 32px;
        font-size: 11px;
    }
}

@media (max-width: 782px) {
    body.admin-bar .vp-mobile-search-modal__panel {
        top: calc(96px + env(safe-area-inset-top, 0px));
    }
}

/* --------------------------------------------------------------------------
   Voicepa header normalization: keep desktop appearance, rebuild mobile header
   -------------------------------------------------------------------------- */
body {
    background: #ffefef !important;
}

@media (min-width: 901px) {
    .top-select {
        display: block;
    }

    .voicepa-mobile-header-shell,
    .top-select2 {
        display: none !important;
    }

    .voicepa-desktop-header-logo {
        float: left;
    }

    .voicepa-desktop-header-copy {
        float: left;
        width: 370px;
        margin: 5px 0 0 15px;
        color: #ffffff;
        font-size: 12px;
        text-align: left;
    }

    .voicepa-desktop-header-burger-link {
        color: inherit;
        text-decoration: none;
    }

    .voicepa-desktop-header-burger {
        display: block;
        height: 50px;
    }
}

@media (max-width: 900px) {
    .top-select {
        display: none !important;
    }

    .voicepa-mobile-header-shell {
        display: block !important;
    }

    .dark-div {
        background: #373737 !important;
    }

    .sm-header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100000;
        width: 100%;
        height: 50px !important;
        min-height: 50px;
        background: #373737;
        box-shadow: 0 8px 18px rgba(24, 18, 24, 0.18);
    }

    body.admin-bar .sm-header {
        top: 46px;
    }

    .top-select2.voicepa-mobile-headerbar {
        position: relative !important;
        display: block !important;
        width: 100%;
        height: 50px;
        min-height: 50px;
        padding: 0;
        margin: 0;
        overflow: visible;
        background: transparent;
        isolation: isolate;
    }

    .voicepa-mobile-headerbar__logo,
    .top-select2 .logo-wrap.voicepa-mobile-headerbar__logo {
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(138px, 35vw);
        height: 50px;
        min-width: 0;
        text-align: center;
        transform: translateX(-50%);
    }

    .voicepa-mobile-headerbar__logo .logo {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 50px;
        line-height: 1;
    }

    .voicepa-mobile-headerbar__logo img {
        display: block;
        width: auto;
        max-width: 100%;
        max-height: 34px;
        object-fit: contain;
    }

    .voicepa-mobile-headerbar__auth {
        position: absolute;
        top: 0;
        left: 6px;
        z-index: 4;
        display: flex;
        align-items: center;
        gap: 5px;
        max-width: calc(50% - 72px);
        height: 50px;
        min-width: 0;
        overflow: hidden;
    }

    .voicepa-mobile-headerbar__auth-link,
    .top-select2 .voicepa-mobile-headerbar__auth-link.c-button1,
    .top-select2 .voicepa-mobile-headerbar__auth-link.c-button2 {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        min-width: 0;
        height: 30px;
        margin: 0;
        padding: 0 8px;
        border: 1px solid rgba(255, 255, 255, 0.42);
        border-radius: 999px;
        font-size: 11px;
        font-weight: 900;
        line-height: 1;
        letter-spacing: 0.01em;
        text-decoration: none;
        white-space: nowrap;
        box-shadow: 0 5px 13px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.72);
        -webkit-tap-highlight-color: transparent;
    }

    .top-select2 .voicepa-mobile-headerbar__auth-link.c-button1 {
        color: #23815a;
        background: linear-gradient(180deg, #ffffff 0%, #fff6f9 100%);
    }

    .top-select2 .voicepa-mobile-headerbar__auth-link.c-button2 {
        color: #ffffff;
        background: linear-gradient(135deg, #ff8a38 0%, #ff5f94 100%);
    }

    .voicepa-mobile-headerbar__actions {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        height: 50px;
        margin: 0;
        padding: 0;
    }

    .top-select2 .vp-mobile-search-trigger-wrap {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        z-index: 6;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 50px;
        pointer-events: auto;
    }

    .top-select2 .vp-mobile-search-trigger {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        border: 1px solid rgba(255, 255, 255, 0.58);
        background:
            radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.74) 0, rgba(255, 255, 255, 0.22) 24%, rgba(255, 255, 255, 0) 51%),
            linear-gradient(135deg, #ff6f9f 0%, #ff9461 100%);
        box-shadow: 0 9px 22px rgba(255, 96, 142, 0.36), 0 0 0 1px rgba(255, 204, 220, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }

    .top-select2 .vp-mobile-search-trigger__icon {
        width: 22px;
        height: 22px;
    }

    .top-select2 .vp-mobile-search-trigger:hover,
    .top-select2 .vp-mobile-search-trigger:focus-visible,
    .top-select2 .vp-mobile-search-trigger[aria-expanded="true"] {
        transform: translateY(-1px) scale(1.02);
        box-shadow: 0 12px 26px rgba(255, 96, 142, 0.46), 0 0 0 3px rgba(255, 206, 223, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.58);
    }

    .top-select2 .burger-wrap,
    .top-select2 .voicepa-mobile-headerbar__burger {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        z-index: 7;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        margin: 0;
        padding: 0;
    }

    .top-select2 .voicepa-mobile-headerbar__burger-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        color: inherit;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .top-select2 #btn03_sm {
        position: relative !important;
        display: block !important;
        float: none !important;
        width: 36px;
        height: 36px;
        margin: 0 !important;
        padding: 0;
        border-radius: 12px;
        transition: transform 0.22s ease, background 0.18s ease, box-shadow 0.18s ease;
    }

    .top-select2 .voicepa-mobile-headerbar__burger-link:hover #btn03_sm,
    .top-select2 .voicepa-mobile-headerbar__burger-link:focus-visible #btn03_sm {
        background: rgba(255, 255, 255, 0.08);
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);
    }

    .top-select2 #btn03_sm span {
        position: absolute !important;
        left: 3px !important;
        display: block;
        width: 30px !important;
        height: 2px !important;
        margin: 0;
        background: repeating-linear-gradient(to right, #f7f7d9 0, #f7f7d9 2px, transparent 2px, transparent 4px);
        border-radius: 999px;
        transition: transform 0.26s ease, opacity 0.18s ease, top 0.26s ease;
    }

    .top-select2 #btn03_sm span::after {
        right: -6px;
        top: -2px;
        border-color: #f7f7d9;
    }

    .top-select2 #btn03_sm span:nth-child(1) {
        top: 8px !important;
    }

    .top-select2 #btn03_sm span:nth-child(2) {
        top: 22px !important;
    }

    .top-select2 #btn03_sm span:nth-child(3) {
        top: 38px !important;
        bottom: auto !important;
    }

    .top-select2 #btn03_sm.active span:nth-of-type(1) {
        top: 17px !important;
        transform: rotate(-45deg);
    }

    .top-select2 #btn03_sm.active span:nth-of-type(2) {
        transform: rotate(45deg);
    }

    .top-select2 #btn03_sm.active span:nth-of-type(3) {
        opacity: 0;
    }

    .voicepa-mobile-headerbar__scrollarea {
        position: absolute;
        top: 50px;
        left: 0;
        right: 0;
        z-index: 1;
        display: block !important;
        width: 100%;
        background: #373737;
        box-shadow: 0 8px 18px rgba(24, 18, 24, 0.12);
    }

    .voicepa-mobile-headerbar__scrollarea .scrollmenu {
        margin: 0;
    }

    .vp-mobile-search-modal__panel {
        top: calc(58px + env(safe-area-inset-top, 0px));
        max-height: calc(100dvh - 76px - env(safe-area-inset-bottom, 0px));
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .vp-mobile-search-modal__overlay {
        background: rgba(16, 12, 18, 0.76);
    }
}

@media (min-width: 783px) and (max-width: 900px) {
    body.admin-bar .sm-header {
        top: 32px;
    }
}

@media (max-width: 380px) {
    .voicepa-mobile-headerbar__auth {
        gap: 4px;
        max-width: calc(50% - 66px);
    }

    .voicepa-mobile-headerbar__auth-link,
    .top-select2 .voicepa-mobile-headerbar__auth-link.c-button1,
    .top-select2 .voicepa-mobile-headerbar__auth-link.c-button2 {
        height: 28px;
        padding: 0 7px;
        font-size: 10.5px;
    }

    .voicepa-mobile-headerbar__auth-link--signup {
        font-size: 0 !important;
    }

    .voicepa-mobile-headerbar__auth-link--signup::before {
        content: "登録";
        font-size: 10.5px;
    }

    .voicepa-mobile-headerbar__logo,
    .top-select2 .logo-wrap.voicepa-mobile-headerbar__logo {
        width: min(124px, 33vw);
    }

    .top-select2 .vp-mobile-search-trigger-wrap {
        width: 46px;
    }

    .top-select2 .vp-mobile-search-trigger {
        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
    }
}

@media (max-width: 340px) {
    .voicepa-mobile-headerbar__auth-link--signup {
        display: none !important;
    }

    .voicepa-mobile-headerbar__logo,
    .top-select2 .logo-wrap.voicepa-mobile-headerbar__logo {
        width: min(112px, 34vw);
    }
}

/* =========================================================
   Voicepa universal grid ribbons and age labels
   - Applies to every 3-column / 2-column grid card that uses indexribbon-*.
   - Replaces old image badges with compact inline SVG badges.
========================================================= */
.post2.excerpt-frontmaintop2,
.post2.excerpt-frontmaintop2sm,
.bonus-posts-grid > .bonus-post,
.my-material-stock-tile-card,
.my-favorite-tile-card,
.vp-search-result-card {
    position: relative !important;
    overflow: hidden;
    isolation: isolate;
}

.post2.excerpt-frontmaintop2 > .indexribbon,
.post2.excerpt-frontmaintop2 > .indexribbon-admin,
.post2.excerpt-frontmaintop2 > .indexribbon-male,
.post2.excerpt-frontmaintop2 > .indexribbon-female,
.post2.excerpt-frontmaintop2sm > .indexribbon,
.post2.excerpt-frontmaintop2sm > .indexribbon-admin,
.post2.excerpt-frontmaintop2sm > .indexribbon-male,
.post2.excerpt-frontmaintop2sm > .indexribbon-female,
.bonus-post > .indexribbon,
.bonus-post > .indexribbon-admin,
.bonus-post > .indexribbon-male,
.bonus-post > .indexribbon-female,
.vp-search-result-card__ribbon.indexribbon,
.vp-search-result-card__ribbon.indexribbon-admin,
.vp-search-result-card__ribbon.indexribbon-male,
.vp-search-result-card__ribbon.indexribbon-female,
.custom-ribbon-container .custom-ribbon-admin,
.custom-ribbon-container .custom-ribbon-male,
.custom-ribbon-container .custom-ribbon-female {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 12 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 74px) !important;
    height: 25px !important;
    min-height: 25px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    line-height: 1 !important;
    text-align: left !important;
    letter-spacing: 0.015em;
    opacity: 1 !important;
    transform: translateZ(0) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    backdrop-filter: blur(10px) saturate(132%);
    -webkit-backdrop-filter: blur(10px) saturate(132%);
}

.indexribbon::before,
.indexribbon::after,
.indexribbon-admin::before,
.indexribbon-admin::after,
.indexribbon-male::before,
.indexribbon-male::after,
.indexribbon-female::before,
.indexribbon-female::after {
    display: none !important;
    content: none !important;
}

.post2.excerpt-frontmaintop2 > .indexribbon,
.post2.excerpt-frontmaintop2sm > .indexribbon,
.bonus-post > .indexribbon,
.vp-search-result-card__ribbon.indexribbon {
    background: linear-gradient(135deg, rgba(71, 85, 105, 0.92), rgba(30, 41, 59, 0.94)) !important;
    border: 1px solid rgba(226, 232, 240, 0.36) !important;
}

.post2.excerpt-frontmaintop2 > .indexribbon-admin,
.post2.excerpt-frontmaintop2sm > .indexribbon-admin,
.bonus-post > .indexribbon-admin,
.vp-search-result-card__ribbon.indexribbon-admin,
.custom-ribbon-container .custom-ribbon-admin {
    background: linear-gradient(135deg, #facc15 0%, #f59e0b 56%, #d97706 100%) !important;
    border: 1px solid rgba(255, 237, 153, 0.68) !important;
    color: #fffaf0 !important;
    text-shadow: 0 1px 1px rgba(82, 52, 0, 0.26);
}

.post2.excerpt-frontmaintop2 > .indexribbon-male,
.post2.excerpt-frontmaintop2sm > .indexribbon-male,
.bonus-post > .indexribbon-male,
.vp-search-result-card__ribbon.indexribbon-male,
.custom-ribbon-container .custom-ribbon-male {
    background: linear-gradient(135deg, #38bdf8 0%, #2563eb 60%, #1d4ed8 100%) !important;
    border: 1px solid rgba(191, 230, 255, 0.56) !important;
    color: #f8fbff !important;
    text-shadow: 0 1px 1px rgba(15, 45, 95, 0.24);
}

.post2.excerpt-frontmaintop2 > .indexribbon-female,
.post2.excerpt-frontmaintop2sm > .indexribbon-female,
.bonus-post > .indexribbon-female,
.vp-search-result-card__ribbon.indexribbon-female,
.custom-ribbon-container .custom-ribbon-female {
    background: linear-gradient(135deg, #fb7185 0%, #e11d48 56%, #be123c 100%) !important;
    border: 1px solid rgba(255, 205, 216, 0.58) !important;
    color: #fff7f9 !important;
    text-shadow: 0 1px 1px rgba(111, 16, 44, 0.24);
}

.indexribbon .ribbon-naibu,
.indexribbon-admin .ribbon-naibu,
.indexribbon-male .ribbon-naibu,
.indexribbon-female .ribbon-naibu,
.vp-search-result-card__ribbon-inner {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 9px 0 8px !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.voicepa-grid-ribbon-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
    color: inherit;
}

.voicepa-grid-ribbon-svg {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    display: block;
    color: currentColor;
    filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.18));
}

.voicepa-grid-ribbon-label,
.vp-search-result-card__ribbon-inner .voicepa-grid-ribbon-label {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.indexribbon .ribbon-icon,
.indexribbon-admin .ribbon-icon,
.indexribbon-male .ribbon-icon,
.indexribbon-female .ribbon-icon,
.indexribbon .streamingmark,
.indexribbon-admin .streamingmark,
.indexribbon-male .streamingmark,
.indexribbon-female .streamingmark {
    display: none !important;
}

.featured-thumbnail-frontmaintop,
.featured-thumbnail-frontmaintop2,
.material-stock-card-media,
.favorite-card-media,
.vp-search-result-card__link {
    position: relative !important;
}

.featured-thumbnail-frontmaintop > .age-label,
.featured-thumbnail-frontmaintop2 > .age-label,
.material-stock-card-media > .age-label,
.favorite-card-media > .age-label,
.vp-search-result-card .age-label,
.vp-search-result-card__age.age-label {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 13 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 38px !important;
    max-width: 62px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.64) !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: #475569 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: 0.015em;
    text-align: center !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(8px) saturate(135%);
    -webkit-backdrop-filter: blur(8px) saturate(135%);
    pointer-events: none;
    box-sizing: border-box !important;
}

.featured-thumbnail-frontmaintop > .age-label--r18,
.featured-thumbnail-frontmaintop2 > .age-label--r18,
.material-stock-card-media > .age-label--r18,
.favorite-card-media > .age-label--r18,
.vp-search-result-card .age-label--r18 {
    background: linear-gradient(135deg, rgba(255, 241, 242, 0.94), rgba(255, 228, 230, 0.88)) !important;
    border-color: rgba(251, 113, 133, 0.46) !important;
    color: #be123c !important;
}

.age-label__text {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

@media (max-width: 900px) {
    .post2.excerpt-frontmaintop2 > .indexribbon,
    .post2.excerpt-frontmaintop2 > .indexribbon-admin,
    .post2.excerpt-frontmaintop2 > .indexribbon-male,
    .post2.excerpt-frontmaintop2 > .indexribbon-female,
    .post2.excerpt-frontmaintop2sm > .indexribbon,
    .post2.excerpt-frontmaintop2sm > .indexribbon-admin,
    .post2.excerpt-frontmaintop2sm > .indexribbon-male,
    .post2.excerpt-frontmaintop2sm > .indexribbon-female,
    .bonus-post > .indexribbon,
    .bonus-post > .indexribbon-admin,
    .bonus-post > .indexribbon-male,
    .bonus-post > .indexribbon-female,
    .vp-search-result-card__ribbon.indexribbon,
    .vp-search-result-card__ribbon.indexribbon-admin,
    .vp-search-result-card__ribbon.indexribbon-male,
    .vp-search-result-card__ribbon.indexribbon-female {
        top: 7px !important;
        left: 7px !important;
        max-width: calc(100% - 67px) !important;
        height: 24px !important;
        min-height: 24px !important;
    }

    .indexribbon .ribbon-naibu,
    .indexribbon-admin .ribbon-naibu,
    .indexribbon-male .ribbon-naibu,
    .indexribbon-female .ribbon-naibu,
    .vp-search-result-card__ribbon-inner {
        padding: 0 8px 0 7px !important;
        font-size: 10.5px !important;
        gap: 3px !important;
    }

    .voicepa-grid-ribbon-svg {
        width: 13px;
        height: 13px;
    }

    .featured-thumbnail-frontmaintop > .age-label,
    .featured-thumbnail-frontmaintop2 > .age-label,
    .material-stock-card-media > .age-label,
    .favorite-card-media > .age-label,
    .vp-search-result-card .age-label,
    .vp-search-result-card__age.age-label {
        top: 7px !important;
        right: 7px !important;
        min-width: 35px !important;
        max-width: 58px !important;
        height: 21px !important;
        min-height: 21px !important;
        padding: 0 7px !important;
        font-size: 9.5px !important;
    }
}

.posts-container .indexribbon,
.posts-container .indexribbon-admin,
.posts-container .indexribbon-male,
.posts-container .indexribbon-female,
.bonus-posts-grid .indexribbon,
.bonus-posts-grid .indexribbon-admin,
.bonus-posts-grid .indexribbon-male,
.bonus-posts-grid .indexribbon-female {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 12 !important;
    width: auto !important;
    max-width: calc(100% - 74px) !important;
    height: 25px !important;
    min-height: 25px !important;
    border-radius: 999px !important;
}

/* =========================================================
   Voicepa grid recovery polish
   - Keeps the original title/author positioning and text amount intact.
   - Refines age-label only, aligns search result ribbons, and applies
     seamless overlay backgrounds without changing text layout.
========================================================= */

/* Search result ribbon geometry: match the compact page-index grid badges. */
.voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon,
.voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon-admin,
.voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon-male,
.voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon-female,
.voicepa-search-results-grid .indexribbon.vp-search-result-card__ribbon,
.voicepa-search-results-grid .indexribbon-admin.vp-search-result-card__ribbon,
.voicepa-search-results-grid .indexribbon-male.vp-search-result-card__ribbon,
.voicepa-search-results-grid .indexribbon-female.vp-search-result-card__ribbon {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 12 !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 74px) !important;
    height: 25px !important;
    min-height: 25px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    text-align: left !important;
}

.voicepa-search-results-grid .vp-search-result-card__ribbon .ribbon-naibu,
.voicepa-search-results-grid .vp-search-result-card__ribbon-inner {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 9px 0 8px !important;
    overflow: hidden !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

/* Professional compact age label.
   This deliberately avoids title/author selectors so text position and line count remain unchanged. */
.featured-thumbnail-frontmaintop > .age-label,
.featured-thumbnail-frontmaintop2 > .age-label,
.material-stock-card-media > .age-label,
.favorite-card-media > .age-label,
.vp-search-result-card .age-label,
.vp-search-result-card__link > .age-label,
.vp-search-result-card__age.age-label {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 14 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 42px !important;
    max-width: 68px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.64) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(248, 250, 252, 0.82) 100%) !important;
    color: #334155 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.012em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    box-shadow: 0 8px 19px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
    backdrop-filter: blur(10px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
    pointer-events: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: translateZ(0) !important;
}

.age-label__mark {
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #a7f3d0 0%, #10b981 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.54), 0 1px 2px rgba(15, 23, 42, 0.16);
}

.age-label__mark + .age-label__text {
    margin-left: 0;
}

.age-label__text,
.age-label span:not(.age-label__mark) {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: inherit !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.featured-thumbnail-frontmaintop > .age-label--r18,
.featured-thumbnail-frontmaintop2 > .age-label--r18,
.material-stock-card-media > .age-label--r18,
.favorite-card-media > .age-label--r18,
.vp-search-result-card .age-label--r18,
.vp-search-result-card__link > .age-label--r18,
.vp-search-result-card__age.age-label--r18 {
    min-width: 48px !important;
    max-width: 72px !important;
    border-color: rgba(254, 205, 211, 0.76) !important;
    background: linear-gradient(135deg, rgba(255, 241, 242, 0.96) 0%, rgba(255, 228, 230, 0.88) 100%) !important;
    color: #be123c !important;
    box-shadow: 0 8px 19px rgba(159, 18, 57, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.age-label--r18 .age-label__mark {
    width: 15px;
    height: 15px;
    background: linear-gradient(135deg, #fb7185 0%, #e11d48 100%);
    color: #fff;
    font-size: 7px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -0.04em;
    text-shadow: 0 1px 1px rgba(80, 7, 36, 0.28);
}

.age-label--r18 .age-label__mark::before {
    content: "18";
}

/* Seamless dark surfaces for legacy grid captions.
   Only background/text contrast is changed; positioning, padding, font size and line clamp are intentionally untouched. */
.post2.excerpt-frontmaintop2 :where(.overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live),
.post2.excerpt-frontmaintop2sm :where(.overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live),
.bonus-post :where(.overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live),
.my-material-stock-tile-card :where(.material-stock-card-overlay, .overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live),
.my-favorite-tile-card :where(.favorite-card-overlay, .overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live),
.featured-thumbnail-frontmaintop :where(.overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live),
.featured-thumbnail-frontmaintop2 :where(.overlay-info, .overlay-info-live, .overlay-infosm, .overlay-infosm-live) {
    background: linear-gradient(180deg, rgba(18, 14, 20, 0) 0%, rgba(18, 14, 20, 0.20) 24%, rgba(18, 14, 20, 0.62) 58%, rgba(18, 14, 20, 0.90) 100%) !important;
    color: #fff !important;
    box-shadow: none !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.30);
}

@media (max-width: 900px) {
    .voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon,
    .voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon-admin,
    .voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon-male,
    .voicepa-search-results-grid .vp-search-result-card__ribbon.indexribbon-female,
    .voicepa-search-results-grid .indexribbon.vp-search-result-card__ribbon,
    .voicepa-search-results-grid .indexribbon-admin.vp-search-result-card__ribbon,
    .voicepa-search-results-grid .indexribbon-male.vp-search-result-card__ribbon,
    .voicepa-search-results-grid .indexribbon-female.vp-search-result-card__ribbon {
        top: 7px !important;
        left: 7px !important;
        max-width: calc(100% - 67px) !important;
        height: 24px !important;
        min-height: 24px !important;
    }

    .voicepa-search-results-grid .vp-search-result-card__ribbon .ribbon-naibu,
    .voicepa-search-results-grid .vp-search-result-card__ribbon-inner {
        padding: 0 8px 0 7px !important;
        font-size: 10.5px !important;
        gap: 3px !important;
    }

    .featured-thumbnail-frontmaintop > .age-label,
    .featured-thumbnail-frontmaintop2 > .age-label,
    .material-stock-card-media > .age-label,
    .favorite-card-media > .age-label,
    .vp-search-result-card .age-label,
    .vp-search-result-card__link > .age-label,
    .vp-search-result-card__age.age-label {
        top: 7px !important;
        right: 7px !important;
        min-width: 40px !important;
        max-width: 64px !important;
        height: 22px !important;
        min-height: 22px !important;
        padding: 0 7px !important;
        font-size: 9.5px !important;
    }

    .age-label__mark {
        width: 9px;
        height: 9px;
    }

    .age-label--r18 .age-label__mark {
        width: 14px;
        height: 14px;
        font-size: 6.5px;
    }
}


/* =========================================================
   Voicepa age label final unification
   - Uses the search-result age label as the visual master.
   - Does not touch grid title/user text position, line count, or overlay layout.
   - Covers helper markup and legacy class="age-label" placements in every grid card.
========================================================= */
.post2.excerpt-frontmaintop2,
.post2.excerpt-frontmaintop2sm,
.bonus-post,
.featured-thumbnail-frontmaintop,
.featured-thumbnail-frontmaintop2,
.material-stock-card-media,
.favorite-card-media,
.my-material-stock-tile-card,
.my-favorite-tile-card,
.vp-search-result-card,
.vp-search-result-card__link {
    position: relative !important;
}

.voicepa-age-label,
.post2.excerpt-frontmaintop2 .age-label,
.post2.excerpt-frontmaintop2sm .age-label,
.bonus-post .age-label,
.featured-thumbnail-frontmaintop .age-label,
.featured-thumbnail-frontmaintop2 .age-label,
.material-stock-card-media .age-label,
.favorite-card-media .age-label,
.my-material-stock-tile-card .age-label,
.my-favorite-tile-card .age-label,
.voicepa-search-results-grid .age-label,
.vp-search-result-card .age-label,
.vp-search-result-card__link > .age-label,
.vp-search-result-card__age.age-label {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 14 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 42px !important;
    max-width: 68px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.64) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(248, 250, 252, 0.82) 100%) !important;
    color: #334155 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.012em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 19px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
    backdrop-filter: blur(10px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
    pointer-events: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: translateZ(0) !important;
}

.voicepa-age-label .age-label__mark,
.post2.excerpt-frontmaintop2 .age-label .age-label__mark,
.post2.excerpt-frontmaintop2sm .age-label .age-label__mark,
.bonus-post .age-label .age-label__mark,
.featured-thumbnail-frontmaintop .age-label .age-label__mark,
.featured-thumbnail-frontmaintop2 .age-label .age-label__mark,
.material-stock-card-media .age-label .age-label__mark,
.favorite-card-media .age-label .age-label__mark,
.my-material-stock-tile-card .age-label .age-label__mark,
.my-favorite-tile-card .age-label .age-label__mark,
.voicepa-search-results-grid .age-label .age-label__mark,
.vp-search-result-card .age-label .age-label__mark,
.vp-search-result-card__age.age-label .age-label__mark {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #a7f3d0 0%, #10b981 100%) !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.54), 0 1px 2px rgba(15, 23, 42, 0.16) !important;
}

.voicepa-age-label .age-label__text,
.voicepa-age-label span:not(.age-label__mark),
.post2.excerpt-frontmaintop2 .age-label .age-label__text,
.post2.excerpt-frontmaintop2sm .age-label .age-label__text,
.bonus-post .age-label .age-label__text,
.featured-thumbnail-frontmaintop .age-label .age-label__text,
.featured-thumbnail-frontmaintop2 .age-label .age-label__text,
.material-stock-card-media .age-label .age-label__text,
.favorite-card-media .age-label .age-label__text,
.my-material-stock-tile-card .age-label .age-label__text,
.my-favorite-tile-card .age-label .age-label__text,
.voicepa-search-results-grid .age-label .age-label__text,
.vp-search-result-card .age-label .age-label__text,
.vp-search-result-card__age.age-label .age-label__text {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: inherit !important;
    font: inherit !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.voicepa-age-label.age-label--r18,
.post2.excerpt-frontmaintop2 .age-label--r18,
.post2.excerpt-frontmaintop2sm .age-label--r18,
.bonus-post .age-label--r18,
.featured-thumbnail-frontmaintop .age-label--r18,
.featured-thumbnail-frontmaintop2 .age-label--r18,
.material-stock-card-media .age-label--r18,
.favorite-card-media .age-label--r18,
.my-material-stock-tile-card .age-label--r18,
.my-favorite-tile-card .age-label--r18,
.voicepa-search-results-grid .age-label--r18,
.vp-search-result-card .age-label--r18,
.vp-search-result-card__link > .age-label--r18,
.vp-search-result-card__age.age-label--r18 {
    min-width: 48px !important;
    max-width: 72px !important;
    border-color: rgba(254, 205, 211, 0.76) !important;
    background: linear-gradient(135deg, rgba(255, 241, 242, 0.96) 0%, rgba(255, 228, 230, 0.88) 100%) !important;
    color: #be123c !important;
    box-shadow: 0 8px 19px rgba(159, 18, 57, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.voicepa-age-label.age-label--r18 .age-label__mark,
.post2.excerpt-frontmaintop2 .age-label--r18 .age-label__mark,
.post2.excerpt-frontmaintop2sm .age-label--r18 .age-label__mark,
.bonus-post .age-label--r18 .age-label__mark,
.featured-thumbnail-frontmaintop .age-label--r18 .age-label__mark,
.featured-thumbnail-frontmaintop2 .age-label--r18 .age-label__mark,
.material-stock-card-media .age-label--r18 .age-label__mark,
.favorite-card-media .age-label--r18 .age-label__mark,
.my-material-stock-tile-card .age-label--r18 .age-label__mark,
.my-favorite-tile-card .age-label--r18 .age-label__mark,
.voicepa-search-results-grid .age-label--r18 .age-label__mark,
.vp-search-result-card .age-label--r18 .age-label__mark,
.vp-search-result-card__age.age-label--r18 .age-label__mark {
    width: 15px !important;
    height: 15px !important;
    background: linear-gradient(135deg, #fb7185 0%, #e11d48 100%) !important;
    color: #fff !important;
    font-size: 7px !important;
    font-weight: 950 !important;
    letter-spacing: -0.04em !important;
    text-shadow: 0 1px 1px rgba(80, 7, 36, 0.28) !important;
}

.voicepa-age-label.age-label--r18 .age-label__mark::before,
.post2.excerpt-frontmaintop2 .age-label--r18 .age-label__mark::before,
.post2.excerpt-frontmaintop2sm .age-label--r18 .age-label__mark::before,
.bonus-post .age-label--r18 .age-label__mark::before,
.featured-thumbnail-frontmaintop .age-label--r18 .age-label__mark::before,
.featured-thumbnail-frontmaintop2 .age-label--r18 .age-label__mark::before,
.material-stock-card-media .age-label--r18 .age-label__mark::before,
.favorite-card-media .age-label--r18 .age-label__mark::before,
.my-material-stock-tile-card .age-label--r18 .age-label__mark::before,
.my-favorite-tile-card .age-label--r18 .age-label__mark::before,
.voicepa-search-results-grid .age-label--r18 .age-label__mark::before,
.vp-search-result-card .age-label--r18 .age-label__mark::before,
.vp-search-result-card__age.age-label--r18 .age-label__mark::before {
    content: "18" !important;
}

@media (max-width: 900px) {
    .voicepa-age-label,
    .post2.excerpt-frontmaintop2 .age-label,
    .post2.excerpt-frontmaintop2sm .age-label,
    .bonus-post .age-label,
    .featured-thumbnail-frontmaintop .age-label,
    .featured-thumbnail-frontmaintop2 .age-label,
    .material-stock-card-media .age-label,
    .favorite-card-media .age-label,
    .my-material-stock-tile-card .age-label,
    .my-favorite-tile-card .age-label,
    .voicepa-search-results-grid .age-label,
    .vp-search-result-card .age-label,
    .vp-search-result-card__link > .age-label,
    .vp-search-result-card__age.age-label {
        top: 7px !important;
        right: 7px !important;
        min-width: 40px !important;
        max-width: 64px !important;
        height: 22px !important;
        min-height: 22px !important;
        padding: 0 7px !important;
        font-size: 9.5px !important;
    }

    .voicepa-age-label .age-label__mark,
    .post2.excerpt-frontmaintop2 .age-label .age-label__mark,
    .post2.excerpt-frontmaintop2sm .age-label .age-label__mark,
    .bonus-post .age-label .age-label__mark,
    .featured-thumbnail-frontmaintop .age-label .age-label__mark,
    .featured-thumbnail-frontmaintop2 .age-label .age-label__mark,
    .material-stock-card-media .age-label .age-label__mark,
    .favorite-card-media .age-label .age-label__mark,
    .my-material-stock-tile-card .age-label .age-label__mark,
    .my-favorite-tile-card .age-label .age-label__mark,
    .voicepa-search-results-grid .age-label .age-label__mark,
    .vp-search-result-card .age-label .age-label__mark,
    .vp-search-result-card__age.age-label .age-label__mark {
        width: 9px !important;
        height: 9px !important;
    }

    .voicepa-age-label.age-label--r18 .age-label__mark,
    .post2.excerpt-frontmaintop2 .age-label--r18 .age-label__mark,
    .post2.excerpt-frontmaintop2sm .age-label--r18 .age-label__mark,
    .bonus-post .age-label--r18 .age-label__mark,
    .featured-thumbnail-frontmaintop .age-label--r18 .age-label__mark,
    .featured-thumbnail-frontmaintop2 .age-label--r18 .age-label__mark,
    .material-stock-card-media .age-label--r18 .age-label__mark,
    .favorite-card-media .age-label--r18 .age-label__mark,
    .my-material-stock-tile-card .age-label--r18 .age-label__mark,
    .my-favorite-tile-card .age-label--r18 .age-label__mark,
    .voicepa-search-results-grid .age-label--r18 .age-label__mark,
    .vp-search-result-card .age-label--r18 .age-label__mark,
    .vp-search-result-card__age.age-label--r18 .age-label__mark {
        width: 14px !important;
        height: 14px !important;
        font-size: 6.5px !important;
    }
}
