/* ==========================================================================
   GUIALUX - FRONTEND APP3 - PERFIL PUBLICO
   Arquivo: /app3/front/assets/css/GuiaLAFrontendPerfil.css
   Estilos exclusivos dos perfis; complementa o frontend.css compartilhado.
   Carregar somente em /perfil2.php (teste) e no perfil oficial apos aprovacao.
   Nao duplicar estes seletores no frontend.css.
   ========================================================================== */
.gla-front-profile{max-width:1160px;margin:0 auto;padding:0 16px 42px;color:#293141}
.gla-front-profile *{box-sizing:border-box}
/*
|--------------------------------------------------------------------------
| PERFIL2 - TOPO MODERNO COM DUAS FAIXAS TRANSLÚCIDAS
|--------------------------------------------------------------------------
| Mantém a imagem de fundo que já vem de .gla-front-hero no frontend.css.
| O bloco do título e a faixa informativa vão de ponta a ponta, como no
| visual original, com tipografia e contraste adaptados ao APP3.
|--------------------------------------------------------------------------
*/
.gla-front-profile-banner {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 450px;
    margin: 0;
    padding: 36px 0 185px;
    overflow: hidden;
    box-shadow: none;
}

/* Sombreia a fotografia de fundo sem substituir a imagem compartilhada. */
.gla-front-profile-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    height: auto;
    z-index: 0;
    background: linear-gradient(180deg, rgba(47, 18, 39, .24) 0%, rgba(96, 19, 62, .15) 55%, rgba(177, 26, 96, 0) 100%);
    pointer-events: none;
}
.gla-front-profile-banner::after { display: none; }

/* Faixa principal: título branco centralizado em largura total. */
.gla-front-profile-banner .gla-front-profile-headline {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 23px 20px 27px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    background: linear-gradient(90deg, rgba(52, 27, 50, .28), rgba(67, 31, 59, .17) 50%, rgba(52, 27, 50, .28));
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    text-align: center;
    box-shadow: 0 4px 16px rgba(53, 16, 42, .05);
}
.gla-front-profile-banner .gla-front-profile-headline > .gla-front-shell {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 16px;
}
.gla-front-profile-banner .gla-front-profile-hero-eyebrow {
    display: inline-block;
    max-width: none;
    margin: 0 0 10px;
    padding: 5px 13px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    background: rgba(207, 30, 105, .32);
    color: #fff;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .095em;
    text-transform: uppercase;
    text-shadow: 0 1px 3px rgba(16, 11, 22, .3);
}
.gla-front-profile-banner .gla-front-profile-hero-eyebrow span {
    padding: 0 5px;
    color: #ffd1e4;
}
.gla-front-profile-banner .gla-front-profile-headline h1 {
    display: block;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    color: #fff;
    font-size: clamp(1.75rem, 3.0vw, 2.8rem);
    font-weight: 800;
    line-height: 1.21;
    letter-spacing: -.028em;
    text-wrap: balance;
    text-shadow: 0 3px 12px rgba(24, 12, 23, .44);
}

/*
|--------------------------------------------------------------------------
| PERFIL - FRASE DE CHAMADA (H2)
|--------------------------------------------------------------------------
| Centraliza a frase original do anunciante no desktop e mobile.
| Não altera o texto, o H1 ou outros cabeçalhos do site.
|--------------------------------------------------------------------------
*/
.gla-front-profile-banner .gla-front-profile-headline .gla-front-profile-tagline {
    display: block;
    width: 100%;
    max-width: 920px;
    margin: 10px auto 0;
    text-align: center;
}

/* Segunda faixa: atendimento, localização e ID reais, sem texto inventado. */
.gla-front-profile-banner .gla-front-profile-hero-strip {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 15px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
    background: rgba(55, 24, 50, .32);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 12px rgba(47, 13, 37, .05);
}
.gla-front-profile-banner .gla-front-profile-hero-strip-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 0;
    width: 100%;
    max-width: 1320px;
    padding: 0 12px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .96);
    text-align: center;
    font-size: .85rem;
    font-weight: 560;
    line-height: 1.5;
}
.gla-front-profile-banner .gla-front-profile-hero-strip-inner > span {
    padding: 0 16px;
}
.gla-front-profile-banner .gla-front-profile-hero-strip-inner > span + span {
    border-left: 1px solid rgba(255, 255, 255, .31);
}
.gla-front-profile-banner .gla-front-profile-hero-strip-inner strong {
    color: #ffe1ed;
    font-weight: 800;
}

/* Cards abaixo das faixas, ainda parcialmente sobre o fundo rosa. */
.gla-front-profile-overview {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .88fr);
    gap: 16px;
    align-items: start;
    margin-top: -160px;
    padding: 0 18px 18px;
}

@media (max-width: 900px) and (min-width: 651px) {
    .gla-front-profile-banner { min-height: 430px; padding-bottom: 115px; }
    .gla-front-profile-banner .gla-front-profile-headline h1 { font-size: clamp(1.6rem, 3.9vw, 2.25rem); }
    .gla-front-profile-banner .gla-front-profile-hero-strip-inner { font-size: .78rem; }
    .gla-front-profile-overview { margin-top: -90px; }
}

.gla-front-profile-panel{background:#fff;border:1px solid #e8eaf0;border-radius:14px;overflow:hidden;box-shadow:0 3px 18px rgba(24,36,55,.04)}
.gla-front-profile-details{padding:21px}
.gla-front-profile-name-line{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.gla-front-profile-name-line h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin:0;color:#262c36}
.gla-front-profile-verified{display:inline-block;background:#e3f5e8;color:#0b633c;padding:5px 11px;border-radius:25px;font-size:.77rem;font-weight:700}
.gla-front-profile-location{color:#687184;margin:10px 0;font-size:.91rem}
.gla-front-profile-chips{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}
.gla-front-profile-chip{display:inline-block;background:#f3f4f7;padding:6px 10px;font-size:.76rem;border-radius:7px;font-weight:650}
.gla-front-profile-chips a.gla-front-profile-chip{color:var(--gla-text);text-decoration:none}
.gla-front-profile-chip-pink{background:#fff0f6;color:#ab164e}
.gla-front-profile-chip-virtual{background:#e7f2ff;color:#1459aa}
.gla-front-profile-chip-hibrido{background:#f3eaff;color:#713ba3}
.gla-front-profile-details h3,.gla-front-profile-photo-caption h3,.gla-front-profile-bottom h3{font-size:1rem;margin:0 0 10px;color:#2a3342}
.gla-front-profile-details-block{background:#f9fafb;border:1px solid #eef0f4;border-radius:11px;padding:15px;margin-top:15px}
.gla-front-profile-fact{display:flex;gap:10px;align-items:baseline;margin:7px 0;font-size:.86rem}
.gla-front-profile-fact span{color:#667085;min-width:105px}
.gla-front-profile-fact strong{font-weight:650;overflow-wrap:anywhere}
.gla-front-profile-contact-heading{font-weight:800;margin:19px 0 9px;font-size:.98rem}
/* Dois botões por linha, com larguras iguais. */
.gla-front-profile-contacts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.gla-front-profile-contacts button{cursor:pointer;padding:12px 8px;min-height:45px;border:1px solid #dde1e7;background:#f4f5f8;border-radius:9px;font-weight:720;font-size:.84rem;color:#303a49}
/* WhatsApp compacto, sem ocupar toda a largura dos contatos. */
.gla-front-profile-contacts .gla-front-profile-whatsapp{
    grid-column:auto;
    color:#fff;
    background:#0c7142;
    border-color:#0c7142;
    font-size:.84rem;
    min-height:42px;
    padding:9px 12px;
}
.gla-front-profile-contacts button:focus-visible,.gla-front-profile-video-cover:focus-visible,.gla-front-profile-show-more:focus-visible{outline:3px solid #cf246c;outline-offset:3px}
.gla-front-profile-small{color:#748092;font-size:.78rem;margin:10px 0 0}
.gla-front-profile-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.gla-front-profile-links a{color:var(--gla-text);border:1px solid #dee1e7;border-radius:8px;background:#fff;text-decoration:none;font-size:.83rem;font-weight:700;padding:9px 11px}
.gla-front-profile-links a:hover{border-color:#dc226a;color:#c41d5f}
.gla-front-profile-description{white-space:pre-line;overflow-wrap:anywhere;color:#515c6d;line-height:1.75;font-size:.91rem}
.gla-front-profile-photo{position:relative;min-height:470px;background:#ebedf1;column-count:1!important;display:block!important}
.gla-front-profile-photo>a{display:block;width:100%;height:100%}
.gla-front-profile-photo img{display:block;width:100%;height:470px;object-fit:cover;object-position:center top}
.gla-front-profile-photo-empty{height:470px;display:grid;place-items:center;color:#7b8594}
.gla-front-profile-photo-caption{padding:17px}
.gla-front-profile-photo-caption h3{font-size:.96rem}
.gla-front-profile-muted{color:#7e8795;font-size:.77rem}
.gla-front-profile-section{margin-top:22px}
.gla-front-profile-sectionhead{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin:0 0 13px}
.gla-front-profile-sectionhead h2{font-size:clamp(1.11rem,2.2vw,1.4rem);font-weight:800;margin:0;color:#272d39}
.gla-front-profile-gallery{column-count:4;column-gap:12px;display:block}

/*
|--------------------------------------------------------------------------
| PERFIL - GALERIA WIDE NO DESKTOP
|--------------------------------------------------------------------------
| A galeria utiliza toda a largura do container de 1440px.
| As demais seções preservam a largura original de 1128px.
| Sem margens negativas ou deslocamentos artificiais.
|--------------------------------------------------------------------------
*/
@media (min-width: 1200px) {
    .gla-front-profile {
        max-width: 1440px;
    }

    .gla-front-profile > :not(.gla-front-profile-gallery-section):not(#videos-do-perfil) {
        max-width: 1128px;
        margin-left: auto;
        margin-right: auto;
    }

.gla-front-profile-gallery-section,
#videos-do-perfil {
    width: 100%;
    margin-left: 0;
}
}
.gla-front-profile-gallery-item{display:inline-block;vertical-align:top;width:100%;position:relative;break-inside:avoid;margin:0 0 12px;border-radius:11px;overflow:hidden;background:#e7e8ee}
.gla-front-profile-gallery-item>a{display:block}
.gla-front-profile-gallery-item img{display:block;width:100%;height:auto;transition:transform .25s ease}
.gla-front-profile-gallery-item:hover img{transform:scale(1.025)}
.gla-front-profile-videos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.gla-front-profile-video-card{border:1px solid #e1e5eb;background:#fff;border-radius:13px;overflow:hidden;min-width:0}
.gla-front-profile-video-card[hidden]{display:none!important}
.gla-front-profile-video-player{position:relative;aspect-ratio:16/10;background:#202736;display:flex;align-items:center;justify-content:center}
.gla-front-profile-video-cover{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    border:0;
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.50));
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    color:#fff;
    gap:7px;
    flex-direction:column;
    font-weight:730;
}
.gla-front-profile-play{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;font-size:19px;background:#e21d6c;color:#fff}
/* Quadro de prévia visível; controles somente após clicar. */
.gla-front-profile-video-player video{
    display:block;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    background:#202736;
    pointer-events:none;
}

.gla-front-profile-video-player video[controls]{
    object-fit:contain;
    pointer-events:auto;
}
.gla-front-profile-video-cover[hidden]{display:none!important}
.gla-front-profile-video-meta{padding:11px 12px}
.gla-front-profile-video-meta strong{display:block;font-size:.85rem}
.gla-front-profile-video-meta a{display:inline-block;margin-top:5px;font-size:.78rem;color:#b31f5b;font-weight:730;text-decoration:none}
.gla-front-profile-video-more{text-align:center;margin-top:16px}
.gla-front-profile-show-more{background:#fff;border:1px solid #e21d6c;color:#ba1959;border-radius:10px;padding:11px 24px;font-weight:800;cursor:pointer}
.gla-front-profile-bottom{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:21px}
.gla-front-profile-bottom>.gla-front-profile-panel{padding:18px}
.gla-front-profile-bottom p{font-size:.87rem;color:#626d7c;margin:0 0 8px;line-height:1.6}
.gla-front-profile-highlight{border-color:#f1c3d7;background:#fff9fc}
.gla-front-profile-highlight a{background:#d92269;color:#fff;border-radius:8px;display:inline-block;padding:11px 15px;font-size:.87rem;text-decoration:none;font-weight:760;margin-top:9px}


/*
|--------------------------------------------------------------------------
| PERFIL INEXISTENTE - CARD DE AVISO
|--------------------------------------------------------------------------
| Visual centralizado, sem imagens e independente de gênero.
| Não altera as seções de anúncios ou os perfis existentes.
|--------------------------------------------------------------------------
*/

.gla-front-profile-not-found {
    max-width: 1120px;
    margin: 32px auto 24px;
}

.gla-front-profile-empty {
    position: relative;
    overflow: hidden;
    padding: 48px 28px 52px;
    border: 1px solid #f8c5dc;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(140, 43, 86, .10);
    text-align: center;
}

/* Ondas decorativas suaves, sem imagens. */
.gla-front-profile-empty::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 140px;
    background: linear-gradient(135deg, #ffd6e7, #fff0f7);
    clip-path: ellipse(85% 85% at 50% 0);
    opacity: .75;
    pointer-events: none;
}

.gla-front-profile-empty-content {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0 auto;
}

/* Selo superior. */
.gla-front-profile-empty-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 24px;
    border-radius: 50px;
    background: #ffd8e9;
    color: #b8004c;
    font-weight: 800;
    font-size: .95rem;
}

/* Título e descrição. */
.gla-front-profile-empty h1 {
    margin: 28px 0 16px;
    color: #bb004c;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.gla-front-profile-empty p {
    max-width: 760px;
    margin: 0 auto;
    color: #414450;
    font-size: clamp(.96rem, 1.8vw, 1.15rem);
    line-height: 1.7;
}

/* Convite para conhecer outros anúncios. */
.gla-front-profile-empty-callout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    max-width: 820px;
    margin: 30px auto;
    padding: 20px 26px;
    border-radius: 18px;
    background: #edf4ff;
    color: #343b49;
    font-size: 1.05rem;
    line-height: 1.6;
    text-align: left;
}

.gla-front-profile-empty-callout i {
    color: #e21d6c;
    font-size: 1.8rem;
}

/* Botões de navegação. */
.gla-front-profile-empty-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
}

.gla-front-profile-empty-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 13px 26px;
    border-radius: 16px;
    font-weight: 800;
    font-size: 1rem;
    text-decoration: none;
    transition: transform .2s ease;
}

.gla-front-profile-empty-actions a:hover {
    transform: translateY(-2px);
}

.gla-front-profile-empty-primary {
    background: linear-gradient(180deg, #f91b7a, #bf004d);
    color: #fff;
    box-shadow: 0 7px 17px rgba(190, 0, 75, .20);
}

.gla-front-profile-empty-secondary {
    background: #fff;
    color: #b8004c;
    border: 2px solid #cf0055;
}

/* Ajustes para dispositivos móveis. */
@media (max-width: 650px) {

    .gla-front-profile-not-found {
        margin: 16px auto 24px;
    }

    .gla-front-profile-empty {
        padding: 34px 18px;
        border-radius: 20px;
    }

    .gla-front-profile-empty-callout {
        padding: 17px;
        font-size: .94rem;
    }

    .gla-front-profile-empty-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gla-front-profile-empty-actions a {
        transition: none;
    }
}


.gla-front-profile-age-cover{display:none;position:absolute;inset:0;align-items:center;justify-content:center;text-align:center;padding:18px;background:rgba(32,28,37,.22);color:#fff}
.gla-front-profile-age-cover button{border:0;background:#fff;border-radius:9px;color:#922451;font-weight:800;padding:11px 14px;cursor:pointer}
.gla-front-body:is([data-gla-age-enabled="1"], [data-gla-age-enabled="2"]):not([data-gla-age-status="verified"]) .gla-front-profile-sensitive img{filter:blur(15px)}
.gla-front-body:is([data-gla-age-enabled="1"], [data-gla-age-enabled="2"]):not([data-gla-age-status="verified"]) .gla-front-profile-sensitive .gla-front-profile-age-cover{display:flex}
body[data-gla-age-status="verified"] .gla-front-profile-sensitive img{filter:none}
body[data-gla-age-status="verified"] .gla-front-profile-age-cover{display:none}
@media(max-width:900px){.gla-front-profile-gallery{column-count:3}.gla-front-profile-videos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.gla-front-profile{padding:0 10px 32px}.gla-front-profile-overview{display:flex;flex-direction:column;gap:12px}.gla-front-profile-overview>.gla-front-profile-panel{width:100%}.gla-front-profile-photo-panel{order:-1}.gla-front-profile-details{padding:15px}.gla-front-profile-photo,.gla-front-profile-photo img,.gla-front-profile-photo-empty{height:360px;min-height:360px}.gla-front-profile-gallery{column-count:2;column-gap:8px}.gla-front-profile-gallery-item{margin-bottom:8px}.gla-front-profile-videos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gla-front-profile-bottom{grid-template-columns:1fr}.gla-front-profile-video-meta{padding:9px}.gla-front-profile-video-player{aspect-ratio:16/11}}
@media(prefers-reduced-motion:reduce){.gla-front-profile-gallery-item img{transition:none}}

/*
|--------------------------------------------------------------------------
| PERFIL - CONTATOS FIXOS NO RODAPÉ MOBILE
|--------------------------------------------------------------------------
| Até 650px: barra de contatos sempre visível.
| Um contato ocupa toda a largura; dois ficam lado a lado.
|--------------------------------------------------------------------------
*/
@media (max-width: 650px) {

    .gla-front-profile-contacts {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 100;
        width: 100%;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
        background: #fff;
        box-shadow: 0 -3px 15px rgba(0, 0, 0, .12);
    }

    .gla-front-profile-contacts .gla-front-profile-whatsapp {
        grid-column: auto;
    }

    /* Quando existe apenas um botão, ocupar toda a barra. */
    .gla-front-profile-contacts > button:only-child {
        grid-column: 1 / -1;
    }

    .gla-front-profile-contacts button {
        min-height: 44px;
        font-size: .84rem;
        padding: 10px;
    }

    /* Evita que o rodapé fixo esconda o conteúdo da página. */
    body.gla-front-body.gla-front-profile-page {
        padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px));
    }
}
/*
|--------------------------------------------------------------------------
| PERFIL2 - TOPO COMPACTO + MOLDURA BRANCA NO MOBILE
|--------------------------------------------------------------------------
| Prioridade: exibir a foto principal mais cedo no viewport.
| Ajustes restritos ao perfil2; não modificam header/nav globais do APP3.
|--------------------------------------------------------------------------
*/
@media (max-width: 650px) {
    /* Breadcrumb horizontal menor, sem mudar seus links. */
    .gla-front-profile-breadcrumb ol {
        padding: 6px 0;
        font-size: .70rem;
        line-height: 1.25;
    }

    /* Remover a altura artificial de 400px: as faixas determinam o topo. */
    .gla-front-profile-banner {
        height: auto;
        min-height: 0;
        padding: 8px 0 22px;
    }
    .gla-front-profile-banner .gla-front-profile-headline {
        padding: 10px 7px 11px;
    }
    .gla-front-profile-banner .gla-front-profile-headline > .gla-front-shell {
        padding: 0 3px;
    }
    .gla-front-profile-banner .gla-front-profile-hero-eyebrow {
        display: inline-block;
        margin: 0 0 5px;
        padding: 3px 9px;
        font-size: .54rem;
        line-height: 1.25;
        letter-spacing: .04em;
    }
    .gla-front-profile-banner .gla-front-profile-headline h1 {
        font-size: clamp(1.04rem, 4.35vw, 1.22rem);
        line-height: 1.18;
        letter-spacing: -.022em;
    }
    .gla-front-profile-banner .gla-front-profile-hero-strip {
        padding: 7px 5px 8px;
    }
    .gla-front-profile-banner .gla-front-profile-hero-strip-inner {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 3px 10px;
        padding: 0;
        font-size: .66rem;
        line-height: 1.25;
    }
    .gla-front-profile-banner .gla-front-profile-hero-strip-inner > span {
        padding: 0;
    }
    .gla-front-profile-banner .gla-front-profile-hero-strip-inner > span + span {
        border-left: 0;
    }

    /* Uma única margem pequena nas laterais: antes eram 10px + 10px. */
    .gla-front-profile {
        padding: 0 4px 25px;
    }
    .gla-front-profile-overview {
        margin-top: -14px;
        padding: 0 0 8px;
        gap: 8px;
    }

    /* Moldura do perfil antigo: branca, fina e rente às bordas da tela. */
    .gla-front-profile-photo-panel {
        padding: 6px;
        background: #fff;
        border: 1px solid rgba(255,255,255,.95);
        border-radius: 14px;
        box-shadow: 0 6px 24px rgba(52,18,43,.18);
    }
    .gla-front-profile-photo {
        overflow: hidden;
        border-radius: 9px;
    }
    .gla-front-profile-photo,
    .gla-front-profile-photo img,
    .gla-front-profile-photo-empty {
        height: clamp(360px, 62vh, 560px);
        height: clamp(360px, 62svh, 560px);
        min-height: 360px;
    }
    .gla-front-profile-photo img {
        object-position: center top;
    }
    .gla-front-profile-photo-caption {
        padding: 9px 8px 10px;
    }
    .gla-front-profile-photo-caption h3 {
        margin: 0 0 3px;
        font-size: .87rem;
    }
    .gla-front-profile-photo-caption .gla-front-profile-small,
    .gla-front-profile-photo-caption .gla-front-profile-muted {
        margin-top: 3px;
    }
}

/* O breadcrumb reproduz a posição e a altura do componente nas listagens.
   Impede que a quantidade de localidades empurre o hero para baixo. */
.gla-front-profile-breadcrumb {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--gla-border);
    border-radius: 0;
}
.gla-front-profile-breadcrumb ol {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px 0;
    scrollbar-width: none;
}
.gla-front-profile-breadcrumb ol::-webkit-scrollbar { display: none; }
.gla-front-profile-breadcrumb a { color: var(--gla-primary-dark); text-decoration: none; }
.gla-front-profile-breadcrumb [aria-current="page"] { font-weight: 700; color: var(--gla-text); }

/* O componente de títulos já existe no frontend.css. */
.gla-front-profile-section-head { align-items: baseline; margin-bottom: 13px; }
.gla-front-profile-section-head h2 { margin: 0; }

/* Modo 0: não exibir aviso de verificação, mesmo se marcado como sensível. */
.gla-front-body[data-gla-age-enabled="0"] .gla-front-profile-age-cover { display: none; }

/*
|--------------------------------------------------------------------------
| PERFIL2 - FANCYBOX, MINIATURAS E AGEGATE DOS VÍDEOS
|--------------------------------------------------------------------------
| Modo 0: miniatura original e Fancybox liberado.
| Modo 1: logo antes da confirmação; vídeos continuam no Fancybox.
| A troca das miniaturas é controlada pelo JavaScript do perfil.
|--------------------------------------------------------------------------
*/

/* Link do vídeo para abertura no Fancybox. */
.gla-front-profile-video-link {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
}

.gla-front-profile-video-link:focus-visible {
    outline: 3px solid #cf246c;
    outline-offset: -3px;
}

/* Apresenta o poster sem distorcer o logotipo. */
.gla-front-profile-video-player video[poster] {
    object-fit: contain;
    background: #fff;
}

/* ========================================================================
   PERFIL2 - SETAS ENTRE ANUNCIOS (NAO ENTRE FOTOS)
   Navegacao do perfil antigo preservada: anterior/proximo por GLAOnline_Id.
   No celular, as setas ficam sobre a foto sem cobrir o titulo nem o botao de contato.
   ======================================================================== */
.gla-front-profile-ad-nav {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    pointer-events: none;
}
.gla-front-profile-ad-nav a {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 50%;
    background: rgba(59, 20, 50, .70);
    box-shadow: 0 6px 24px rgba(34, 13, 31, .22);
    color: #fff;
    text-decoration: none;
    font-size: 23px;
    font-weight: 700;
    line-height: 1;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    transition: background-color .18s ease, transform .18s ease;
}
.gla-front-profile-ad-nav a:hover {
    background: rgba(196, 28, 98, .94);
    transform: scale(1.06);
}
.gla-front-profile-ad-nav a:focus-visible {
    outline: 3px solid #f6a7ce;
    outline-offset: 3px;
}
.gla-front-profile-ad-nav-next { margin-left: auto; }
@media (max-width:650px) {
    .gla-front-profile-ad-nav { padding: 0 4px; }
    .gla-front-profile-ad-nav a {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        font-size: 21px;
    }
}
@media (prefers-reduced-motion:reduce) {
    .gla-front-profile-ad-nav a { transition: none; }
}

/*
|--------------------------------------------------------------------------
| PERFIL2 - MOBILE: FRAME DO ANUNCIO EM PRIMEIRO PLANO (04/11/2026)
|--------------------------------------------------------------------------
| A foto e a principal interface de descoberta no celular. O H1 e os dados
| completos permanecem no HTML; os resumos se deslocam para baixo da foto.
| Nunca altera os estilos do desktop ou o frontend.css compartilhado.
|--------------------------------------------------------------------------
*/
.gla-front-profile-mobile-identity { display: none; }

@media (max-width: 650px) {
    /* Apenas o resumo de topo; H1 integral continua presente. */
    .gla-front-profile-banner {
        min-height: 0;
        height: auto;
        padding: 3px 0 19px;
    }
    .gla-front-profile-banner .gla-front-profile-headline {
        padding: 7px 10px 8px;
    }
    .gla-front-profile-banner .gla-front-profile-hero-eyebrow,
    .gla-front-profile-banner .gla-front-profile-hero-strip {
        display: none;
    }
    .gla-front-profile-banner .gla-front-profile-headline h1 {
        font-size: .91rem;
        font-weight: 740;
        line-height: 1.22;
        letter-spacing: -.012em;
        text-wrap: balance;
    }

    /* Um só afastamento lateral: 3px, sem margens acumuladas. */
    .gla-front-profile {
        max-width: none;
        padding: 0 3px 25px;
    }
    .gla-front-profile-overview {
        margin-top: -14px;
        padding: 0 0 8px;
        gap: 9px;
    }
    .gla-front-profile-photo-panel {
        position: relative;
        width: 100%;
        padding: 5px;
        border: 1px solid rgba(255,255,255,.96);
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(48,13,34,.20);
        overflow: hidden;
    }
    .gla-front-profile-photo {
        position: relative;
        height: clamp(390px, 70vh, 650px);
        height: clamp(390px, 70svh, 650px);
        min-height: 390px;
        overflow: hidden;
        background: #eee4e9;
        border-radius: 11px;
        touch-action: pan-y;
    }
    .gla-front-profile-photo > a {
        height: 100%;
    }
    .gla-front-profile-photo img,
    .gla-front-profile-photo-empty {
        width: 100%;
        height: 100%;
        min-height: 0;
        object-fit: cover;
        object-position: center top;
    }

    /* Nome, local e modalidade sobre a foto, sem esconder seu centro. */
    .gla-front-profile-mobile-identity {
        position: absolute;
        z-index: 3;
        inset: auto 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding: 42px 14px 13px;
        color: #fff;
        text-align: left;
        background: linear-gradient(0deg, rgba(25,12,23,.89), rgba(25,12,23,.65) 52%, rgba(25,12,23,0) 100%);
        pointer-events: none;
    }
    .gla-front-profile-mobile-identity > strong {
        max-width: 100%;
        font-size: 1.04rem;
        font-weight: 800;
        line-height: 1.14;
        text-shadow: 0 1px 4px rgba(0,0,0,.4);
    }
    .gla-front-profile-mobile-local {
        max-width: 100%;
        font-size: .74rem;
        line-height: 1.24;
        opacity: .96;
    }
    .gla-front-profile-mobile-markers {
        display: flex;
        gap: 5px;
        flex-wrap: wrap;
        margin-top: 3px;
    }
    .gla-front-profile-mobile-markers span {
        font-size: .65rem;
        font-weight: 650;
        line-height: 1.25;
        padding: 4px 8px;
        border: 1px solid rgba(255,255,255,.25);
        border-radius: 999px;
        color: #fff;
        background: rgba(255,255,255,.17);
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px);
    }
    .gla-front-profile-mobile-identity small {
        align-self: center;
        margin-top: 5px;
        color: rgba(255,255,255,.86);
        font-size: .63rem;
        letter-spacing: .02em;
    }
    /* Legenda redundante é substituída pelos dados sobre a imagem. */
    .gla-front-profile-photo-caption {
        display: none;
    }
    /* Setas sobre o frame e discretas, sem cobrir a área do rosto. */
    .gla-front-profile-ad-nav {
        z-index: 5;
        padding: 0 1px;
    }
    .gla-front-profile-ad-nav a {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        border: 1px solid rgba(255,255,255,.55);
        color: #fff;
        background: rgba(39,22,35,.43);
        box-shadow: 0 3px 10px rgba(0,0,0,.15);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
    }
    /* O modal de idade tem prioridade sobre o resumo de foto. */
    .gla-front-profile-photo > .gla-front-profile-age-cover {
        z-index: 6;
    }
}

/* --------------------------------------------------------------------------
   PERFIL2 - VERSÃO 11: cor de fundo aprovada para o cabeçalho.
   Preserva as cores de texto, o H1 e o degradê já existentes.
   -------------------------------------------------------------------------- */
.gla-front-profile-banner .gla-front-profile-headline {
    background-color: #88aeb33b; /*#f4f4f4;*/
}

/* Selo de destaque: identidade comercial sem substituir verificação. */
.gla-front-profile-featured-ribbon {
    position: absolute;
    top: 12px;
    left: 50%;
    z-index: 4;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: calc(100% - 18px);
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 999px;
    background: linear-gradient(110deg,#ffe5a2,#eaa83a,#f9d78c);
    color: #583610;
    box-shadow: 0 4px 16px rgba(37,19,14,.25);
    font-size: .76rem;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .045em;
    white-space: nowrap;
    pointer-events: none;
}
.gla-front-profile-featured-ribbon i { font-size: .88rem; }

/* Ações secundárias abaixo do frame; não interferem nas setas nem no GDC. */
.gla-front-profile-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    padding: 12px;
    background: #fff;
}
.gla-front-profile-action {
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    min-height: 43px;
    padding: 9px 7px;
    border: 1px solid #e4e5eb;
    border-radius: 10px;
    background: #fafafa;
    color: #394151;
    text-align: center;
    text-decoration: none;
    font: inherit;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.22;
    cursor: pointer;
}
.gla-front-profile-action i { color: #c42c70; font-size: .92rem; }
.gla-front-profile-action:hover { background: #fff0f6; border-color: #ecadca; color: #a5225a; }
.gla-front-profile-action:focus-visible { outline: 3px solid #de4a87; outline-offset: 2px; }
/* Botao de destaque: gradiente aprovado, inclusive no hover. */
.gla-front-profile-action-highlight,
.gla-front-profile-action-highlight:hover {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: white;
    border: none;
    transition: 0.3s;
}
.gla-front-profile-action-highlight i { color: white; }
.gla-front-profile-action-notice {
    margin: 0 12px 12px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f2f7f4;
    color: #245b3c;
    text-align: center;
    font-size: .8rem;
}
.gla-front-profile-action-notice[hidden] { display: none; }

/* Modal de conscientização e sugestão: sem CSS global do APP3. */
.gla-front-profile-update-dialog {
    box-sizing: border-box;
    width: min(94vw, 480px);
    max-height: min(90dvh, 780px);
    overflow-y: auto;
    margin: auto;
    padding: 0;
    border: 1px solid #eed5e1;
    border-radius: 18px;
    background: #fff;
    color: #2f3441;
    box-shadow: 0 25px 75px rgba(36,14,29,.25);
}
.gla-front-profile-update-dialog::backdrop { background: rgba(20,12,23,.68); backdrop-filter: blur(3px); }
.gla-front-profile-update-inner { position:relative; padding: 28px 24px 22px; text-align:center; }
.gla-front-profile-update-close {
    position:absolute;top:10px;right:11px;display:grid;place-items:center;width:34px;height:34px;
    border:0;border-radius:50%;background:#f6f6f7;color:#5e6470;cursor:pointer;
}
.gla-front-profile-update-icon {
    display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;
    border-radius:50%;background:#fff0f6;color:#b52365;font-size:1.5rem;
}
.gla-front-profile-update-inner h2 { margin:0 0 13px;font-size:1.26rem;line-height:1.28;color:#292f3d; }
.gla-front-profile-update-inner p { margin:9px 0;font-size:.88rem;line-height:1.52; }
.gla-front-profile-update-advice {
    padding:12px;border:1px solid #f2e0e7;border-radius:10px;background:#fff8fb;
    color:#7a3d59;font-size:.78rem!important;
}
.gla-front-profile-update-advice i { margin-right:5px; }
.gla-front-profile-update-choices,.gla-front-profile-update-form {
    display:flex;flex-direction:column;gap:9px;margin-top:17px;
}
.gla-front-profile-update-form[hidden],.gla-front-profile-update-choices[hidden] { display:none; }
/* Campo de código exibido apenas no fluxo do anunciante. */
.gla-front-profile-update-code { display:grid; gap:7px; text-align:left; }
.gla-front-profile-update-code[hidden] { display:none; }
.gla-front-profile-update-primary,.gla-front-profile-update-secondary,.gla-front-profile-update-cancel {
    display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;
    padding:11px 13px;border-radius:9px;text-decoration:none;font-size:.87rem;font-weight:760;
    cursor:pointer;font-family:inherit;
}
.gla-front-profile-update-primary { border:1px solid #b21d63;background:#bd256d;color:#fff; }
.gla-front-profile-update-primary:hover { background:#a51d5e; }
.gla-front-profile-update-secondary { border:1px solid #dddce2;background:#f9f9fb;color:#414457; }
.gla-front-profile-update-cancel { border:0;background:transparent;color:#717684; }
.gla-front-profile-update-primary:focus-visible,.gla-front-profile-update-secondary:focus-visible,
.gla-front-profile-update-cancel:focus-visible,.gla-front-profile-update-close:focus-visible {
    outline:3px solid #c93678;outline-offset:2px;
}
.gla-front-profile-update-form label { text-align:left;font-size:.83rem;font-weight:760; }
.gla-front-profile-update-form input {
    width:100%;box-sizing:border-box;min-height:45px;padding:10px 13px;border:1px solid #c9ced7;
    border-radius:9px;background:#fff;color:#2b3140;font-size:1rem;
}
.gla-front-profile-update-inner .gla-front-profile-update-help {
    font-size:.76rem;color:#6a7180;margin:0;
}
.gla-front-profile-update-inner .gla-front-profile-update-result {
    font-size:.82rem;color:#8d2452;margin:0;
}
@media(max-width:650px) {
    .gla-front-profile-photo-panel { overflow: hidden; }
    .gla-front-profile-featured-ribbon { top:9px;padding:8px 11px;font-size:.67rem; }
    .gla-front-profile-action-grid { gap:6px;padding:8px; }
    .gla-front-profile-action { font-size:.73rem;min-height:42px;padding:7px 4px;gap:6px; }
    .gla-front-profile-update-inner { padding:25px 17px 14px; }
    .gla-front-profile-update-dialog { width: calc(100% - 20px); }
}
@media(prefers-reduced-motion:reduce) {
    .gla-front-profile-action { transition:none; }
}

/* PERFIL2 - Ajuste minimo: ID e selo verde na legenda, sem alterar o frame. */
.gla-front-profile-caption-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 10px;
    margin-top: 8px;
}
.gla-front-profile-caption-id {
    display: inline-block;
    font-size: .78rem;
    font-weight: 600;
    color: #5b6170;
}
.gla-front-profile-caption-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    background: #e4f5e9;
    color: #11683b;
    padding: 5px 10px;
    font-size: .76rem;
    font-weight: 700;
}
/* O mobile volta a exibir somente a faixa pequena de ID/verificacao
   abaixo das acoes existentes; evita repetir nome e modalidade. */
@media (max-width: 650px) {
    .gla-front-profile-photo-caption {
        display: block;
        padding: 7px 10px;
    }
    .gla-front-profile-photo-caption h3,
    .gla-front-profile-photo-caption > .gla-front-profile-small,
    .gla-front-profile-photo-caption > .gla-front-profile-muted {
        display: none;
    }
    .gla-front-profile-caption-meta { margin-top: 0; }
}

/* PERFIL2 - Informacoes: selo clicavel e links sociais sem alterar o layout do frame. */
.gla-front-profile-info-head {
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
    column-gap:9px;row-gap:5px;margin-bottom:10px;
}
.gla-front-profile-details .gla-front-profile-info-head h3 {margin:0;}
.gla-front-profile-verified-link {
    display:inline-flex;align-items:center;gap:5px;max-width:100%;
    padding:5px 9px;border-radius:999px;border:1px solid #bde5cc;
    background:#e4f5e9;color:#11683b;text-decoration:none;
    font-size:.73rem;line-height:1.25;font-weight:730;
}

/* PERFIL2 - Identificação de anúncio não verificado. */
.gla-front-profile-unverified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border: 1px solid #efb5b5;
    border-radius: 999px;
    background: #fff0f0;
    color: #a11919;
    font-size: .73rem;
    line-height: 1.25;
    font-weight: 730;
}

.gla-front-profile-verified-link:hover {background:#d4efde;color:#08572f;}
.gla-front-profile-verified-link:focus-visible {outline:2px solid #168b4f;outline-offset:2px;}
.gla-front-profile-verified-link .fa-chevron-right {font-size:.59rem;}
.gla-front-profile-socials {display:grid;gap:6px;margin-top:11px;padding-top:11px;border-top:1px solid #e5e9f0;}
.gla-front-profile-socials a {
    display:flex;align-items:baseline;gap:8px;min-width:0;
    color:#215c8d;text-decoration:none;font-size:.81rem;line-height:1.5;
}
.gla-front-profile-socials a:hover span {text-decoration:underline;}
.gla-front-profile-socials a:focus-visible {outline:2px solid #b52365;outline-offset:3px;border-radius:4px;}
.gla-front-profile-socials a > i:first-child {width:16px;flex:0 0 16px;text-align:center;}
.gla-front-profile-socials a span {overflow-wrap:anywhere;word-break:break-word;min-width:0;}
.gla-front-profile-socials .gla-front-profile-external-label {color:#394151;flex-shrink:0;font-size:.81rem;font-weight:750;}
.gla-front-profile-socials .gla-front-profile-social-external {font-size:.6rem;color:#768397;flex-shrink:0;}
/* Verificacao: modal independente; carrega a pagina publica existente. */
.gla-front-profile-verify-dialog {
    box-sizing:border-box;width:min(1000px,calc(100% - 20px));height:min(92vh,920px);
    max-width:none;max-height:none;margin:auto;border:0;border-radius:12px;
    padding:44px 8px 8px;background:#fff;overflow:hidden;
    box-shadow:0 22px 70px rgba(20,20,35,.3);
}
.gla-front-profile-verify-dialog::backdrop {background:rgba(18,17,31,.73);}
.gla-front-profile-verify-dialog iframe {border:0;display:block;width:100%;height:100%;border-radius:6px;background:#fff;}
.gla-front-profile-verify-close {
    position:absolute;right:9px;top:7px;display:inline-flex;align-items:center;gap:6px;
    min-height:30px;padding:5px 12px;border:1px solid #d8dce2;border-radius:8px;
    background:#f6f7f9;color:#303847;font-size:.79rem;font-weight:700;cursor:pointer;
}
.gla-front-profile-verify-close:focus-visible {outline:2px solid #b52365;outline-offset:2px;}
@media (max-width:650px) {
    .gla-front-profile-verified-link {padding:4px 7px;font-size:.69rem;}
    .gla-front-profile-verify-dialog {width:calc(100% - 8px);height:calc(100dvh - 12px);padding:41px 4px 4px;border-radius:9px;}
}

/*
|--------------------------------------------------------------------------
| PERFIL2 - SEÇÃO DE ATENDIMENTO VIRTUAL
|--------------------------------------------------------------------------
| Mantém o mesmo padrão de largura das listagens APP3.
| Cores, título e cards utilizam o frontend.css compartilhado.
|--------------------------------------------------------------------------
*/
#conteudo-principal .gla-front-profile > .gla-front-virtual-featured {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: 0;
}

/*
|--------------------------------------------------------------------------
| PERFIL2 - CABEÇALHO DA GALERIA DE VÍDEOS
|--------------------------------------------------------------------------
| Título à esquerda e contador à direita no desktop.
| No celular, o contador fica abaixo do título.
| Não altera os cards nem outras seções.
|--------------------------------------------------------------------------
*/

#videos-do-perfil > .gla-front-profile-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-bottom: 16px;
}

#videos-do-perfil > .gla-front-profile-section-head h2 {
    margin: 0;
    line-height: 1.35;
}

#videos-do-perfil > .gla-front-profile-section-head .gla-front-profile-muted {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid #ead5df;
    border-radius: 999px;
    background: #fff;
    color: #a0245c;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

@media (max-width: 650px) {
    #videos-do-perfil > .gla-front-profile-section-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

/* Separação entre características e descrição do perfil. */
.gla-front-profile-details-block > .gla-front-profile-chips + h3 {
    margin-top: 24px;
}


/*
|--------------------------------------------------------------------------
| PERFIL2 - BOTÃO DE VERIFICAÇÃO DE IDADE DOS VÍDEOS
|--------------------------------------------------------------------------
| Exibido somente no modo 1, antes da confirmação.
| Não interfere na exibição dos vídeos nem no Fancybox.
|--------------------------------------------------------------------------
*/

.gla-front-profile-videos-gate {
    display: none;
    justify-content: center;
    margin: 0 0 16px;
}

/* Exibir somente no modo 1, enquanto não verificado. */
.gla-front-body[data-gla-age-enabled="1"]:not([data-gla-age-status="verified"])
.gla-front-profile-videos-gate {
    display: flex;
}

.gla-front-profile-videos-gate button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 22px;
    border: 1px solid #e7bbd0;
    border-radius: 999px;
    background: #fff0f6;
    color: #a3205d;
    font-size: .85rem;
    font-weight: 800;
    line-height: 1.3;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(177, 33, 96, .10);
    transition: background .2s ease, border-color .2s ease;
}

.gla-front-profile-videos-gate button:hover {
    background: #fce0ec;
    border-color: #d783aa;
}

.gla-front-profile-videos-gate button:focus-visible {
    outline: 3px solid #cf246c;
    outline-offset: 3px;
}

@media (max-width: 650px) {
    .gla-front-profile-videos-gate button {
        width: 100%;
        padding: 11px 14px;
        font-size: .8rem;
    }
}

/* PERFIL2: as galerias reutilizam o seletor do AgeGate central, sem herdar o masonry das listagens. */
.gla-front-profile-gallery-section.gla-front-ads-grid,
#videos-do-perfil.gla-front-ads-grid {
    column-count: auto;
}

/* ==========================================================
   PERFIL2 - CURTIDAS
   Botões com ícones grandes e contadores.
   Independentes das ações de contato.
   ========================================================== */

.gla-front-profile-votes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 16px 14px;
    background: #fff;
}

/* Estrutura dos botões */
.gla-front-profile-votes .gla-front-profile-vote {
    appearance: none;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 0;
    min-height: 118px;
    padding: 16px 10px;
    border: 2px solid transparent;
    border-radius: 18px;
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

/* Botão positivo */
.gla-front-profile-vote[data-gla-profile-vote="1"] {
    background: #e4f8ed;
    border-color: #58bf86;
    color: #176d44;
}

/* Botão negativo */
.gla-front-profile-vote[data-gla-profile-vote="2"] {
    background: #ffe8ec;
    border-color: #ed8999;
    color: #ae2642;
}

/* Ícones grandes */
.gla-front-profile-votes .gla-front-profile-vote-icon {
    display: block;
    font-size: 2.5rem;
    font-weight: normal;
    line-height: 1;
}

/* Contadores */
.gla-front-profile-votes .gla-front-profile-vote-counter {
    display: inline-block;
    max-width: 100%;
    padding: 6px 14px;
    border-radius: 30px;
    background: #fff;
    color: inherit;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

/* Passar o mouse */
.gla-front-profile-vote:hover {
    transform: translateY(-3px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .10);
}

/* Acessibilidade via teclado */
.gla-front-profile-vote:focus-visible {
    outline: 3px solid #505666;
    outline-offset: 3px;
}

/* Positivo selecionado */
.gla-front-profile-vote[data-gla-profile-vote="1"].is-selected {
    background: #17804a;
    border-color: #10693c;
    color: #fff;
}

/* Negativo selecionado */
.gla-front-profile-vote[data-gla-profile-vote="2"].is-selected {
    background: #c52e4d;
    border-color: #a51f3a;
    color: #fff;
}

/* Contador após selecionar */
.gla-front-profile-vote.is-selected .gla-front-profile-vote-counter {
    background: rgba(255, 255, 255, .22);
    color: #fff;
}

/* Marca visual do voto selecionado */
.gla-front-profile-vote.is-selected::after {
    content: "✓";
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
}

/* Processamento AJAX */
.gla-front-profile-vote:disabled {
    opacity: .65;
    cursor: wait;
    transform: none;
}

/* Mensagem de retorno da votação */
.gla-front-profile-vote-status {
    margin: 0 14px 14px;
    padding: 10px;
    background: #f2f7f4;
    color: #245b3c;
    border-radius: 10px;
    font-size: .8rem;
    text-align: center;
}

.gla-front-profile-vote-status[hidden] {
    display: none;
}

/* Dispositivos móveis */
@media (max-width: 650px) {
    .gla-front-profile-votes {
        gap: 8px;
        padding: 12px 9px;
    }

    .gla-front-profile-votes .gla-front-profile-vote {
        min-height: 105px;
        padding: 12px 6px;
        border-radius: 15px;
    }

    .gla-front-profile-votes .gla-front-profile-vote-icon {
        font-size: 2.2rem;
    }

    .gla-front-profile-votes .gla-front-profile-vote-counter {
        font-size: .7rem;
        padding: 5px 9px;
    }
}

/*
| PERFIL - SEPARADOR DE PARCEIROS
| Mantém o espaçamento e a borda originalmente definidos no HTML.
*/
.gla-front-profile-divider {
    margin: 35px 0;
    border: 0;
    border-top: 1px solid #e5e5e5;
}

/* Estrelas compactas para anúncios destacados. */
.gla-front-profile-featured-mini {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 9px 12px;
    background: #fff6df;
    border: 1px solid #f2d399;
    border-radius: 12px;
    color: #714b1e;
    font-size: .78rem;
    text-align: center;
}

.gla-front-profile-featured-mini span {
    color: #d49a28;
    letter-spacing: 2px;
}