/*
Theme Name: Modelos VIP Theme
Theme URI: https://example.com/
Author: Felipe + ChatGPT
Author URI: https://example.com/
Description: Tema para vitrine de modelos que vendem packs (WhatsApp / Telegram).
Version: 1.0.1
License: GNU General Public License v2 or later
Text Domain: modelosvip
*/

/* ===== BASE ===== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: radial-gradient(circle at top, #1b0b3b 0, #05010a 50%, #020007 100%);
    color: #f4f4f4;
    -webkit-font-smoothing: antialiased;
}

a {
    color: #ff4fcf;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===== HEADER ===== */

header.site-header {
    background: rgba(5, 1, 10, 0.95);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 20;
    backdrop-filter: blur(10px);
}

header .site-title a {
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 12px;
}
.main-nav a {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(244,244,244,0.8);
}
.main-nav a:hover {
    color: #fff;
}

/* ===== CONTAINER ===== */

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 16px 14px 70px;
}

/* ===== COMPONENTES GERAIS ===== */

.grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

@media (min-width: 640px) {
    .grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (min-width: 960px) {
    .grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.card {
    background: linear-gradient(145deg, #0f061d, #120725);
    border-radius: 16px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,0.06);
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0 14px 30px rgba(0,0,0,0.4);
    position: relative;
}

/* IMAGENS PADRONIZADAS NOS CARDS (MODELOS E PACKS) */
.card img {
    border-radius: 12px;
    width: 100%;
    height: 220px;          /* altura fixa pra padronizar */
    object-fit: cover;      /* recorta mantendo proporção */
    object-position: center;
}

/* Em telas maiores, sobe um pouco a altura pra ficar mais bonitão */
@media (min-width: 640px) {
    .card img {
        height: 240px;
    }
}
@media (min-width: 960px) {
    .card img {
        height: 260px;
    }
}

.badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.badge {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
}

.badge-verified {
    background: #16a34a;
    color: #fff;
}
.badge-featured {
    background: #f97316;
    color: #fff;
}
.badge-topweek {
    background: #22c55e;
    color: #fff;
}

.btn-primary,
.btn-secondary,
.btn-disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}

.btn-primary {
    background: linear-gradient(90deg, #ff4fcf, #ff784f);
    color: #fff;
}
.btn-primary:hover {
    opacity: .9;
    text-decoration: none;
}

.btn-secondary {
    background: rgba(255,255,255,0.08);
    color: #fff;
}
.btn-secondary:hover {
    background: rgba(255,255,255,0.14);
    text-decoration: none;
}

.btn-disabled {
    background: rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.5);
    cursor: default;
}

.chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.chip {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
}

/* ===== HOME / HERO ===== */

.hero {
    padding: 4px 0 10px;
}

.hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: rgba(255, 79, 207, 0.08);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(244,244,244,0.8);
    margin-bottom: 6px;
}

.hero-title {
    font-size: 24px;
    font-weight: 700;
    margin: 4px 0 4px;
}

.hero-highlight {
    color: #ff4fcf;
}

.hero-subtitle {
    font-size: 13px;
    color: rgba(244,244,244,0.75);
    max-width: 380px;
}

/* ===== FILTRO DA HOME ===== */

.home-filter {
    margin-top: 16px;
    margin-bottom: 18px;
}

.home-filter-card {
    background: rgba(10, 3, 22, 0.96);
    border-radius: 16px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,0.06);
}

.home-filter-title {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(244,244,244,0.85);
}

.home-filter-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.home-filter input[type="text"],
.home-filter select {
    border-radius: 999px;
    border: none;
    padding: 8px 12px;
    font-size: 13px;
    background: rgba(11, 5, 27, 0.9);
    color: #f4f4f4;
    outline: none;
}

.home-filter input[type="text"]::placeholder {
    color: rgba(244,244,244,0.55);
}

.home-filter button {
    margin-left: auto;
}

/* ===== SEÇÕES DA HOME ===== */

.home-section {
    margin-top: 24px;
}

.home-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.section-title {
    font-size: 16px;
    font-weight: 600;
}

.section-subtitle {
    font-size: 12px;
    color: rgba(244,244,244,0.65);
}

.section-link {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: rgba(244,244,244,0.7);
}

/* ===== PERFIL DA MODELO / PACK ===== */

.model-profile {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

@media (min-width: 768px) {
    .model-profile {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        gap: 24px;
    }
}

.model-profile .avatar img {
    width: 100%;
    border-radius: 18px;
    max-height: 420px;
    object-fit: cover;
    object-position: center top;
}

.model-profile .meta h1 {
    margin-top: 0;
}

.contact-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}

/* ===== PRICE ===== */

.price {
    font-weight: 700;
    font-size: 15px;
}
.price .old {
    font-weight: 400;
    font-size: 12px;
    text-decoration: line-through;
    color: rgba(244,244,244,0.6);
    margin-left: 6px;
}

/* ===== FOOTER ===== */

.footer {
    padding: 18px 16px;
    border-top: 1px solid rgba(255,255,255,0.08);
    font-size: 11px;
    text-align: center;
    color: rgba(244,244,244,0.7);
    background: rgba(5, 1, 10, 0.98);
}

/* ===== HEADER ESTILO ONLYFANS / PRIVACY ===== */

.site-header-of {
    position: sticky;
    top: 0;
    z-index: 50;
    background: radial-gradient(circle at top left, #111827 0, #020617 45%, #000000 100%);
    box-shadow: 0 14px 40px rgba(0,0,0,0.7);
}

/* linha principal */

.header-inner-of {
    max-width: 1100px;
    margin: 0 auto;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

/* logo / marca */

.header-logo-of {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

/* bolinha estilo OnlyFans */

.logo-icon-of {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: radial-gradient(circle at 30% 0, #e0f2fe 0, #38bdf8 40%, #0ea5e9 80%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(15,23,42,0.9), 0 8px 20px rgba(15,23,42,0.8);
}

.logo-circle-of {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 2px solid #0f172a;
    background: rgba(15,23,42,0.75);
}

.logo-dot-of {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 2px rgba(15,23,42,0.9);
}

.logo-text-of {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.logo-title-of {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #f9fafb;
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.logo-sub-of {
    font-size: 11px;
    color: rgba(148,163,184,0.95);
}

/* navegação */

.header-nav-of {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: rgba(15,23,42,0.98);
    border-top: 1px solid rgba(148,163,184,0.25);
    padding: 10px 16px 14px;
    display: none;
}

.header-nav-of.is-open {
    display: block;
}

.header-menu-of {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.header-menu-of a {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(209,213,219,0.9);
    text-decoration: none;
    padding: 4px 0;
}

.header-menu-of a:hover {
    color: #e5e7eb;
}

.header-cta-of {
    width: 100%;
    justify-content: center;
}

/* botão hambúrguer */

.header-burger-of {
    background: transparent;
    border: none;
    width: 30px;
    height: 26px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    padding: 0;
    cursor: pointer;
}

.header-burger-of span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: rgba(226,232,240,0.95);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

/* animação X */

.header-burger-of.is-open span:first-child {
    transform: translateY(3px) rotate(45deg);
}
.header-burger-of.is-open span:last-child {
    transform: translateY(-3px) rotate(-45deg);
}

/* desktop */

@media (min-width: 768px) {
    .header-inner-of {
        padding-block: 12px;
    }

    .header-nav-of {
        position: static;
        display: flex !important;
        align-items: center;
        gap: 18px;
        background: transparent;
        border-top: none;
        padding: 0;
    }

    .header-menu-of {
        flex-direction: row;
        gap: 18px;
        margin: 0;
    }

    .header-menu-of a {
        font-size: 12px;
        position: relative;
        color: rgba(209,213,219,0.9);
    }

    .header-menu-of a::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -4px;
        height: 2px;
        border-radius: 999px;
        background: linear-gradient(90deg, #38bdf8, #a855f7);
        opacity: 0;
        transform: scaleX(0.3);
        transform-origin: center;
        transition: opacity 0.18s ease, transform 0.18s ease;
    }

    .header-menu-of a:hover::after,
    .header-menu-of .current-menu-item > a::after {
        opacity: 1;
        transform: scaleX(1);
    }

    .header-cta-of {
        width: auto;
    }

    .header-burger-of {
        display: none;
    }

    .logo-title-of {
        max-width: 280px;
    }
}

/* LOGO USANDO IMAGEM 500x500 */

.header-logo-of img.custom-logo,
.header-logo-of .logo-img-of {
    width: 40px;        /* tamanho no desktop */
    height: auto;
    object-fit: contain;
    display: block;
}

/* título ao lado da logo */
.header-logo-of {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* texto da marca */
.logo-text-of {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.logo-title-of {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #fff;
}

.logo-sub-of {
    font-size: 11px;
    color: rgba(209,213,219,0.85);
}

/* MOBILE: diminui um pouco a logo */
@media (max-width: 768px) {
    .header-logo-of img.custom-logo,
    .header-logo-of .logo-img-of {
        width: 40px;
    }
}

/* ===== RODAPÉ PROFISSIONAL ===== */

.site-footer-of {
    background: radial-gradient(circle at top left, #020617 0, #020014 40%, #000000 100%);
    border-top: 1px solid rgba(148,163,184,0.25);
    color: #e5e7eb;
    margin-top: 40px;
}

.footer-inner-of {
    max-width: 1100px;
    margin: 0 auto;
    padding: 22px 14px;
}

/* topo do rodapé */

.footer-top-of .footer-inner-of {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, 1.6fr);
    gap: 22px;
}

@media (max-width: 960px) {
    .footer-top-of .footer-inner-of {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .footer-top-of .footer-inner-of {
        grid-template-columns: 1fr;
    }
}

/* coluna brand */

.footer-brand-of {
    max-width: 360px;
}

.footer-logo-of {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    margin-bottom: 10px;
}

.footer-logo-of img.custom-logo {
    width: 52px;
    height: auto;
    object-fit: contain;
    display: block;
}

.footer-logo-text-of {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.footer-site-title-of {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #f9fafb;
}

.footer-site-sub-of {
    font-size: 12px;
    color: rgba(148,163,184,0.95);
}

.footer-desc-of {
    font-size: 12px;
    color: rgba(148,163,184,0.9);
    line-height: 1.5;
    margin: 0;
}

/* colunas de links */

.footer-col-of {
    font-size: 13px;
}

.footer-title-of {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: rgba(209,213,219,0.95);
    margin: 0 0 8px;
}

.footer-links-of {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links-of li {
    margin-bottom: 4px;
}

.footer-links-of a {
    color: rgba(156,163,175,0.95);
    text-decoration: none;
    font-size: 13px;
}

.footer-links-of a:hover {
    color: #f9fafb;
}

/* aviso 18+ */

.footer-18-of {
    margin-top: 10px;
    font-size: 11px;
    color: rgba(148,163,184,0.9);
    line-height: 1.4;
}

/* bottom bar */

.footer-bottom-of {
    border-top: 1px solid rgba(31,41,55,0.9);
    background: #020617;
}

.footer-bottom-inner-of {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

.footer-copy-of {
    margin: 0;
    font-size: 11px;
    color: rgba(156,163,175,0.95);
}

.footer-bottom-links-of {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.footer-bottom-menu-of {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-bottom-menu-of a {
    font-size: 11px;
    color: rgba(156,163,175,0.95);
    text-decoration: none;
}

.footer-bottom-menu-of a:hover {
    color: #f9fafb;
}

.footer-made-of {
    font-size: 11px;
    color: rgba(107,114,128,0.95);
}

/* responsivo */

@media (max-width: 640px) {
    .footer-bottom-inner-of {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-bottom-links-of {
        align-items: flex-start;
        justify-content: flex-start;
    }
}

/* ===== PAINEL DA MODELO – PACKS ===== */

.painel-packs {
    margin-top: 26px;
}

.painel-packs-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.painel-packs-header h2 {
    margin: 0;
    font-size: 17px;
}

.painel-packs-count {
    font-size: 12px;
    color: rgba(148,163,184,0.95);
}

.packs-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}

@media (min-width: 820px) {
    .packs-list {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

.pack-card {
    background: rgba(15,23,42,0.95);
    border-radius: 12px;
    border: 1px solid rgba(51,65,85,0.9);
    padding: 10px 11px 11px;
}

.pack-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 6px;
}

.pack-card-top h3 {
    font-size: 14px;
    margin: 0;
}

.pack-price {
    text-align: right;
    font-size: 13px;
}

.pack-price .old {
    text-decoration: line-through;
    color: rgba(148,163,184,0.85);
    display: block;
}

.pack-price .current {
    font-weight: 700;
    color: #f9fafb;
}

.pack-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 11px;
    margin-bottom: 6px;
}

.pack-meta .tag {
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(30,64,175,0.4);
    color: #dbeafe;
}

.pack-meta .tag-highlight {
    background: rgba(234,179,8,0.25);
    color: #facc15;
}

.pack-meta .tag-promo {
    background: rgba(248,113,113,0.32);
    color: #fecaca;
}

.pack-meta .views {
    color: rgba(148,163,184,0.95);
}

.pack-actions {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}

.btn-xs {
    padding: 5px 9px;
    font-size: 11px;
}

/* mensagem sem packs */
.packs-empty {
    font-size: 13px;
    color: rgba(148,163,184,0.95);
}

/* Novo pack */

.novo-pack-card {
    margin-top: 10px;
    background: rgba(15,23,42,0.95);
    border-radius: 14px;
    border: 1px solid rgba(51,65,85,0.9);
    padding: 12px 12px 14px;
}

.novo-pack-card h3 {
    margin: 0 0 8px;
    font-size: 15px;
}

.painel-form-pack label {
    display: block;
    font-size: 12px;
    margin-top: 8px;
    margin-bottom: 3px;
}

.painel-form-pack input[type="text"],
.painel-form-pack input[type="number"],
.painel-form-pack textarea,
.painel-form-pack select {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(51,65,85,0.9);
    background: rgba(15,23,42,0.95);
    padding: 6px 9px;
    font-size: 13px;
    color: #e5e7eb;
}

.novo-pack-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px 14px;
}

.novo-pack-col-full {
    grid-column: 1 / -1;
}

@media (min-width: 840px) {
    .novo-pack-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
    }
}

.footer-lgpd {
    text-align: center;
    margin-top: 24px;
    font-size: 13px;
    color: rgba(148,163,184,.8);
}

.footer-lgpd a {
    color: #38bdf8;
    text-decoration: none;
}

.footer-lgpd a:hover {
    text-decoration: underline;
}


/* ==========================
   LAYOUT BASE DAS SEÇÕES
   ========================== */

.home-hero,
.home-filter,
.home-section {
    padding: 24px 16px;
}

@media (min-width: 768px) {
    .home-hero,
    .home-filter,
    .home-section {
        padding: 32px 20px;
    }
}

@media (min-width: 1024px) {
    .home-hero,
    .home-filter,
    .home-section {
        padding: 40px 24px;
    }
}

/* Centralizador */
.home-hero-inner,
.home-filter > form > .home-filter-card,
.home-section > .home-section-header,
.home-section > .grid-modelos {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

/* Paleta base */
:root {
    --mv-bg: #050509;
    --mv-card-bg: #111018;
    --mv-card-border: rgba(255,255,255,0.07);
    --mv-card-border-soft: rgba(255,255,255,0.04);
    --mv-accent: #ff3f8b;
    --mv-accent-soft: rgba(255,63,139,0.14);
    --mv-text-main: #f7f7ff;
    --mv-text-muted: #a4a4ba;
    --mv-chip-bg: rgba(255,255,255,0.06);
}

/* Se o tema usar outro fundo, isso não quebra nada */
body {
    background-color: var(--mv-bg);
}

/* ==========================
   HERO COMPACTO (SEO)
   ========================== */

.home-hero.home-hero-compact {
    padding-top: 28px;
    padding-bottom: 8px;
}

.home-hero-inner {
    max-width: 960px;
    margin: 0 auto;
    text-align: left;
}

.home-hero-kicker {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--mv-accent);
    font-weight: 600;
    margin: 0 0 8px;
}

.home-hero-title {
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.3;
    color: var(--mv-text-main);
    font-weight: 700;
}

.home-hero-subtitle {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--mv-text-muted);
}

@media (min-width: 768px) {
    .home-hero-title {
        font-size: 26px;
    }
    .home-hero-subtitle {
        font-size: 14px;
        max-width: 780px;
    }
}

/* ==========================
   FILTRO
   ========================== */

.home-filter {
    padding-top: 8px;
    padding-bottom: 24px;
}

.home-filter-card {
    background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    border-radius: 16px;
    border: 1px solid var(--mv-card-border-soft);
    box-shadow: 0 12px 40px rgba(0,0,0,0.45);
    padding: 14px 14px 16px;
}

.home-filter-title span {
    font-size: 13px;
    font-weight: 600;
    color: var(--mv-text-main);
}

.home-filter-grid {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.home-filter-grid input[type="text"],
.home-filter-grid select {
    background-color: #07060f;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.08);
    padding: 9px 14px;
    font-size: 13px;
    color: var(--mv-text-main);
    outline: none;
    width: 100%;
}

.home-filter-grid input::placeholder {
    color: rgba(255,255,255,0.45);
}

.home-filter-grid select {
    padding-right: 32px;
}

/* Botão já aproveitando a classe que você usa */
.home-filter .btn-secondary {
    border-radius: 999px;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid var(--mv-accent);
    background: var(--mv-accent-soft);
    color: var(--mv-text-main);
    width: 100%;
    text-align: center;
}

.home-filter .btn-secondary:hover {
    background: rgba(255,63,139,0.24);
}

/* Filtro em linha no desktop */
@media (min-width: 768px) {
    .home-filter-card {
        padding: 14px 18px 16px;
    }

    .home-filter-grid {
        flex-direction: row;
        align-items: center;
    }

    .home-filter .btn-secondary {
        width: auto;
        white-space: nowrap;
    }
}

/* ==========================
   SEÇÃO LISTA DE MODELOS
   ========================== */

.home-section {
    padding-top: 8px;
    padding-bottom: 40px;
}

.home-section-header {
    max-width: 1180px;
    margin: 0 auto 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--mv-text-main);
    margin: 0;
}

.section-subtitle {
    font-size: 13px;
    color: var(--mv-text-muted);
    margin: 0;
}

/* ==========================
   GRID DE CARDS
   ========================== */

.grid-modelos {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

/* 2 colunas em tablets */
@media (min-width: 768px) {
    .grid-modelos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

/* 3 colunas em desktop */
@media (min-width: 1024px) {
    .grid-modelos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}

/* ==========================
   CARD DA MODELO – versão premium
   ========================== */

.card-modelo {
    max-width:300px;
    width:100%;
    margin-inline: auto;
    position: relative;
    background:
        radial-gradient(circle at top, rgba(255, 63, 139, 0.14), transparent 55%),
        var(--mv-card-bg);
    border-radius: 20px;
    border: 1px solid var(--mv-card-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.75),
        0 0 0 1px rgba(255, 255, 255, 0.02);
    transition:
        transform .18s ease,
        box-shadow .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.card-modelo::before {
    /* glow suave na borda */
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.card-modelo:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow:
        0 22px 55px rgba(0, 0, 0, 0.9),
        0 0 0 1px rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at top, rgba(255, 63, 139, 0.22), transparent 60%),
        var(--mv-card-bg);
}

/* Thumb / foto principal */
.card-modelo-thumb {
    display: block;
    position: relative;
    overflow: hidden;
}

.card-modelo-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    transform-origin: center;
    transition: transform .22s ease, filter .22s ease;
}

.card-modelo:hover .card-modelo-thumb img {
    transform: scale(1.05);
    filter: contrast(1.08) saturate(1.04);
}

/* fade escuro discreto no rodapé da imagem */
.card-modelo-thumb::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 35%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent);
    pointer-events: none;
}

/* Corpo do card */
.card-modelo-body {
    padding: 10px 13px 13px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Nome + idade */
.card-modelo-name {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .01em;
}

.card-modelo-name a {
    color: var(--mv-text-main);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-modelo-age {
    margin: 0;
    font-size: 12px;
    color: var(--mv-text-muted);
}

/* Bio curta */
.card-modelo-bio {
    margin: 3px 0 4px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--mv-text-muted);
    max-height: 3.1em; /* ~2 linhas */
    overflow: hidden;
}

/* Badges (verificada / top da semana) */
.card-modelo-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}

/* Badge base (refino) */
.badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .1em;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--mv-text-main);
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.06),
        rgba(0, 0, 0, 0.6)
    );
    backdrop-filter: blur(6px);
}

.badge-verified {
    border-color: #4ade80;
    color: #bbf7d0;
    background: linear-gradient(
        135deg,
        rgba(34, 197, 94, 0.22),
        rgba(5, 46, 22, 0.9)
    );
}

.badge-topweek {
    border-color: var(--mv-accent);
    color: #ffe3f2;
    background: linear-gradient(
        135deg,
        var(--mv-accent-soft),
        rgba(0, 0, 0, 0.85)
    );
}

/* Chips de categorias */
.card-modelo-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    color: var(--mv-text-main);
    background: var(--mv-chip-bg);
    border: 1px solid rgba(255, 255, 255, 0.06);
    white-space: nowrap;
    line-height: 1.2;
}

/* Pequenos ajustes mobile */
@media (max-width: 480px) {
    .card-modelo-body {
        padding-inline: 11px;
    }
    .card-modelo-name {
        font-size: 14px;
    }
    .card-modelo-bio {
        font-size: 11px;
    }
}

/* Botão de filtros */
.filter-toggle {
    justify-content: center;
    width: 100%;
    background: #0d0b11;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 16px;
    padding: 12px 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .3px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,.35);
    transition: border-color .18s ease, background .18s ease;
}

.filter-toggle:hover {
    border-color: rgba(255,255,255,.3);
    background: #14121a;
}

/* Ícone hamburguer */
.filter-icon {
    width: 18px;
    height: 2px;
    background: #fff;
    position: relative;
    border-radius: 3px;
    transition: .25s ease;
}

.filter-icon::before,
.filter-icon::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 2px;
    background: #fff;
    left: 0;
    border-radius: 3px;
    transition: .25s ease;
}

.filter-icon::before {
    top: -6px;
}

.filter-icon::after {
    top: 6px;
}

/* Ícone animado quando ativo */
.filter-toggle.active .filter-icon {
    background: transparent;
}

.filter-toggle.active .filter-icon::before {
    transform: rotate(45deg);
    top: 0;
}

.filter-toggle.active .filter-icon::after {
    transform: rotate(-45deg);
    top: 0;
}

/* Painel escondido inicialmente */
.filter-panel {
    display: none;
    margin-top: 12px;
    animation: fadeScale .3s ease forwards;
}

@keyframes fadeScale {
    from { opacity: 0; transform: scale(.98); }
    to { opacity: 1; transform: scale(1); }
}

.card-modelo-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.card-modelo-name {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--mv-text-main);
}

.card-modelo-age-inline {
    font-size: 15px;
    color: var(--mv-text-muted);
    white-space: nowrap;
}

.card-modelo-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
}

.card-modelo-code {
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.06);
    font-weight: 600;
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--mv-text-main);
}

/* ==========================================================
   SINGLE MODELOS – LAYOUT GERAL
========================================================== */

.modelo-single {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 14px 40px;
    color: var(--mv-text-main, #f5f5f5);
    font-size: 14px;
}

/* Tirar espaçamento padrão de h2/h3 nessa página */
.modelo-single h1,
.modelo-single h2,
.modelo-single h3 {
    margin: 0;
}

/* ==========================================================
   HERO (FOTO + NOME + CÓDIGO + CONTATOS)
========================================================== */

.modelo-hero {
    display:flex;
    gap:32px;
    align-items:;
    background: radial-gradient(circle at top left, rgba(255,255,255,0.05), transparent 55%);
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.08);
    padding: 1px 1px 1px;
    margin-bottom: 22px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.7);
}

.modelo-hero-left {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

/* Foto grande da modelo */

.modelo-avatar-big {
    flex-shrink: 0;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.18);
    background: radial-gradient(circle at top, rgba(255,255,255,0.12), rgba(0,0,0,0.8));
    box-shadow: 0 16px 40px rgba(0,0,0,0.85);
}

.modelo-avatar-big img {
    display: block;
    width: 200px;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 3 / 4;
}

.avatar-placeholder {
    width: 122px;
    height: 162px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    font-weight: 700;
    background: linear-gradient(135deg, #111827, #020617);
    color: #e5e7eb;
}

/* Bloco de infos ao lado da foto */

.modelo-hero-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    justify-content: flex-start;
}

/* Nome + badges na mesma linha, quebrando bonito no mobile */

.modelo-nome {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 800;
}

.modelo-nome-text {
    color: var(--mv-text-main, #f9fafb);
}

/* Badge principal de código (ao lado do nome) */

.modelo-codigo-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: rgba(36, 214, 142, 0.1);
    border: 1px solid rgba(36, 214, 142, 0.8);
    color: #bbf7d0;
}

/* “Código da garota” embaixo, estilizado */



.modelo-codigo-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #9ca3af;
}

.modelo-codigo-mini {
    font-size: 12px;
    font-weight: 700;
    color: #e5e7eb;
}

/* Idade + bio curta */

.modelo-idade {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--mv-text-muted, #9ca3af);
}

.modelo-bio-curta {
    margin: 4px 0 2px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--mv-text-main, #f3f4f6);
}

/* Badges reaproveitam estilo global .badge do tema */

.badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--mv-text-main, #f3f4f6);
    background: rgba(15,23,42,0.9);
}

.badge-verified {
    border-color: #4ade80;
    color: #bbf7d0;
    background: rgba(22,163,74,0.18);
}

.badge-featured {
    border-color: #f97316;
    color: #fed7aa;
    background: rgba(248,113,113,0.12);
}

.badge-topweek {
    border-color: #e879f9;
    color: #f5d0fe;
    background: rgba(192,132,252,0.14);
}

/* Links de contato (Whats, Telegram, etc.) – layout em grupos */

.modelo-links-contato {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Cada grupo: "Entrar em contato" / "Perfis" */
.modelo-contato-group {
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    text-align: center;
}

/* Títulos dos grupos */
.modelo-contato-title {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #e5e7eb;
    margin-bottom: 10px;
}

/* Linha de botões */
.modelo-contato-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

/* Garante que os botões mantenham o padrão visual do tema */
.modelo-contato-buttons .btn-contact {
    padding-inline: 18px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}

/* Desktop: grupos lado a lado dentro do card */
@media (min-width: 768px) {
    .modelo-links-contato {
        flex-direction: row;
        align-items: flex-start;
        gap: 32px;
    }

    .modelo-contato-group {
        flex: 1;
        border-top: none;
        padding-top: 0;
    }
}

/* Botões base com ícones */
.btn-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #0f0f13;
    color: #fff;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 14px;
    transition: .15s ease;
    border: 2px solid rgba(255,255,255,0.08);
}

/* Ícones */
.icon-social {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

/* HOVER geral */
.btn-contact:hover {
    transform: translateY(-1px);
    background: #16161d;
}

/* ===== CORES DAS BORDAS POR REDE SOCIAL ===== */

.btn-whatsapp {
    border-color: #25D366;
}
.btn-whatsapp:hover {
    background: rgba(37, 211, 102, 0.15);
}

.btn-telegram {
    border-color: #0088CC;
}
.btn-telegram:hover {
    background: rgba(0, 136, 204, 0.15);
}

.btn-instagram {
    border-color: #E1306C;
}
.btn-instagram:hover {
    background: rgba(225, 48, 108, 0.15);
}

.btn-twitter {
    border-color: #1DA1F2;
}
.btn-twitter:hover {
    background: rgba(29, 161, 242, 0.15);
}

.btn-onlyfans {
    border-color: #00ADEF;
}
.btn-onlyfans:hover {
    background: rgba(0, 173, 239, 0.15);
}

.btn-privacy {
    border-color: #FF8800;
}
.btn-privacy:hover {
    background: rgba(155, 89, 182, 0.15);
}

/* Responsivo botões */
@media (max-width: 600px) {
    .btn-contact {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================
   SEÇÕES (Sobre mim, tags, galeria, packs)
========================================================== */

.modelo-section {
    margin-top: 22px;
    padding: 14px 14px 16px;
    border-radius: 18px;
    background: radial-gradient(circle at top, rgba(15,23,42,0.85), rgba(3,7,18,0.98));
    border: 1px solid rgba(15,23,42,0.9);
    box-shadow: 0 14px 40px rgba(0,0,0,0.75);
}

.modelo-section h2 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
}

/* Texto da bio longa */

.modelo-bio-longa {
    font-size: 13px;
    line-height: 1.7;
    color: var(--mv-text-main, #e5e7eb);
}

.modelo-bio-longa p {
    margin: 0 0 8px;
}

/* TAGS: Características / Fetiches */

.modelo-tags-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 6px;
}

.modelo-tags-bloco h3 {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
    color: var(--mv-text-muted, #9ca3af);
    text-transform: uppercase;
    letter-spacing: .12em;
}

.modelo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tag {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    color: var(--mv-text-main, #e5e7eb);
    background: rgba(15,23,42,0.95);
    border: 1px solid rgba(148,163,184,0.55);
    white-space: nowrap;
}

.tag-fetiche {
    border-color: #f97316;
    background: rgba(248,113,113,0.12);
    color: #fed7aa;
}

/* ==========================================================
   GALERIA DE FOTOS
========================================================== */

.modelo-galeria-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.modelo-galeria-item {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,0.6);
    background: #020617;
    box-shadow: 0 10px 26px rgba(0,0,0,0.85);
}

.modelo-galeria-item img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    transition: transform .18s ease, opacity .18s ease;
}

.modelo-galeria-item:hover img {
    transform: scale(1.03);
    opacity: 0.96;
}

/* ==========================================================
   PACKS DA MODELO
========================================================== */

.modelo-packs-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-top: 8px;
}

.modelo-pack-card {
    border-radius: 16px;
    padding: 10px 12px;
    background: rgba(15,23,42,0.98);
    border: 1px solid rgba(30,64,175,0.6);
    box-shadow: 0 12px 32px rgba(0,0,0,0.85);
}

.modelo-pack-title {
    font-size: 14px;
    margin-bottom: 4px;
}

.modelo-pack-title a {
    color: var(--mv-text-main, #f9fafb);
    text-decoration: none;
}

.modelo-pack-title a:hover {
    text-decoration: underline;
}

.modelo-pack-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 4px;
}

.modelo-pack-price .current {
    font-size: 15px;
    font-weight: 700;
    color: #bef264;
}

.modelo-pack-price .old {
    font-size: 12px;
    text-decoration: line-through;
    color: #6b7280;
}

.modelo-pack-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin-bottom: 8px;
}

.modelo-pack-meta .tag {
    font-size: 10px;
    padding-block: 2px;
}

.tag-promo {
    border-color: #22c55e;
    background: rgba(34,197,94,0.16);
    color: #bbf7d0;
}

.modelo-pack-meta .views {
    font-size: 11px;
    color: #9ca3af;
}

/* Botão ver detalhes do pack */

.btn-pack-ver {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    color: #0f172a;
    background: #bef264;
    border: 1px solid #d9f99d;
    box-shadow: 0 8px 22px rgba(101,163,13,0.65);
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.btn-pack-ver:hover {
    transform: translateY(-1px);
    background: #a3e635;
    box-shadow: 0 10px 26px rgba(101,163,13,0.85);
}

/* ==========================================================
   RESPONSIVO
========================================================== */

/* Telas muito pequenas */
@media (max-width: 360px) {
    .modelo-hero {
        padding-inline: 10px;
    }
    .modelo-avatar-big img,
    .avatar-placeholder {
        width: 300px;
        height: 100%;
    }
}

/* Tablet / Desktop */
@media (min-width: 768px) {
    .modelo-single {
        padding-inline: 18px;
        font-size: 15px;
    }

    .modelo-hero {
        padding: 18px 18px 20px;
        margin-top: 6px;
    }

    .modelo-avatar-big img,
    .avatar-placeholder {
        width: 300px;
        height: 100%;
    }

    .modelo-section {
        padding-inline: 18px;
    }

    .modelo-galeria-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .modelo-packs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}

/* Desktop grande */
@media (min-width: 1024px) {
    .modelo-hero-left {
        align-items: stretch;
        gap: 18px;
    }

    .modelo-hero-info {
        justify-content: center;
    }

    .modelo-hero {
        margin-bottom: 26px;
    }

    .modelo-section {
        margin-top: 24px;
    }

    .modelo-galeria-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* MOBILE — Foto em cima, infos embaixo */
@media (max-width: 768px) {
    .modelo-hero-left {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 5px;
    }

    .modelo-hero-info {
        align-items: center;
    }

    .modelo-nome {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 6px;
    }

    .modelo-links-contato {
        justify-content: center;
    }

    .modelo-nome-text {
        display: block;
        width: 100%;
        font-size:25px;
    }

    .modelo-single {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .modelo-hero {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .modelo-avatar-big img {
        width: 100%;
        max-width: 100%;
        border-radius: 18px;
        display: block;
    }
}

/* ===== Linha VERIFICADA + CÓDIGO – alinhados ===== */

.modelo-status-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

/* Deixa VERIFICADA e CÓDIGO com o MESMO tamanho/altura */
.badge-verified,
.modelo-codigo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 14px;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.18);
    font-size: 11px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    line-height: 1;
}

/* Mantém o verde da verificada, mas com o novo shape */
.badge-verified {
    background: #0FA968;
    color: #ffffff;
    border-color: rgba(15,169,104,0.6);
}

/* CÓDIGO DA MODELO: mais discreto, fundo escuro */
.modelo-codigo-wrap {
    background: rgba(0,0,0,0.45);
    color: rgba(255,255,255,0.8);
}

/* Label e código dentro do bloco */
.modelo-codigo-label {
    opacity: .8;
}

.modelo-codigo-mini {
    margin-left: 6px;
    font-weight: 700;
    color: #ffffff;
}

/* Mobile – garante tudo centralizado */
@media (max-width: 768px) {
    .modelo-nome {
		    padding-top: 10px;
            text-align: center;
    }

    .modelo-status-row {
        justify-content: center;
    }
}

/* Badge VERIFICADA – versão minimalista com ícone */
.badge-verified {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    background: none !important;
    border: none !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Ícone antes do texto */
.badge-verified::before {
    content: "";
    width: 16px;
    height: 16px;
    background-image: url("https://www.amantevip.com/wp-content/uploads/2025/12/verificada.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}

/* Centralizar o nome da modelo no desktop */
.modelo-nome {
    width: 100%;
    text-align: center;
    justify-content: center;
}

.modelo-nome-text {
    font-size: 28px;
    font-weight: 800;
}


/* OVERRIDE FINAL – código da modelo no mesmo estilo do VERIFICADA (sem fundo) */
.modelo-codigo-wrap {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 14px;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.18);
    background: transparent !important;   /* tira o fundo */
    font-size: 11px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    line-height: 1;
    color: #ffffff;
}

.modelo-codigo-mini {
    margin-left: 6px;
    font-weight: 700;
    color: #ffffff;
}



/* Código da modelo no mesmo estilo do "VERIFICADA" */
.modelo-status-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
}

.modelo-codigo-wrap {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 0 !important;
    margin: 0 0 0 8px;          /* espaço depois do VERIFICADA */
    height: auto !important;
    border: none !important;
    background: none !important;
    font-size: 40px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #ffffff;
}

.modelo-codigo-mini {
    font-weight: 700;
    color: #ffffff;
}


/* ================================
   BIO CURTA + CARACTERÍSTICAS / FETICHES – VERSÃO NEUTRA
   ================================ */

/* BIO CURTA — PREMIUM */
.modelo-bio-curta {
    margin: 14px 0 10px;
    max-width: 680px;

    font-family: "Inter", "SF Pro Text", system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.75;

    color: rgba(255, 255, 255, 0.92);

    letter-spacing: 0.01em;
    font-weight: 400;
    
    opacity: 0.95;
    text-rendering: optimizeLegibility;

    /* leve brilho para destacar sem parecer neon */
    filter: drop-shadow(0 0 6px rgba(0,0,0,0.35));
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .modelo-bio-curta {
        text-align: center;
        font-size: 14px;
        padding-inline: 16px;
        line-height: 1.7;
    }
}


/* Wrapper dos blocos dentro do HERO */
.modelo-tags-wrap.modelo-tags-hero {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
    column-gap: 22px;
}

@media (min-width: 900px) {
    .modelo-tags-wrap.modelo-tags-hero {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
    }
}

/* Título “CARACTERÍSTICAS / FETICHES” */
.modelo-tags-wrap.modelo-tags-hero .modelo-tags-bloco h3 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: rgba(156, 163, 175, 0.95);
    margin: 0 0 6px;
}

/* Lista de chips */
.modelo-tags-wrap.modelo-tags-hero .modelo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Chip base – agora é o MESMO para características e fetiches */
.modelo-tags-wrap.modelo-tags-hero .tag,
.modelo-tags-wrap.modelo-tags-hero .tag-fetiche {
	  font-weight: 600;
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;

    background: rgba(15, 23, 42, 0.9);               /* fundo escuro neutro */
    border: 1px solid rgba(148, 163, 184, 0.6);      /* borda cinza */
    color: rgba(229, 231, 235, 0.96);                /* texto claro */
}

/* MOBILE – centraliza tudo */
@media (max-width: 768px) {
    .modelo-tags-wrap.modelo-tags-hero {
        text-align: center;
    }

    .modelo-tags-wrap.modelo-tags-hero .modelo-tags {
        justify-content: center;
    }

    .modelo-bio-curta {
        margin-left: auto;
        margin-right: auto;
        padding-inline: 12px;
    }
}


/* ==========================
   LIGHTBOX GALERIA – OVERLAY
   ========================== */

.modelo-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
    z-index: 9999;
}

.modelo-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}

.modelo-lightbox-backdrop {
    position: absolute;
    inset: 0;
}

/* Conteúdo interno */

.modelo-lightbox-inner {
    position: relative;
    max-width: 95vw;
    max-height: 90vh;
    padding: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.9);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #020617;
}

#modelo-lightbox-img {
    max-width: 100%;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Botão fechar */

.modelo-lightbox-close {
    position: absolute;
    top: 10px;
    right: 14px;
    border: none;
    background: rgba(15,23,42,0.9);
    color: #e5e7eb;
    font-size: 26px;
    line-height: 1;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,0.7);
}

/* Navegação (setas) */

.modelo-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: rgba(15,23,42,0.85);
    color: #f9fafb;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8);
    transition: background .12s ease, transform .12s ease;
}

.modelo-lightbox-prev {
    left: 10px;
}

.modelo-lightbox-next {
    right: 10px;
}

.modelo-lightbox-nav:hover {
    background: rgba(30,64,175,0.95);
    transform: translateY(-50%) scale(1.03);
}

/* Corpo sem scroll quando lightbox aberto */
body.modelo-lightbox-open {
    overflow: hidden;
}

/* Mobile: setas menores e mais perto da borda */
@media (max-width: 640px) {
    .modelo-lightbox-inner {
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }

    .modelo-lightbox-nav {
        width: 34px;
        height: 34px;
        font-size: 20px;
    }

    .modelo-lightbox-prev {
        left: 6px;
    }

    .modelo-lightbox-next {
        right: 6px;
    }

    .modelo-lightbox-close {
        top: 8px;
        right: 10px;
    }
}


.modelo-recomendados {
    margin-top: 80px;
}





.modelo-recomendados h2 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 25px;
}

.modelo-reco-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 18px;
}

.reco-card {
    display: block;
    text-align: center;
    color: #fff;
    text-decoration: none;
    transition: 0.2s ease;
}

.reco-card img {
    width: 100%;
    border-radius: 10px;
}

.reco-card:hover {
    transform: translateY(-3px);
}

.modelo-reco-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 18px;
}

/* 📱 MOBILE: força 2 por linha */
@media (max-width: 640px) {
    .modelo-reco-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px;
    }
}

.reco-card {
    display: block;
    text-align: center;
    color: #fff;
    text-decoration: none;
    transition: 0.2s ease;
}

/* 🔥 Ajuste essencial para alinhamento perfeito */
.reco-card img {
    width: 100%;
    aspect-ratio: 3/4; /* Todas ficam IGUAIS, vertical */
    object-fit: cover; /* Preenche sem distorcer */
    border-radius: 10px;
}


.modelo-final-cta {
    margin-top: 70px;
    padding: 60px 20px;
    text-align: center;
    background: linear-gradient(180deg, #0d1117 0%, #05070b 100%);
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.05);
}

.modelo-final-cta h2 {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.modelo-final-cta p {
    font-size: 15px;
    color: #9ca3af;
    margin-bottom: 25px;
}

.final-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.btn-cta {
	
    padding: 12px 26px;
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.2s ease;
	  background: linear-gradient(135deg, #ec4899, #f97316);
    color: #fff;
    box-shadow: 0 10px 25px rgba(248, 113, 113, 0.45);
}

.btn-cta:hover {
    filter: brightness(1.1);
}

.btn-cta.btn-alt {
    background: transparent;
    border: 1px solid #CDFD99;
    color: #CDFD99;
}


/* CONTAINER GERAL DO PAINEL */
.painel-modelo {
    max-width: 1040px;
    margin: 40px auto 80px;
    padding: 0 16px;
    color: #E5E7EB;
    font-size: 14px;
}

/* HEADER DO PAINEL */
.painel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.painel-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* AVATAR */
.painel-avatar {
    width: 72px;
    height: 72px;
    border-radius: 24px;
    overflow: hidden;
    border: 2px solid rgba(248, 250, 252, 0.6);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
    background: radial-gradient(circle at top, #1d283a, #020617);
    display: flex;
    align-items: center;
    justify-content: center;
}

.painel-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-placeholder {
    font-size: 28px;
    font-weight: 600;
    color: #F9FAFB;
}

/* NOME + CÓDIGO */
.painel-model-name-line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.painel-model-name {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .02em;
}

.painel-model-code-badge {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(148, 163, 184, 0.6);
    color: rgba(209, 213, 219, 0.95);
}

.painel-model-sub {
    font-size: 13px;
    color: #9CA3AF;
    margin-bottom: 6px;
}

/* BADGES */
.painel-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid rgba(55, 65, 81, 0.85);
    color: #E5E7EB;
}

.badge-verified {
    border-color: rgba(34, 197, 94, 0.6);
    background: rgba(22, 163, 74, 0.12);
    color: #BBF7D0;
}

.badge-muted {
    border-color: rgba(148, 163, 184, 0.6);
    background: rgba(15, 23, 42, 0.85);
    color: #9CA3AF;
}



/* CARDS GENÉRICOS */
.painel-card {
    background: rgba(15, 23, 42, 0.96);
    border-radius: 18px;
    border: 1px solid rgba(30, 64, 175, 0.35);
    padding: 20px 18px 22px;
    margin-bottom: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.65);
}

.painel-card h2 {
    font-size: 16px;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

/* CARD DA CONTA */
.painel-card-account {
    margin-top: 8px;
}

.painel-account-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.painel-account-info p {
    margin: 2px 0;
    font-size: 13px;
    color: #D1D5DB;
}

.painel-account-info strong {
    font-weight: 600;
    color: #F9FAFB;
}

/* STATUS BOX + ALERTAS */
.painel-status-box {
    margin: 14px 0 10px;
}

.alert-info,
.alert-erro,
.alert-sucesso {
    border-radius: 14px;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.5;
}

.alert-info {
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(59, 130, 246, 0.6);
    color: #BFDBFE;
}

.alert-erro {
    background: rgba(239, 68, 68, 0.14);
    border: 1px solid rgba(248, 113, 113, 0.85);
    color: #FECACA;
}

.alert-sucesso {
    background: rgba(22, 163, 74, 0.14);
    border: 1px solid rgba(34, 197, 94, 0.75);
    color: #BBF7D0;
}

/* FORMULÁRIOS GENÉRICOS */
.painel-form,
.painel-form-docs {
    margin-top: 14px;
}

.painel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
}

.painel-grid-extra {
    margin-top: 6px;
}

/* MOBILE GRID */
@media (max-width: 900px) {
    .painel-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .painel-account-grid {
        align-items: flex-start;
    }
}
@media (max-width: 768px) {
    .painel-grid,
    .danger-grid {
        grid-template-columns: 1fr;
    }
}

/* CAMPOS */
.campo-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #9CA3AF;
    margin: 10px 0 4px;
}

.campo-help {
    font-size: 12px;
    color: #9CA3AF;
    margin: 4px 0 8px;
}

.painel-card input[type="text"],
.painel-card input[type="number"],
.painel-card input[type="date"],
.painel-card input[type="file"],
.painel-card textarea,
.painel-card select {
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(55, 65, 81, 0.9);
    background: rgba(15, 23, 42, 0.95);
    color: #F9FAFB;
    font-size: 13px;
    padding: 9px 11px;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.painel-card textarea {
    resize: vertical;
    min-height: 90px;
}

.painel-card input::placeholder,
.painel-card textarea::placeholder {
    color: rgba(148, 163, 184, 0.9);
}

.painel-card input:focus,
.painel-card textarea:focus,
.painel-card select:focus {
    border-color: #38BDF8;
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.5);
    background: rgba(15, 23, 42, 1);
}

/* PREVIEW FOTO PERFIL */
.foto-preview {
    margin-top: 8px;
    margin-bottom: 6px;
    width: 96px;
    height: 96px;
    border-radius: 18px;
    object-fit: cover;
    border: 1px solid rgba(148, 163, 184, 0.8);
}

/* TABS INTERNOS (Perfil / Meus packs) */
.painel-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 24px 0 10px;
    padding: 3px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(31, 41, 55, 0.9);
}

.painel-tab {
    display: inline-flex;
    align-items: center;
    padding: 7px 15px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    color: #9CA3AF;
    cursor: pointer;
    transition: background .16s ease, color .16s ease;
}

.painel-tab.is-active {
    background: linear-gradient(135deg, #22C55E, #16A34A);
    color: #020617;
}

.painel-tab:not(.is-active):hover {
    background: rgba(15, 23, 42, 0.9);
    color: #E5E7EB;
}

/* AÇÕES FINAIS */
.painel-actions {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* MULTI-SELECT (CARACTERÍSTICAS / FETICHES) */
.multi-select-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.multi-select-source {
    border-radius: 10px;
    border: 1px solid rgba(55, 65, 81, 0.9);
    background: rgba(15, 23, 42, 0.95);
    color: #E5E7EB;
    padding: 8px 10px;
    font-size: 13px;
}

.multi-selected-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.multi-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    background: rgba(15, 23, 42, 0.98);
    border: 1px solid rgba(148, 163, 184, 0.7);
    color: #E5E7EB;
}

.multi-chip button.multi-chip-remove {
    border: 0;
    background: transparent;
    color: #9CA3AF;
    cursor: pointer;
    font-size: 12px;
    padding: 0 0 0 2px;
}

/* GALERIA PREVIEW */
.galeria-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.galeria-item {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(55, 65, 81, 0.9);
}

.galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.galeria-remove {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 0;
    background: rgba(15, 23, 42, 0.9);
    color: #F9FAFB;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
}

/* DANGER ZONE */
.painel-card-danger-zone {
    border-color: rgba(239, 68, 68, 0.7);
    background: radial-gradient(circle at top, rgba(239, 68, 68, 0.08), rgba(15, 23, 42, 0.98));
}

.danger-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
    margin-top: 14px;
}

.danger-box h3 {
    font-size: 14px;
    margin-bottom: 6px;
}

.danger-box p {
    font-size: 13px;
    color: #E5E7EB;
    line-height: 1.55;
    margin-bottom: 10px;
}

/* RESPONSIVO GERAL */
@media (max-width: 640px) {
    .painel-modelo {
        margin-top: 28px;
        margin-bottom: 60px;
    }
    .painel-card {
        padding: 18px 14px 20px;
    }
    .painel-model-name {
        font-size: 18px;
    }
}


/* Zona de segurança – layout padrão (desktop) */
.danger-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

/* Ajustes de texto */
.danger-box p {
    font-size: 14px;
    line-height: 1.5;
    word-wrap: break-word;
}

/* Botões dentro da danger zone */
.danger-box form .btn-secondary,
.danger-box form .btn-danger {
    white-space: normal;        /* deixa quebrar linha no texto do botão */
}

/* --- RESPONSIVO MOBILE --- */
@media (max-width: 768px) {

    .painel-card-danger-zone {
        padding: 18px 16px;
    }

    /* Em vez de 2 colunas, fica 1 embaixo da outra */
    .danger-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .danger-box {
        padding: 4px 0;
    }

    .danger-box h3 {
        font-size: 15px;
        margin-bottom: 6px;
    }

    .danger-box p {
        font-size: 13px;
        line-height: 1.5;
    }

    /* Botões ocupam a largura toda, sem cortar texto */
    .danger-box form .btn-secondary,
    .danger-box form .btn-danger {
        width: 100%;
        display: inline-flex;
        justify-content: center;
        text-align: center;
    }
}



/* Centralizar o botão SALVAR PERFIL */
.painel-actions {
    display: flex;
    justify-content: center;
    margin-top: 20px;
	  padding-bottom:30px;
}

/* Ajuste do botão no mobile */
.painel-actions .btn-primary {
    width: auto;
    min-width: 200px;
    text-align: center;
}

/* Mobile */
@media (max-width: 768px) {
    .painel-actions {
        justify-content: center;
    }

    .painel-actions .btn-primary {
        width: 100%;
        max-width: 280px;
    }
}

.painel-card-boosts {
    border-left: 3px solid #f97316; /* laranjinha de destaque */
}

.boost-info-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.boost-info-col p {
    margin: 2px 0;
}

.boost-actions-col {
    text-align: right;
}

.boost-form .btn-primary[disabled] {
    opacity: .5;
    cursor: not-allowed;
}

.boost-comprar {
    border-top: 1px dashed rgba(255,255,255,0.08);
    padding-top: 10px;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media (max-width: 640px) {
    .boost-info-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .boost-actions-col {
        text-align: left;
        width: 100%;
    }
}

