.model-card-col--hidden {
    display: none !important
}

*,
::after,
::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

body {
    background-color: #0f0c1a;
    color: #f0eef5;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

a {
    text-decoration: none
}

::-webkit-scrollbar {
    width: 8px
}

::-webkit-scrollbar-track {
    background: #0f0c1a
}

::-webkit-scrollbar-thumb {
    background: #2e2850;
    border-radius: 4px
}

::-webkit-scrollbar-thumb:hover {
    background: #3d3568
}

.navbar {
    background-color: rgba(15, 12, 26, .92);
    backdrop-filter: blur(12px);
    padding: 12px 0;
    border-bottom: 1px solid #2a2545
}

.navbar .navbar-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 1.2rem;
    color: #f0eef5
}

.navbar .navbar-brand img {
    width: 200px;
    max-width: 100%;
    height: auto
}

.navbar .navbar-brand .brand-icon {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, #a855f7, rgb(138.0876404494, 26.5505617978, 244.2494382022));
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    color: #fff
}

.navbar .navbar-brand .brand-highlight {
    color: #a855f7
}

.navbar .navbar-brand:hover {
    color: #f0eef5
}

.navbar .navbar-nav .nav-link {
    color: #8a85a0;
    font-size: .9rem;
    padding: 8px 16px;
    transition: .3s;
    position: relative
}

.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link:hover {
    color: #f0eef5
}

.navbar .navbar-nav .nav-link.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: linear-gradient(90deg, #a855f7, rgb(205.3904494382, 158.0617977528, 250.4382022472));
    border-radius: 1px
}

.navbar .header-social {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: .3s
}

.navbar .header-social--whatsapp {
    background: rgba(37, 211, 102, .06);
    color: #25d366;
    border: 1px solid rgba(37, 211, 102, .15)
}

.navbar .header-social--whatsapp:hover {
    background: #25d366;
    color: #fff;
    box-shadow: 0 4px 15px rgba(37, 211, 102, .35);
    transform: translateY(-1px)
}

.navbar .header-social--telegram {
    background: rgba(0, 136, 204, .06);
    color: #08c;
    border: 1px solid rgba(0, 136, 204, .15)
}

.navbar .header-social--telegram:hover {
    background: #08c;
    color: #fff;
    box-shadow: 0 4px 15px rgba(0, 136, 204, .35);
    transform: translateY(-1px)
}

.navbar .btn-vip {
    background: linear-gradient(135deg, #a855f7, rgb(192.9269662921, 133.7078651685, 249.2921348315));
    color: #0f0c1a;
    border: none;
    padding: 6px 18px;
    border-radius: 20px;
    font-size: .85rem;
    font-weight: 600;
    transition: .3s;
    display: flex;
    align-items: center;
    gap: 6px
}

.navbar .btn-vip:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 18px rgba(168, 85, 247, .35);
    color: #0f0c1a
}

.navbar .navbar-toggler {
    border-color: #2a2545;
    padding: 4px 8px
}

.navbar .navbar-toggler:focus {
    box-shadow: none
}

.navbar .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28190, 184, 208, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}

.hero-section {
    padding: 60px 0 40px
}

.hero-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    min-height: 420px
}

.hero-content {
    padding-right: 20px
}

.hero-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.8rem;
    font-weight: 700;
    color: #f0eef5;
    line-height: 1.15;
    margin-bottom: 20px
}

.hero-title__accent {
    font-style: italic;
    color: #a855f7;
    font-weight: 400
}

.hero-subtitle {
    font-size: 1rem;
    color: #8a85a0;
    line-height: 1.6;
    margin-bottom: 32px;
    max-width: 440px
}

.hero-stats {
    display: flex;
    gap: 32px;
    margin-bottom: 36px
}

.hero-stat {
    display: flex;
    flex-direction: column
}

.hero-stat__num {
    font-size: 1.6rem;
    font-weight: 700;
    color: #a855f7;
    line-height: 1;
    margin-bottom: 4px
}

.hero-stat__lbl {
    font-size: .72rem;
    font-weight: 600;
    color: #8a85a0;
    text-transform: uppercase;
    letter-spacing: .12em
}

.hero-actions {
    display: flex;
    gap: 12px
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 20px;
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    transition: .3s
}

.hero-btn--primary {
    background: linear-gradient(135deg, #a855f7, rgb(143.0730337079, 36.2921348315, 244.7078651685));
    color: #0f0c1a
}

.hero-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(168, 85, 247, .4);
    color: #0f0c1a
}

.hero-btn--outline {
    background: 0 0;
    color: #8a85a0;
    border: 1px solid #2a2545
}

.hero-btn--outline:hover {
    color: #f0eef5;
    border-color: #a855f7;
    background: rgba(168, 85, 247, .08)
}

.hero-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: #140f22
}

.hero-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    max-height: 480px;
    border-radius: 20px
}

.hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 12, 26, .25) 0, transparent 60%);
    border-radius: 20px;
    pointer-events: none
}

@media (max-width:991px) {
    .hero-layout {
        grid-template-columns: 1fr;
        gap: 0;
        position: relative;
        min-height: 480px;
        border-radius: 20px;
        overflow: hidden
    }

    .hero-image {
        position: absolute;
        inset: 0;
        border-radius: 20px;
        z-index: 0
    }

    .hero-image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        max-height: none;
        min-height: 100%;
        border-radius: 20px
    }

    .hero-image::after {
        background: rgba(15, 12, 26, .7)
    }

    .hero-content {
        position: relative;
        z-index: 1;
        padding: 40px 24px;
        text-align: center;
        background: rgba(15, 12, 26, .55);
        border-radius: 16px;
        margin: 24px;
        backdrop-filter: blur(6px);
        border: 1px solid rgba(168, 85, 247, .1)
    }

    .hero-subtitle {
        max-width: 100%;
        color: rgba(240, 238, 245, .85)
    }

    .hero-actions,
    .hero-stats {
        justify-content: center
    }
}

@media (max-width:767px) {
    .hero-section {
        padding: 40px 0 24px
    }

    .hero-layout {
        min-height: 400px
    }

    .hero-title {
        font-size: 2rem
    }

    .hero-content {
        padding: 32px 20px;
        margin: 16px
    }
}

@media (max-width:575px) {
    .hero-layout {
        min-height: 360px
    }

    .hero-title {
        font-size: 1.6rem
    }

    .hero-stats {
        gap: 20px
    }

    .hero-btn {
        padding: 10px 20px;
        font-size: .82rem
    }

    .hero-content {
        padding: 24px 16px;
        margin: 12px
    }
}

.filter-bar p {
    color: #757D8A !important;
}

.models-section {
    padding-bottom: 60px
}

.model-card {
    background: #1a1530;
    border-radius: 24px;
    position: relative;
    transition: transform .35s, box-shadow .35s;
    border: none;
    text-align: left;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.model-card::after,
.model-card::before {
    display: none
}

.model-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .5)
}

.model-card:hover .model-card__image img {
    transform: scale(1.05)
}

.model-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 3/4;
    position: relative;
    overflow: hidden;
    background: #140f22;
    border-radius: 0
}

.model-card__image::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .5) 40%, transparent 100%);
    z-index: 2;
    pointer-events: none
}

.model-card__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top;
    transition: transform .5s
}

.model-card__image .badge-new {
    position: absolute;
    top: 12px;
    left: 12px;
    background: linear-gradient(135deg, #a855f7, rgb(143.0730337079, 36.2921348315, 244.7078651685));
    color: #0f0c1a;
    font-size: .6rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: .8px;
    z-index: 5;
    white-space: nowrap
}

.model-card__image .badge-vip {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #a855f7, rgb(197.9123595506, 143.4494382022, 249.7505617978));
    color: #0f0c1a;
    font-size: .6rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    text-transform: uppercase;
    z-index: 5;
    white-space: nowrap
}

.model-card__info {
    position: absolute;
    bottom: 14px;
    left: 14px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: 0 0;
    max-width: 55%
}

.model-card__info .model-name {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 3px;
    text-decoration: none;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .5);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .3s
}

.model-card__info .model-name:hover {
    color: #a855f7
}

.model-card__status {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0
}

.model-card .status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0
}

.model-card .status-dot--on {
    background: #25d366;
    box-shadow: 0 0 6px rgba(37, 211, 102, .6);
    animation: 2s ease-in-out infinite card-pulse
}

.model-card .status-dot--off {
    background: rgba(255, 255, 255, .3)
}

.model-card .status-text {
    font-size: .7rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .4)
}

.model-card .status-text--on {
    color: #25d366
}

.model-card .status-text--off {
    color: rgba(255, 255, 255, .5)
}

.model-card__socials {
    position: absolute;
    bottom: 14px;
    right: 14px;
    left: auto;
    z-index: 3;
    display: flex;
    gap: 5px;
    flex-shrink: 0;
    justify-content: flex-end;
    background: 0 0
}

.model-card__socials .social-btn {
    flex: none;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform .3s, box-shadow .3s, background .3s
}

.model-card__socials .social-btn i {
    font-size: 13px
}

.model-card__socials .social-btn span,
.model-card__socials .social-btn::after,
.model-card__socials .social-btn::before {
    display: none
}

.model-card__socials .social-btn:hover {
    transform: translateY(-2px) scale(1.1)
}

.model-card__socials .social-btn--whatsapp {
    background: rgba(37, 211, 102, .9);
    color: #fff
}

.model-card__socials .social-btn--whatsapp:hover {
    background: #25d366;
    box-shadow: 0 4px 14px rgba(37, 211, 102, .5)
}

.model-card__socials .social-btn--telegram {
    background: rgba(0, 136, 204, .9);
    color: #fff
}

.model-card__socials .social-btn--telegram:hover {
    background: #08c;
    box-shadow: 0 4px 14px rgba(0, 136, 204, .5)
}

@keyframes card-pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .4
    }
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding-top: 40px
}

.pagination__btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1a1530;
    border: 1px solid #2a2545;
    border-radius: 12px;
    color: #8a85a0;
    cursor: pointer;
    transition: .3s;
    font-size: 13px
}

.pagination__btn:hover:not(:disabled) {
    color: #f0eef5;
    border-color: rgba(168, 85, 247, .3);
    background: rgba(168, 85, 247, .08)
}

.pagination__btn:disabled {
    opacity: .3;
    cursor: default
}

.pagination__pages {
    list-style: none;
    display: flex;
    gap: 4px
}

.pagination__page {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: 0 0;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #8a85a0;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    transition: .3s
}

.pagination__page:hover {
    color: #f0eef5;
    background: rgba(168, 85, 247, .06)
}

.pagination__page.is-active {
    background: #a855f7;
    color: #0f0c1a;
    border-color: #a855f7
}

.page {
    padding: 48px 0
}

.page__header {
    text-align: center;
    margin-bottom: 48px
}

.page__title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 700;
    color: #f0eef5;
    margin-bottom: 16px
}

.page__title span {
    color: #a855f7;
    font-style: italic
}

.page__subtitle {
    color: #8a85a0;
    font-size: 1rem;
    font-weight: 300;
    max-width: 480px;
    margin: 0 auto;
    line-height: 1.7
}

.about-content {
    max-width: 780px;
    margin: 0 auto 48px
}

.about-content p {
    color: #8a85a0;
    font-size: 1rem;
    line-height: 1.85;
    margin-bottom: 24px
}

.values-section {
    padding-bottom: 20px
}

.values-section__title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.6rem;
    font-weight: 600;
    color: #f0eef5
}

.value-card {
    background: #1a1530;
    border: 1px solid #2a2545;
    border-radius: 16px;
    padding: 28px 20px;
    text-align: center;
    height: 100%;
    transition: .3s
}

.value-card:hover {
    border-color: rgba(168, 85, 247, .35);
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .5)
}

.value-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(168, 85, 247, .1);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px
}

.value-card__icon i {
    font-size: 20px;
    color: #a855f7
}

.value-card__title {
    font-size: .95rem;
    font-weight: 600;
    color: #f0eef5;
    margin-bottom: 10px
}

.value-card__text {
    font-size: .83rem;
    color: #8a85a0;
    line-height: 1.6;
    margin: 0
}

.faq-list {
    max-width: 780px;
    margin: 0 auto
}

.faq-item {
    background: #1a1530;
    border: 1px solid #2a2545;
    border-radius: 16px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: border-color .3s
}

.faq-item:hover {
    border-color: #352f55
}

.faq-item.active {
    border-color: #a855f7;
    box-shadow: 0 0 0 1px rgba(168, 85, 247, .1)
}

.faq-item__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: 0 0;
    border: none;
    color: #f0eef5;
    font-size: .95rem;
    font-weight: 600;
    text-align: left;
    gap: 16px;
    cursor: pointer;
    transition: color .3s
}

.faq-item__question:hover {
    color: #a855f7
}

.faq-item__question i {
    font-size: 14px;
    color: #a855f7;
    flex-shrink: 0;
    transition: transform .35s
}

.faq-item.active .faq-item__question i {
    transform: rotate(180deg)
}

.faq-item__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease-out
}

.faq-item.active .faq-item__answer {
    max-height: 600px
}

.faq-item__answer-inner {
    padding: 0 24px 24px;
    color: #8a85a0;
    line-height: 1.75;
    font-size: .925rem
}

.contacts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 0 auto
}

.contact-card {
    background: #1a1530;
    border: 1px solid #2a2545;
    border-radius: 20px;
    padding: 40px 20px;
    text-align: center;
    transition: transform .4s, border-color .3s, box-shadow .4s
}

.contact-card:hover {
    transform: translateY(-6px);
    border-color: rgba(168, 85, 247, .25);
    box-shadow: 0 16px 48px rgba(0, 0, 0, .5)
}

.contact-card__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: .3s
}

.contact-card__icon i {
    font-size: 22px
}

.contact-card--whatsapp .contact-card__icon {
    background: rgba(37, 211, 102, .08);
    color: #25d366
}

.contact-card--whatsapp:hover .contact-card__icon {
    background: #25d366;
    color: #fff;
    box-shadow: 0 4px 20px rgba(37, 211, 102, .3)
}

.contact-card--telegram .contact-card__icon {
    background: rgba(0, 136, 204, .08);
    color: #08c
}

.contact-card--telegram:hover .contact-card__icon {
    background: #08c;
    color: #fff;
    box-shadow: 0 4px 20px rgba(0, 136, 204, .3)
}

.contact-card--email .contact-card__icon {
    background: rgba(168, 85, 247, .08);
    color: #a855f7
}

.contact-card--email:hover .contact-card__icon {
    background: #a855f7;
    color: #fff;
    box-shadow: 0 4px 20px rgba(168, 85, 247, .3)
}

.contact-card__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #f0eef5;
    margin-bottom: 8px
}

.contact-card__text {
    color: #8a85a0;
    font-size: .875rem;
    margin-bottom: 24px;
    line-height: 1.6
}

.contact-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: rgba(168, 85, 247, .06);
    border: 1px solid rgba(168, 85, 247, .2);
    border-radius: 50px;
    font-weight: 500;
    font-size: .875rem;
    color: #f0eef5;
    transition: .3s
}

.contact-card__link:hover {
    background: #a855f7;
    border-color: #a855f7;
    color: #0f0c1a;
    box-shadow: 0 4px 16px rgba(168, 85, 247, .3)
}

@media (max-width:991px) {
    .contacts-grid {
        grid-template-columns: 1fr;
        max-width: 400px
    }
}

.vip-modal {
    background: #1a1530;
    border: 1px solid #2a2545;
    border-radius: 20px;
    overflow: hidden
}

.vip-modal__close {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .06);
    border: none;
    border-radius: 50%;
    color: #8a85a0;
    font-size: 14px;
    cursor: pointer;
    transition: .3s;
    z-index: 1
}

.vip-modal__close:hover {
    background: #a855f7;
    color: #0f0c1a
}

.vip-modal__body {
    padding: 32px
}

.vip-modal__header {
    text-align: center;
    margin-bottom: 32px
}

.vip-modal__icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 20px;
    background: rgba(168, 85, 247, .1);
    border: 1.5px solid rgba(168, 85, 247, .25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.vip-modal__icon i {
    font-size: 28px;
    color: #a855f7
}

.vip-modal__title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #f0eef5;
    margin-bottom: 4px
}

.vip-modal__subtitle {
    color: #8a85a0;
    font-size: .9rem;
    margin: 0
}

.vip-modal__footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #2a2545;
    text-align: center
}

.vip-modal__footer-text {
    color: #8a85a0;
    font-size: .85rem;
    margin-bottom: 12px
}

.vip-modal__contacts {
    display: flex;
    gap: 12px;
    justify-content: center
}

.vip-form__group {
    margin-bottom: 20px
}

.vip-form__label {
    display: block;
    font-size: .78rem;
    font-weight: 500;
    color: #8a85a0;
    margin-bottom: 8px;
    letter-spacing: .02em
}

.vip-form__input-wrap {
    position: relative
}

.vip-form__input {
    width: 100%;
    padding: 12px 16px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid #2e2850;
    border-radius: 14px;
    color: #f0eef5;
    font-size: .95rem;
    transition: border-color .3s, box-shadow .3s
}

.vip-form__input::-moz-placeholder {
    color: #8a85a0
}

.vip-form__input::placeholder {
    color: #8a85a0
}

.vip-form__input:focus {
    outline: 0;
    border-color: #a855f7;
    box-shadow: 0 0 0 3px rgba(168, 85, 247, .12)
}

.vip-form__toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: 0 0;
    border: none;
    color: #8a85a0;
    padding: 4px;
    cursor: pointer;
    font-size: 14px
}

.vip-form__toggle:hover {
    color: #a855f7
}

.vip-form__submit {
    width: 100%;
    padding: 13px;
    background: linear-gradient(135deg, #a855f7, rgb(148.0584269663, 46.0337078652, 245.1662921348));
    border: none;
    border-radius: 14px;
    color: #0f0c1a;
    font-size: .95rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    letter-spacing: .02em;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(168, 85, 247, .25);
    transition: background .3s, box-shadow .3s, transform .3s
}

.vip-form__submit:hover {
    box-shadow: 0 6px 28px rgba(168, 85, 247, .4);
    transform: translateY(-1px)
}

.vip-contact-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 14px;
    font-size: .85rem;
    font-weight: 500;
    transition: .3s
}

.vip-contact-btn--whatsapp {
    background: rgba(37, 211, 102, .06);
    color: #25d366
}

.vip-contact-btn--whatsapp:hover {
    background: #25d366;
    color: #fff
}

.vip-contact-btn--telegram {
    background: rgba(0, 136, 204, .06);
    color: #08c
}

.vip-contact-btn--telegram:hover {
    background: #08c;
    color: #fff
}

.modal-content.vip-modal {
    border: 1px solid #2a2545
}

.modal-dialog {
    max-width: 420px
}

.profile-page {
    padding-bottom: 40px
}

.reply-timer {
    display: none;
    grid-column: 1/-1
}

@media (max-width:767px) {
    .reply-timer {
        display: flex;
        align-items: center;
        gap: 8px;
        justify-content: flex-end;
        padding: 8px 14px;
        position: relative;
        overflow: hidden;
        background: rgba(168, 85, 247, .04);
        border: 1px solid rgba(168, 85, 247, .15);
        border-radius: 50px;
        margin-bottom: 12px;
        transition: border-color .5s, background .5s
    }

    .reply-timer__bar {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 0%;
        background: linear-gradient(90deg, rgba(168, 85, 247, .35), rgba(168, 85, 247, .2));
        border-radius: 50px;
        transition: width 1s linear, opacity .5s;
        z-index: 0
    }

    .reply-timer__text {
        font-size: .72rem;
        color: #8a85a0;
        white-space: nowrap;
        position: relative;
        z-index: 1;
        transition: opacity .4s
    }

    .reply-timer__count {
        font-family: Georgia, "Times New Roman", serif;
        font-size: .85rem;
        font-weight: 700;
        color: #a855f7;
        min-width: 38px;
        text-align: center;
        position: relative;
        z-index: 1;
        transition: opacity .4s
    }

    .reply-timer__online {
        display: none;
        align-items: center;
        gap: 6px;
        font-size: .78rem;
        font-weight: 700;
        color: #25d366;
        position: relative;
        z-index: 1;
        white-space: nowrap
    }

    .reply-timer__dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #25d366;
        box-shadow: 0 0 8px rgba(37, 211, 102, .6);
        animation: 2s ease-in-out infinite timer-dot-pulse;
        flex-shrink: 0
    }

    .reply-timer.is-done {
        border-color: rgba(37, 211, 102, .25);
        background: rgba(37, 211, 102, .04)
    }

    .reply-timer.is-done .reply-timer__bar {
        opacity: 0
    }

    .reply-timer.is-done .reply-timer__count,
    .reply-timer.is-done .reply-timer__text {
        display: none
    }

    .reply-timer.is-done .reply-timer__online {
        display: flex
    }
}

@keyframes timer-dot-pulse {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: .4
    }
}

.breadcrumbs {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    font-size: .78rem;
    color: #8a85a0;
    background: rgba(168, 85, 247, .04);
    border: 1px solid #2a2545;
    border-radius: 50px;
    margin-bottom: 8px
}

.breadcrumbs a {
    color: #8a85a0;
    transition: color .3s
}

.breadcrumbs a:hover {
    color: #a855f7
}

.breadcrumbs .sep {
    opacity: .3;
    color: #a855f7
}

.breadcrumbs .current {
    color: #a855f7;
    font-weight: 600;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.profile-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px
}

.pn-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: .82rem;
    font-weight: 500;
    color: #8a85a0;
    background: #1a1530;
    border: 1px solid #2a2545;
    transition: .3s
}

.pn-btn:hover {
    color: #f0eef5;
    background: rgba(168, 85, 247, .1);
    border-color: rgba(168, 85, 247, .3)
}

.pn-arrows {
    display: flex;
    gap: 8px
}

.pn-btn--arrow {
    width: 38px;
    height: 38px;
    justify-content: center;
    padding: 0;
    border-radius: 50%
}

.profile-bottom-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding-top: 32px;
    margin-top: 32px;
    border-top: 1px solid rgba(42, 37, 69, .6)
}

.pbn-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: #1a1530;
    border: 1px solid rgba(42, 37, 69, .5);
    border-radius: 20px;
    text-decoration: none;
    transition: .3s
}

.pbn-card:hover {
    border-color: rgba(168, 85, 247, .25);
    background: #231e3d;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .3), 0 0 16px rgba(168, 85, 247, .06)
}

.pbn-card--next {
    justify-content: flex-end;
    text-align: right
}

.pbn-card__arr {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(168, 85, 247, .08);
    border: 1px solid rgba(168, 85, 247, .15);
    border-radius: 50%;
    flex-shrink: 0;
    transition: .3s
}

.pbn-card__arr i {
    font-size: 13px;
    color: #a855f7
}

.pbn-card:hover .pbn-card__arr {
    background: #a855f7;
    border-color: #a855f7
}

.pbn-card:hover .pbn-card__arr i {
    color: #0f0c1a
}

.pbn-card__lbl {
    display: block;
    font-size: .6rem;
    font-weight: 600;
    color: #8a85a0;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 2px
}

.pbn-card__name {
    font-size: .9rem;
    font-weight: 700;
    color: #f0eef5;
    display: block;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.profile-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 680px;
    margin: 0 auto
}

.profile-col-gallery {
    grid-column: 1/-1;
    grid-row: 1;
    position: relative
}

@media (min-width:1024px) {
    .profile-layout {
        max-width: 720px
    }
}

@media (min-width:1280px) {
    .profile-layout {
        max-width: 780px
    }
}

.gallery {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: #0a0816;
    border: none
}

.gallery::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .4) 50%, transparent 100%);
    z-index: 2;
    pointer-events: none
}

.gallery__track {
    display: flex;
    gap: 0;
    transition: transform .4s
}

.gallery__slide {
    flex: 0 0 100%;
    width: 100%;
    position: relative;
    overflow: hidden
}

.gallery__slide img {
    width: 66%;
    height: auto;
    display: block;
    margin: 0 auto;
    cursor: pointer;
    transition: transform .5s
}

.gallery__slide:hover img {
    transform: scale(1.02)
}

.gallery__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .45);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .12);
    color: #fff;
    z-index: 10;
    cursor: pointer;
    transition: .3s;
    font-size: 16px
}

.gallery__arrow:hover {
    background: #a855f7;
    border-color: #a855f7;
    color: #0f0c1a;
    box-shadow: 0 4px 20px rgba(168, 85, 247, .35)
}

.gallery__arrow--prev {
    left: 12px
}

.gallery__arrow--next {
    right: 12px
}

.gallery__counter {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 5px 12px;
    background: rgba(0, 0, 0, .5);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50px;
    font-size: .72rem;
    font-weight: 600;
    color: #fff;
    z-index: 10
}

.gallery__counter-sep {
    opacity: .4;
    margin: 0 2px
}

.gallery__thumbs {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 14px 0 0
}

.gallery__thumb {
    width: 56px;
    height: 72px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color .3s, box-shadow .3s, transform .3s;
    background: #1a1530;
    padding: 0;
    flex-shrink: 0
}

.gallery__thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top;
    display: block;
    border-radius: 8px
}

.gallery__thumb:hover {
    border-color: rgba(168, 85, 247, .5);
    transform: scale(1.05)
}

.gallery__thumb.is-active {
    border-color: #a855f7;
    box-shadow: 0 0 12px rgba(168, 85, 247, .35)
}

@media (max-width:767px) {
    .gallery {
        border-radius: 20px
    }

    .gallery__slide img {
        width: 100%
    }

    .gallery__arrow {
        width: 36px;
        height: 36px;
        font-size: 14px
    }

    .gallery__thumbs {
        gap: 6px;
        padding: 10px 0 0
    }

    .gallery__thumb {
        width: 46px;
        height: 60px;
        border-radius: 8px
    }
}

.cols-wrapper {
    grid-column: 1 / -1;
    display: flex;
    gap: 20px;
}

@media screen and (max-width: 768px) {
    .cols-wrapper {
        flex-direction: column;
    }
}

.cols-wrapper .p-card {
    flex: 1;
}

.p-card {
    background: #1a1530;
    border: 1px solid rgba(42, 37, 69, .5);
    border-radius: 20px;
    padding: 24px;
    transition: border-color .3s, box-shadow .3s
}

.p-card:last-child {
    margin-bottom: 0
}

.p-card:hover {
    border-color: rgba(168, 85, 247, .15);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .25)
}

.p-card__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .85rem;
    font-weight: 700;
    color: #a855f7;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(42, 37, 69, .6)
}

.p-card__title i {
    color: #a855f7;
    font-size: 14px
}

.profile-col-info {
    display: contents
}

.p-contacts--top {
    grid-column: 1/-1;
    display: grid !important
}

.p-card--identity {
    grid-column: 1/-1;
    grid-row: 1;
    align-self: end;
    z-index: 5;
    position: relative;
    border: none;
    background: 0 0;
    border-radius: 0;
    padding: 0 20px 16px;
    margin-bottom: 86px;
    overflow: visible;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px
}

.p-card--identity::before {
    display: none
}

.p-card--identity:hover {
    border-color: transparent;
    box-shadow: none
}

.p-card--identity .p-identity {
    display: flex;
    flex-direction: column;
    align-items: center
}

.p-card--identity .p-identity>div:first-child {
    text-align: center;
    margin-bottom: 6px
}

.p-card--identity .p-identity__price {
    margin-top: 8px
}

.p-card--identity .p-stats {
    flex-shrink: 0
}

.p-identity__name {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 4px;
    text-align: center;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .6)
}

.p-identity__loc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .78rem;
    color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(8px);
    padding: 3px 12px;
    border-radius: 50px
}

.p-identity__loc i {
    color: #a855f7;
    font-size: 11px
}

.p-identity__price {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    flex-shrink: 0;
    padding: 7px 18px;
    background: #a855f7;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(168, 85, 247, .3)
}

.p-identity__price-num {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f0c1a;
    line-height: 1
}

.p-identity__price-cur {
    font-size: .7rem;
    font-weight: 600;
    color: rgba(15, 12, 26, .7)
}

.p-identity__price-per {
    font-size: .6rem;
    color: rgba(15, 12, 26, .5);
    margin-left: 1px
}

.p-stats {
    display: flex;
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    overflow: hidden
}

.p-stat {
    flex: 0 0 auto;
    display: flex;
    align-items: baseline;
    gap: 4px;
    padding: 8px 10px;
    position: relative
}

.p-stat+.p-stat::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: rgba(255, 255, 255, .12)
}

.p-stat__val {
    display: inline;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    line-height: 1
}

.p-stat__val small {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    font-size: .55rem;
    font-weight: 500;
    color: rgba(255, 255, 255, .5);
    margin-left: 1px
}

.p-stat__lbl {
    display: inline;
    font-size: .6rem;
    font-weight: 600;
    color: rgba(255, 255, 255, .5);
    text-transform: uppercase;
    letter-spacing: .06em
}

.p-contacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.p-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border-radius: 50px;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    transition: transform .3s, box-shadow .3s, background .3s, color .3s, border-color .3s
}

.p-contact--wa {
    background: rgba(37, 211, 102, .08);
    color: #25d366;
    border: 1px solid rgba(37, 211, 102, .2)
}

.p-contact--wa:hover {
    background: #25d366;
    color: #fff;
    border-color: #25d366;
    box-shadow: 0 4px 24px rgba(37, 211, 102, .3);
    transform: translateY(-2px)
}

.p-contact--tg {
    background: rgba(0, 136, 204, .08);
    color: #08c;
    border: 1px solid rgba(0, 136, 204, .2)
}

.p-contact--tg:hover {
    background: #08c;
    color: #fff;
    border-color: #08c;
    box-shadow: 0 4px 24px rgba(0, 136, 204, .3);
    transform: translateY(-2px)
}

.p-contact.p-contact--wa.is-flashing {
    animation: .5s ease-in-out infinite flash-wa !important;
    border-color: #25d366 !important
}

.p-contact.p-contact--tg.is-flashing {
    animation: .5s ease-in-out infinite flash-tg !important;
    border-color: #08c !important
}

@keyframes flash-wa {

    0%,
    100% {
        background: rgba(37, 211, 102, .08);
        color: #25d366;
        box-shadow: 0 0 0 rgba(37, 211, 102, 0)
    }

    50% {
        background: #25d366;
        color: #fff;
        box-shadow: 0 0 30px rgba(37, 211, 102, .6), 0 0 60px rgba(37, 211, 102, .25)
    }
}

@keyframes flash-tg {

    0%,
    100% {
        background: rgba(0, 136, 204, .08);
        color: #08c;
        box-shadow: 0 0 0 rgba(0, 136, 204, 0)
    }

    50% {
        background: #08c;
        color: #fff;
        box-shadow: 0 0 30px rgba(0, 136, 204, .6), 0 0 60px rgba(0, 136, 204, .25)
    }
}

.p-details {
    display: flex;
    flex-direction: column
}

.p-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid rgba(42, 37, 69, .5)
}

.p-detail:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.p-detail:first-child {
    padding-top: 0
}

.p-detail dt {
    font-size: .82rem;
    color: #8a85a0
}

.p-detail dd {
    font-size: .86rem;
    font-weight: 600;
    color: #f0eef5;
    text-align: right;
    margin: 0;
    background: rgba(168, 85, 247, .05);
    padding: 3px 12px;
    border-radius: 50px
}

.p-prices__head {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(168, 85, 247, .1);
    margin-bottom: 4px
}

.p-prices__head span {
    font-size: .65rem;
    font-weight: 700;
    color: #a855f7;
    text-transform: uppercase;
    letter-spacing: .1em
}

.p-prices__head span:not(:first-child) {
    text-align: right
}

.p-prices__row {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(42, 37, 69, .4);
    transition: background .3s
}

.p-prices__row:last-child {
    border-bottom: none
}

.p-prices__row--hl {
    background: rgba(168, 85, 247, .06);
    margin-inline: -14px;
    padding-inline: 14px;
    border-radius: 12px;
    border-bottom-color: transparent;
    position: relative
}

.p-prices__row--hl::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20%;
    height: 60%;
    width: 3px;
    background: #a855f7;
    border-radius: 2px
}

.p-prices__dur {
    font-size: .84rem;
    font-weight: 500;
    color: #beb8d0
}

.p-prices__val {
    font-size: .9rem;
    font-weight: 700;
    color: #f0eef5;
    text-align: right
}

.p-prices__val small {
    font-weight: 500;
    color: #8a85a0;
    font-size: .7rem
}

.p-hours {
    display: flex;
    align-items: center;
    gap: 14px
}

.p-hours__icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(168, 85, 247, .08);
    border: 1px solid rgba(168, 85, 247, .12);
    border-radius: 50%;
    flex-shrink: 0
}

.p-hours__icon i {
    color: #a855f7;
    font-size: 16px
}

.p-hours__lbl {
    display: block;
    font-size: .6rem;
    font-weight: 700;
    color: #8a85a0;
    text-transform: uppercase;
    letter-spacing: .1em
}

.p-hours__val {
    display: block;
    font-size: .95rem;
    font-weight: 700;
    color: #f0eef5
}

.p-hours__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #8a85a0;
    flex-shrink: 0;
    margin-left: auto
}

.p-hours__dot--on {
    background: #22c55e;
    box-shadow: 0 0 10px rgba(34, 197, 94, .5);
    animation: 2s ease-in-out infinite pulse-dot
}

.p-card--compact {
    grid-column: 1/-1
}

@keyframes pulse-dot {

    0%,
    100% {
        box-shadow: 0 0 10px rgba(34, 197, 94, .5)
    }

    50% {
        box-shadow: 0 0 20px rgba(34, 197, 94, .8)
    }
}

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s
}

.lightbox.is-active {
    opacity: 1;
    visibility: visible
}

.lightbox__bg {
    position: absolute;
    inset: 0;
    background: rgba(12, 10, 22, .96);
    backdrop-filter: blur(20px)
}

.lightbox__img {
    position: relative;
    z-index: 1;
    max-width: 92vw;
    max-height: 88vh;
    -o-object-fit: contain;
    object-fit: contain;
    border-radius: 20px;
    box-shadow: 0 20px 80px rgba(0, 0, 0, .6);
    opacity: 0;
    transform: scale(.92);
    transition: opacity .4s, transform .4s
}

.lightbox.is-active .lightbox__img {
    opacity: 1;
    transform: scale(1)
}

.lb-btn {
    position: absolute;
    z-index: 2;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(168, 85, 247, .2);
    color: #f0eef5;
    cursor: pointer;
    font-size: 18px;
    transition: .3s
}

.lb-btn:hover {
    background: #a855f7;
    border-color: #a855f7;
    color: #0f0c1a;
    box-shadow: 0 4px 20px rgba(168, 85, 247, .35)
}

.lb-close {
    top: 24px;
    right: 24px
}

.lb-prev {
    left: 24px;
    top: 50%;
    transform: translateY(-50%)
}

.lb-next {
    right: 24px;
    top: 50%;
    transform: translateY(-50%)
}

.lightbox__count {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    padding: 6px 18px;
    background: rgba(15, 12, 26, .7);
    border: 1px solid rgba(168, 85, 247, .1);
    border-radius: 50px;
    font-size: .78rem;
    font-weight: 600;
    color: rgba(240, 238, 245, .7)
}

@media (max-width:767px) {
    .profile-page {
        padding-bottom: 20px
    }

    .profile-layout {
        max-width: 100%;
        grid-template-columns: 1fr
    }

    .p-card {
        padding: 18px;
        border-radius: 16px
    }

    .p-card--identity {
        padding: 40px 12px 12px;
        margin-bottom: 60px;
        flex-direction: column;
        align-items: center;
        gap: 8px
    }

    .p-card--identity .p-identity>div:first-child {
        margin-bottom: 4px
    }

    .p-card--identity .p-identity__price {
        padding: 5px 14px
    }

    .p-card--identity .p-stats {
        margin-bottom: 0
    }

    .p-identity__name {
        font-size: 1.2rem
    }

    .p-stat {
        padding: 6px 8px
    }

    .p-stat__val {
        font-size: .85rem
    }

    .p-stat__lbl {
        font-size: .45rem
    }

    .p-contacts {
        grid-template-columns: 1fr
    }

    .lb-next,
    .lb-prev {
        width: 38px;
        height: 38px
    }

    .lb-prev {
        left: 8px
    }

    .lb-next {
        right: 8px
    }

    .lb-close {
        top: 12px;
        right: 12px;
        width: 38px;
        height: 38px
    }

    .pn-btn--back span {
        display: none
    }

    .pn-btn--arrow {
        width: 34px;
        height: 34px
    }

    .profile-bottom-nav {
        grid-template-columns: 1fr;
        gap: 10px;
        padding-top: 20px;
        margin-top: 20px
    }

    .pbn-card--next {
        justify-content: flex-start;
        text-align: left;
        flex-direction: row-reverse
    }
}

.site-footer {
    background: #0a0815;
    border-top: 1px solid #2a2545;
    padding: 48px 0 0;
    margin-top: 20px
}

.site-footer .footer__title {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: #f0eef5;
    margin-bottom: 16px
}

.site-footer .footer__text {
    font-size: .85rem;
    color: #8a85a0;
    line-height: 1.6
}

.site-footer .footer__text--small {
    font-size: .8rem
}

.site-footer .footer__socials {
    display: flex;
    gap: 10px;
    margin-top: 16px
}

.site-footer .footer-social {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: .3s
}

.site-footer .footer-social--whatsapp {
    background: rgba(37, 211, 102, .08);
    color: #25d366;
    border: 1px solid rgba(37, 211, 102, .15)
}

.site-footer .footer-social--whatsapp:hover {
    background: #25d366;
    color: #fff;
    box-shadow: 0 4px 15px rgba(37, 211, 102, .35);
    transform: translateY(-2px)
}

.site-footer .footer-social--telegram {
    background: rgba(0, 136, 204, .08);
    color: #08c;
    border: 1px solid rgba(0, 136, 204, .15)
}

.site-footer .footer-social--telegram:hover {
    background: #08c;
    color: #fff;
    box-shadow: 0 4px 15px rgba(0, 136, 204, .35);
    transform: translateY(-2px)
}

.site-footer .footer__links {
    list-style: none;
    padding: 0;
    margin: 0
}

.site-footer .footer__links li {
    margin-bottom: 10px
}

.site-footer .footer__links a {
    color: #8a85a0;
    font-size: .85rem;
    transition: .3s
}

.site-footer .footer__links a:hover {
    color: #a855f7;
    padding-left: 4px
}

.site-footer .footer__contact {
    list-style: none;
    padding: 0;
    margin: 0
}

.site-footer .footer__contact li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: .85rem;
    color: #8a85a0
}

.site-footer .footer__contact li i {
    color: #a855f7;
    font-size: 14px;
    width: 16px;
    text-align: center
}

.site-footer .footer__contact li a {
    color: #8a85a0;
    transition: .3s
}

.site-footer .footer__contact li a:hover {
    color: #f0eef5
}

.site-footer .footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    margin-top: 40px;
    border-top: 1px solid #2a2545;
    font-size: .8rem;
    color: #8a85a0
}

.site-footer .footer__bottom p {
    margin: 0
}

.site-footer .footer__bottom-links {
    display: flex;
    gap: 20px
}

.site-footer .footer__bottom-links a {
    color: #8a85a0;
    font-size: .8rem;
    transition: .3s
}

.site-footer .footer__bottom-links a:hover {
    color: #a855f7
}

@media (max-width:767px) {
    .site-footer .footer__bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center
    }

    .navbar .navbar-nav {
        padding: 16px 0;
        border-top: 1px solid #2a2545;
        margin-top: 12px
    }

    .navbar .navbar-nav .nav-link {
        padding: 10px 0
    }

    .navbar .navbar-nav .nav-link.active::after {
        left: 0;
        right: auto;
        width: 30px
    }

    .navbar .header-actions {
        margin-top: 10px;
        width: 100%;
        justify-content: center
    }

    .navbar .btn-vip {
        flex: 1;
        justify-content: center
    }

    .model-card__socials .social-btn span {
        display: none
    }

    .model-card__socials {
        gap: 6px;
        padding: 0
    }

    .model-card__socials .social-btn {
        width: 38px;
        height: 38px
    }

    .model-card__socials .social-btn i {
        font-size: 16px
    }
}