/* Frontend identity overrides. Loaded as a versioned external stylesheet. */
    .afrodita-identity {
        --font-main-text: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
        --font-head-text: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
    }

    .afrodita-identity .font-main-text {
        font-family: var(--font-main-text);
    }

    .afrodita-identity .font-head-text,
    .afrodita-identity :where(h1, h2, h3) {
        font-family: var(--font-head-text);
    }

    /* Keep the established header while the rest of the site uses its new identity layer. */
    .afrodita-identity .site-header {
        --font-main-text: "Manrope", ui-sans-serif, system-ui, sans-serif;
        --font-head-text: "Playfair Display", ui-serif, Georgia, serif;
        font-family: var(--font-main-text);
    }

    /* Site-specific catalogue markup replaces the shared card class tree. */
    .afrodita-identity .afr-card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-width: 0;
        height: 100%;
        overflow: visible;
        padding: .5rem;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow:
            0 1px 0 #e8e8eb,
            0 16px 38px rgb(24 24 27 / .1);
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .afrodita-identity .afr-card--deferred {
        content-visibility: auto;
        contain-intrinsic-size: auto 34rem;
    }

    .afrodita-identity .afr-card--vip {
        box-shadow:
            0 1px 0 rgb(217 45 68 / .38),
            0 16px 38px rgb(24 24 27 / .1);
    }

    .afrodita-identity .afr-card__media {
        position: relative;
        isolation: isolate;
        flex: none;
        overflow: hidden;
        aspect-ratio: 3 / 4;
        border-radius: 0;
        background: #e8e8eb;
    }

    .afrodita-identity .afr-card__media::after {
        position: absolute;
        inset: 0;
        z-index: 1;
        display: none;
        background: none;
        content: "";
        pointer-events: none;
    }

    .afrodita-identity .afr-card__media > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .24s ease;
    }

    .afrodita-identity .afr-card__media > [data-profile-card-url] {
        cursor: pointer;
    }

    .afrodita-identity .afr-card__media > [data-profile-card-url]:focus-visible {
        outline: 3px solid #e65f94;
        outline-offset: -3px;
    }

    .afrodita-identity .afr-card__fallback {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: #a9a9b0;
        background: #f5f5f6;
    }

    .afrodita-identity .afr-card__fallback svg {
        width: 4.5rem;
        height: 4.5rem;
    }

    .afrodita-identity .afr-card__favorite {
        position: absolute;
        z-index: 4;
        top: .85rem;
        right: .85rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.5rem;
        height: 2.5rem;
        border: 1px solid #ffc9db;
        border-radius: 0;
        background: rgb(255 255 255 / .94);
        color: #ad2f67;
        cursor: pointer;
        box-shadow: 0 8px 20px rgb(24 24 27 / .16);
    }

    .afrodita-identity .afr-card__favorite:focus-visible,
    .afrodita-identity .afr-card__favorite[aria-pressed="true"] {
        border-color: #ad2f67;
        background: #ad2f67;
        color: #fff;
    }

    .afrodita-identity .afr-card__favorite svg {
        width: 1.1rem;
        height: 1.1rem;
        fill: none;
        stroke-width: 1.8;
    }

    .afrodita-identity .afr-card__favorite[aria-pressed="true"] svg {
        fill: currentColor;
    }

    .afrodita-identity .afr-card__badges {
        position: absolute;
        z-index: 3;
        top: .85rem;
        left: .85rem;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: .35rem;
        max-width: calc(100% - 4.5rem);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .afrodita-identity .afr-card__badge {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        min-height: 1.5rem;
        padding: .25rem .55rem;
        border-radius: 0;
        color: #fff;
        font-size: .625rem;
        font-weight: 850;
        line-height: 1;
        letter-spacing: .04em;
        text-transform: uppercase;
        box-shadow: 0 2px 8px rgb(24 24 27 / .16);
    }

    .afrodita-identity .afr-card__badge svg {
        width: .75rem;
        height: .75rem;
    }

    .afrodita-identity .afr-card__badge--verified {
        background: #ad2f67;
    }

    .afrodita-identity .afr-card__badge--vip {
        background: #d92d44;
    }

    .afrodita-identity .afr-card__badge--top {
        background: #e65f94;
    }

    .afrodita-identity .afr-card__badge--new,
    .afrodita-identity .afr-card__badge--video {
        background: #38383a;
    }

    .afrodita-identity .afr-card__media-meta {
        position: absolute;
        z-index: 3;
        right: 1rem;
        bottom: .75rem;
        left: 1rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .5rem;
        min-width: 0;
    }

    .afrodita-identity .afr-card__media-chip {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        min-width: 0;
        min-height: 1.75rem;
        overflow: hidden;
        padding: .3rem .6rem;
        border: 1px solid rgb(255 255 255 / .25);
        border-radius: 0;
        background: rgb(24 24 27 / .84);
        color: #fff;
        font-size: .625rem;
        font-weight: 800;
        line-height: 1;
        letter-spacing: .025em;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
        backdrop-filter: blur(8px);
    }

    .afrodita-identity .afr-card__media-chip svg {
        flex: none;
        width: .75rem;
        height: .75rem;
        color: #ffa5c2;
    }

    .afrodita-identity .afr-card__media-chip--metric {
        flex: none;
    }

    .afrodita-identity .afr-card__body {
        display: flex;
        flex: auto;
        flex-direction: column;
        min-width: 0;
        padding: 1rem .65rem .45rem;
    }

    .afrodita-identity .afr-card__header {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: .75rem;
        min-width: 0;
    }

    .afrodita-identity .afr-card__title {
        min-width: 0;
        margin: 0;
        color: #242428;
        font-size: 1.15rem;
        font-weight: 850;
        line-height: 1.25;
    }

    .afrodita-identity .afr-card__title a {
        color: inherit;
        text-decoration: none;
    }

    .afrodita-identity .afr-card__title a:focus-visible {
        color: #ad2f67;
    }

    .afrodita-identity .afr-card__age {
        flex: none;
        padding: .2rem .45rem;
        border-radius: 0;
        background: #fff4f8;
        color: #ad2f67;
        font-size: .7rem;
        font-weight: 800;
    }

    .afrodita-identity .afr-card__highlights {
        display: flex;
        flex-wrap: wrap;
        gap: .35rem;
        margin: .75rem 0 0;
        padding: 0;
        color: #505057;
        font-size: .7rem;
        list-style: none;
    }

    .afrodita-identity .afr-card__highlights li {
        padding: .25rem .5rem;
        border-radius: 0;
        background: #f5f5f6;
    }

    .afrodita-identity .afr-card__footer {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: .75rem;
        margin-top: .9rem;
        padding-top: .8rem;
        border-top: 1px dashed #d8d8dd;
    }

    .afrodita-identity .afr-card__rate {
        display: grid;
        gap: .1rem;
        margin: 0;
    }

    .afrodita-identity .afr-card__rate span {
        color: #85858d;
        font-size: .625rem;
        font-weight: 750;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .afrodita-identity .afr-card__rate strong {
        color: #242428;
        font-size: .85rem;
    }

    .afrodita-identity .afr-card__details {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.25rem;
        padding: .45rem .8rem;
        border-radius: 0;
        background: #242428;
        color: #fff;
        font-size: .72rem;
        font-weight: 850;
        text-decoration: none;
    }

    .afrodita-identity .afr-card__details:focus-visible {
        background: #e65f94;
        color: #fff;
    }

    @media (hover: hover) and (pointer: fine) and (min-width: 64rem) {
        .afrodita-identity .afr-card {
            border-left: 3px solid #e65f94;
        }

        .afrodita-identity .afr-card__media::after {
            display: block;
            background: linear-gradient(to top, rgb(24 24 27 / .78), rgb(24 24 27 / .08) 42%, transparent 64%);
        }

        .afrodita-identity .afr-card:hover,
        .afrodita-identity .afr-card:focus-within {
            transform: translateY(-4px);
            box-shadow:
                0 1px 0 #ffc9db,
                0 24px 48px rgb(173 47 103 / .16);
        }

        .afrodita-identity .afr-card:hover .afr-card__media > img {
            transform: scale(1.025);
        }

        .afrodita-identity .afr-card__favorite:hover {
            border-color: #ad2f67;
            background: #ad2f67;
            color: #fff;
        }

        .afrodita-identity .afr-card__title a:hover {
            color: #ad2f67;
        }

        .afrodita-identity .afr-card__details:hover {
            background: #e65f94;
            color: #fff;
        }
    }

    /* Category hubs use an editorial dark hero and a raised route panel. */
    .afrodita-identity .category-hub-page {
        gap: 1.5rem;
    }

    .afrodita-identity .category-hub-hero {
        overflow: hidden;
        border: 0;
        border-radius: 0;
        background:
            radial-gradient(circle at 88% 18%, rgb(182 93 222 / .33), transparent 18rem),
            linear-gradient(135deg, #18181b, #38383a);
        color: #fff;
        box-shadow: 0 24px 50px rgb(24 24 27 / .16);
    }

    .afrodita-identity .category-hub-hero::after {
        width: .5rem;
        background: linear-gradient(#ff8a6e, #e65f94, #b65dde);
    }

    .afrodita-identity .category-hub-hero h1,
    .afrodita-identity .category-hub-hero__intro,
    .afrodita-identity .category-hub-hero__details {
        color: #fff;
    }

    .afrodita-identity .category-hub-controls {
        position: relative;
        z-index: 3;
        margin: -2.25rem 1.25rem 0;
        border: 1px solid #ffc9db;
        border-radius: 0;
        background: #fff;
        box-shadow: 0 18px 38px rgb(24 24 27 / .12);
    }

    .afrodita-identity .category-hub-featured__card {
        border: 0;
        border-left: 4px solid #e65f94;
        border-radius: 0;
        background: #fff;
        color: #242428;
        box-shadow: 0 10px 24px rgb(24 24 27 / .08);
    }

    .afrodita-identity .category-hub-featured__copy strong {
        color: #242428;
    }

    .afrodita-identity .category-hub-featured__arrow {
        color: #ad2f67;
    }

    .afrodita-identity .category-hub-term-grid a {
        border-radius: 0;
        background: #f5f5f6;
    }

    /* Profile pages use a readable toolbar and independent white content blocks. */
    .afrodita-identity .escort-profile-page {
        background:
            radial-gradient(circle at 4% 2%, rgb(255 138 110 / .18), transparent 26rem),
            #f5f5f6;
    }

    .afrodita-identity .escort-profile-toolbar {
        padding-inline: .9rem;
        border: 1px solid #d8d8dd;
        border-left: 4px solid #e65f94;
        border-radius: 0;
        background: #fff;
        color: #242428;
        box-shadow: 0 10px 26px rgb(24 24 27 / .08);
    }

    .afrodita-identity .escort-profile-toolbar__eyebrow {
        color: #ad2f67;
    }

    .afrodita-identity .escort-profile-toolbar__nav,
    .afrodita-identity .escort-profile-toolbar a {
        color: #242428;
    }

    .afrodita-identity .escort-profile-toolbar__button {
        background: #f8f8f9;
        color: #242428;
    }

    .afrodita-identity .escort-profile-toolbar__button:focus-visible,
.afrodita-identity .escort-profile-toolbar__button[aria-pressed="true"] {
        background: #fff4f8;
        color: #ad2f67;
    }

    @media (hover: hover) and (pointer: fine) {

    .afrodita-identity .escort-profile-toolbar__button:hover {
        background: #fff4f8;
        color: #ad2f67;
    }
}

    .afrodita-identity :where(
        .profile-summary-card,
        .profile-pricing,
        .profile-working-time,
        .profile-languages,
        .escort-profile-additional,
        .escort-profile-community,
        .profile-related
    ) {
        border-radius: 0;
    }

    .afrodita-identity .profile-summary-card {
        border-left: 5px solid #e65f94;
        box-shadow: 0 18px 42px rgb(24 24 27 / .1);
    }

    /* The footer follows the site's square-edged layout system. */
    .afrodita-identity .site-footer {
        margin-top: 2rem;
        overflow: hidden;
        border-top: 0;
        border-radius: 0;
        box-shadow: 0 -12px 34px rgb(24 24 27 / .1);
    }

    .afrodita-identity .site-footer::before {
        content: "";
        display: block;
        height: .35rem;
        background: linear-gradient(90deg, #ff8a6e, #e65f94 52%, #b65dde);
    }

    @media (max-width: 1023.98px) {
        .afrodita-identity .afr-card {
            border-radius: 0;
        }

        .afrodita-identity .category-hub-controls {
            margin: -1rem .5rem 0;
        }
    }

    @media (max-width: 639.98px) {
        .afrodita-identity .escort-profile-toolbar {
            padding: .75rem;
        }

        .afrodita-identity .escort-profile-toolbar__eyebrow {
            padding-bottom: .65rem;
            border-bottom: 1px solid #e8e8eb;
        }

        .afrodita-identity .profile-related {
            padding: .85rem !important;
            border-radius: 0;
        }

        .afrodita-identity .profile-related__header {
            gap: .75rem;
            margin-bottom: .85rem;
            padding-bottom: .75rem;
        }

        .afrodita-identity .profile-related__header h2 {
            font-size: 1.7rem;
        }

        .afrodita-identity .profile-related__header > span {
            font-size: .6rem;
            white-space: nowrap;
        }

        .afrodita-identity .site-back-to-top {
            right: max(1rem, env(safe-area-inset-right));
            bottom: calc(1rem + env(safe-area-inset-bottom));
            width: 3rem;
            height: 3rem;
            border-radius: 0;
        }
    }

    /* Keep the interface flat: profile chips do not blur photos and no surface casts a shadow. */
    .afrodita-identity .afr-card__media-chip {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    @layer properties {
        html,
        html body,
        html body *,
        html body *::before,
        html body *::after {
            box-shadow: none !important;
        }
    }

    .afrodita-identity :focus-visible {
        outline: 2px solid #e65f94 !important;
        outline-offset: 2px;
    }
