/* Guiados pela Fé — acabamento compartilhado das páginas públicas.
   Escopo intencionalmente limitado às páginas index.php, estudos.php e pontos.php. */
:root {
    --gpf-wine: #4a050b;
    --gpf-red: #b11226;
    --gpf-gold: #d6a84f;
    --gpf-gold-light: #f3d47e;
    --gpf-focus: #ffe29a;
}

body.public-home,
body.public-points,
body.public-studies {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.public-home :focus-visible,
.public-points :focus-visible,
.public-studies :focus-visible {
    outline: 3px solid var(--gpf-focus) !important;
    outline-offset: 3px !important;
}

/* Início: mantém o visual vinho/dourado e reforça hierarquia e acabamento. */
.public-home .topbar {
    border-color: rgba(243, 212, 126, .14);
    box-shadow: 0 14px 44px rgba(0, 0, 0, .24);
}
.public-home .nav-desktop a {
    min-height: 42px;
    border-radius: 999px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.public-home .card,
.public-home .event-card,
.public-home .local-card,
.public-home .hero-side {
    border-color: rgba(243, 212, 126, .12);
}
.public-home .card-header h3,
.public-home .section-title {
    letter-spacing: -.025em;
}
.public-home .bottom-nav {
    border-top-color: rgba(243, 212, 126, .17);
    box-shadow: 0 -12px 36px rgba(0, 0, 0, .24);
}

/* Pontos cantados: biblioteca mais tátil e cards com foco claro. */
.public-points .main-header {
    border-color: rgba(243, 212, 126, .17);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
}
.public-points .header-nav a {
    min-height: 42px;
    border-radius: 999px;
}
.public-points .search-shell {
    border-color: rgba(243, 212, 126, .15);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .26);
}
.public-points .quick-chips {
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
}
.public-points .chip {
    min-height: 42px;
    scroll-snap-align: start;
}
.public-points .ponto-card {
    border: 1px solid rgba(243, 212, 126, .12);
    transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.public-points .bottom-nav {
    border-top-color: rgba(243, 212, 126, .17);
    box-shadow: 0 -12px 36px rgba(0, 0, 0, .24);
}

/* Estudos: biblioteca e filtros com alvos de toque confortáveis. */
.public-studies .busca-wrapper input {
    min-height: 48px;
    font-size: 16px;
}
.public-studies .filtro-chip,
.public-studies .tag-btn,
.public-studies .btn-mostrar-tags {
    min-height: 42px;
}
.public-studies .estudo-card {
    border: 1px solid rgba(139, 0, 0, .10);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.public-studies .estudo-card:focus-visible {
    outline-color: var(--gpf-red) !important;
}

@media (hover: hover) and (pointer: fine) {
    .public-home .nav-desktop a:hover,
    .public-points .header-nav a:hover {
        transform: translateY(-1px);
    }
    .public-home .card:hover,
    .public-home .event-card:hover,
    .public-home .local-card:hover,
    .public-points .ponto-card:hover,
    .public-studies .estudo-card:hover {
        border-color: rgba(243, 212, 126, .28);
        box-shadow: 0 18px 48px rgba(0, 0, 0, .24);
    }
}

@media (max-width: 640px) {
    .public-home .card,
    .public-home .event-card,
    .public-home .local-card,
    .public-points .ponto-card,
    .public-studies .estudo-card {
        -webkit-tap-highlight-color: transparent;
    }
    .public-points .chip,
    .public-studies .filtro-chip,
    .public-studies .tag-btn {
        scroll-snap-align: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-home *,
    .public-points *,
    .public-studies * {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
