/*
Theme Name:     Radius Directory
Theme URI:      https://www.radiustheme.com/downloads/
Author:         RadiusTheme
Author URI:     https://www.radiustheme.com
Description:    Radius Directory is a clean and modern WordPress Theme best suited for Directory Listing. This theme comes with all necessary features and pages for a Directory Listing website.
Version:        1.4.3
Requires at least:  5.4.2
Tested up to:       6.8
Requires PHP:       7.4
Text Domain:    radius-directory
Tags:           featured-images, footer-widgets, full-width-template, sticky-post, threaded-comments, translation-ready, blog
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/


/* Estabelecimentos e Servi�os - Vers�o H�brida */
.estabelecimentos-proximos {
    background: #f8f9fa;
    padding: 3rem 0;
    margin-top: 3rem;
}

.estabelecimentos-proximos h2 {
    text-align: center;
    margin-bottom: 0.5rem;
    color: #333;
}

.estabelecimentos-proximos > .container > p {
    text-align: center;
    color: #666;
    margin-bottom: 3rem;
}

/* Recomenda��es Gerais */
.recomendacoes-gerais {
    background: linear-gradient(135deg, #ef5222, #d13c14);
    color: white;
    padding: 2rem;
    border-radius: 12px;
    margin-bottom: 3rem;
    box-shadow: 0 4px 20px rgba(0,123,255,0.3);
}

.recomendacoes-gerais h3 {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
    color: white;
}

.recomendacoes-content.destaque {
    font-size: 1.1rem;
    line-height: 1.7;
    color: white;
}

/* Categorias de Servi�os */
.categorias-servicos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.categoria-servico {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.categoria-servico:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.categoria-servico.mecanica {
    border-top: 4px solid #dc3545;
}

.categoria-servico.mecanica .categoria-header {
    background: linear-gradient(135deg, #dc3545, #c82333);
}

.categoria-header {
    background: linear-gradient(135deg, #ef5222, #d13c14);
    color: white;
    padding: 1.5rem;
}

.categoria-header h3 {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0;
    font-size: 1.2rem;
}

.categoria-content {
    padding: 1.5rem;
    line-height: 1.6;
    color: #333;
}

/* Links �teis */
.links-uteis {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    margin-bottom: 2rem;
}

.links-uteis h3 {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    color: #333;
    text-align: center;
    justify-content: center;
}

.links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.link-util {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 10px;
    text-decoration: none;
    color: #333;
    border: 2px solid transparent;
    transition: all 0.3s ease;
    position: relative;
}

.link-util:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    text-decoration: none;
    color: #333;
}

.link-util.booking:hover { border-color: #003580; }
.link-util.restaurantes:hover { border-color: #ff6b6b; }
.link-util.mecanica:hover { border-color: #dc3545; }
.link-util.postos:hover { border-color: #feca57; }
.link-util.farmacias:hover { border-color: #1dd1a1; }
.link-util.supermercados:hover { border-color: #5f27cd; }

.link-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.link-content {
    flex: 1;
}

.link-content strong {
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
    color: #333;
}

.link-content span {
    color: #666;
    font-size: 0.9rem;
}

.link-util > i {
    color: #ef5222;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.link-util:hover > i {
    opacity: 1;
}

/* Dica */
.dica-estabelecimentos {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 2rem;
}

.dica-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.dica-content {
    color: #856404;
    line-height: 1.5;
}

.dica-content strong {
    color: #533f03;
}

/* Responsividade */
@media (max-width: 768px) {
    .categorias-servicos {
        grid-template-columns: 1fr;
    }
    
    .links-grid {
        grid-template-columns: 1fr;
    }
    
    .recomendacoes-gerais {
        margin: 0 1rem 3rem 1rem;
    }
    
    .link-util {
        padding: 1rem;
    }
    
    .categoria-header {
        padding: 1rem;
    }
    
    .categoria-content {
        padding: 1rem;
    }
}

/* Anima��es */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.categoria-servico {
    animation: fadeInUp 0.6s ease forwards;
}

.categoria-servico:nth-child(1) { animation-delay: 0.1s; }
.categoria-servico:nth-child(2) { animation-delay: 0.2s; }
.categoria-servico:nth-child(3) { animation-delay: 0.3s; }
.categoria-servico:nth-child(4) { animation-delay: 0.4s; }
.categoria-servico:nth-child(5) { animation-delay: 0.5s; }



/* Reset e Base */
.evento-single {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin-top: -90px;
}

/* Header Compacto */
.evento-header-compacto {
    background: linear-gradient(135deg, #000000, #ef5222);
    color: white;
    padding: 2rem 0;
}

.breadcrumb-custom {
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.breadcrumb-custom a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
}

.breadcrumb-custom a:hover {
    color: white;
}

.breadcrumb-custom span {
    margin: 0 0.5rem;
    color: rgba(255,255,255,0.6);
}

.evento-badges-header {
    margin-bottom: 1rem;
}

.badge {
    background: rgba(255,255,255,0.2);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-right: 0.5rem;
}

.badge.badge-competitivo {
    background: #e74c3c;
}

.badge.badge-aventura {
    background: #27ae60;
}

.evento-titulo-main {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    color: #FFF;
}

/* Conte�do Principal */
.evento-content-main {
    padding: 3rem 0;
    background: #f8f9fa;
}

/* Quick Info Cards */
.quick-info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 3rem;
}

.info-card {
    background: white;
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: transform 0.3s ease;
}

.info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.info-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #ef5222, #d13c14);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.info-content {
    display: flex;
    flex-direction: column;
}

.info-label {
    font-size: 0.8rem;
    color: #666;
    font-weight: 500;
}

.info-value {
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
}

/* Estilos específicos para o card de Local */
.info-card-local {
    grid-column: span 2; /* Ocupa 2 colunas no grid */
    min-width: 100%; /* Garante largura mínima */
}

.info-value-local {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.cidade-completa {
    font-size: 1.1rem;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    word-break: break-word; /* Quebra palavras muito longas */
}

.estado-sigla {
    font-size: 0.9rem;
    font-weight: 500;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsividade específica para tablets */
@media (max-width: 1024px) and (min-width: 769px) {
    .info-card-local {
        grid-column: span 2; /* Em tablets, ocupa 2 colunas */
    }
}

@media (max-width: 480px) {
    .cidade-completa {
        font-size: 1rem;
    }
    
    .estado-sigla {
        font-size: 0.8rem;
    }
}

/* Content Sections */
.content-section {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08);
}

.content-section h2 {
    color: #2c3e50;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-bottom: 2px solid #ecf0f1;
    padding-bottom: 1rem;
}

.content-section h2 i {
    color: #ef5222;
}

.content-text {
    line-height: 1.7;
    color: #444;
    font-size: 1rem;
}

/* T�cnicas Grid */
.tecnicas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.tecnica-box {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 8px;
    border-left: 4px solid #ef5222;
}

.tecnica-box.full-width {
    grid-column: 1 / -1;
}

.tecnica-box h4 {
    color: #2c3e50;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.1rem;
}

.badges-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.badge-tech {
    background: white;
    color: #333;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid #dee2e6;
    transition: all 0.3s ease;
}

.badge-tech:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.badge-tech.dificuldade-iniciante { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.badge-tech.dificuldade-intermediario { background: #fff3cd; color: #856404; border-color: #ffeaa7; }
.badge-tech.dificuldade-profissional { background: #f8d7da; color: #721c24; border-color: #f5c6cb; }

.badge-tech.terreno { background: #e2e3e5; color: #383d41; }
.badge-tech.obstaculo { background: #ffeaa7; color: #856404; }
.badge-tech.equipamento { background: #d1ecf1; color: #0c5460; }

/* Inscri��es */
.inscricoes-section {

}

.inscricoes-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.inscricao-card {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.inscricao-icon {
    width: 50px;
    height: 50px;
    background: #ef5222;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.inscricao-info h4 {
    margin: 0 0 0.5rem 0;
    color: #333;
    font-size: 1rem;
}

.valor-destaque, .prazo-destaque {
    font-size: 1.3rem;
    font-weight: 700;
    color: #ef5222;
}

.como-inscrever {
    background: #fff5f5;
    padding: 1.5rem;
    border-radius: 8px;
    border: 1px solid #fed7d7;
}

.como-inscrever h4 {
    color: #404040;
    margin-bottom: 1rem;
}

.como-inscrever-content {
    line-height: 1.6;
    color: #2d3748;
}

/* Estabelecimentos */
.estabelecimentos-section {
    /* border-left removido conforme solicitado */
}

.recomendacoes-destaque {
    background: linear-gradient(135deg, #27ae60, #2ecc71);
    color: white;
    padding: 2rem;
    border-radius: 10px;
    margin-bottom: 2rem;
}

.recomendacoes-destaque h3 {
    color: white;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.recomendacoes-content {
    line-height: 1.6;
    font-size: 1.05rem;
}

/* Cards de Categorias */
.categorias-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.categoria-card {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.categoria-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.categoria-header {
    padding: 1.5rem;
    color: white;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.categoria-header.hospedagem { background: linear-gradient(135deg, #ef5222, #d13c14); }
.categoria-header.alimentacao { background: linear-gradient(135deg, #e67e22, #d35400); }
.categoria-header.mecanica { background: linear-gradient(135deg, #e74c3c, #c0392b); }
.categoria-header.servicos { background: linear-gradient(135deg, #9b59b6, #8e44ad); }

.categoria-header h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.categoria-content {
    padding: 1.5rem;
    line-height: 1.6;
    color: #444;
}

/* Links �teis */
.links-uteis {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 10px;
    border: 1px solid #e9ecef;
}

.links-uteis h3 {
    text-align: center;
    color: #333;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem;
}

.link-util {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem !important;
    background: #fff8f6 !important;
    border: 1px solid #fec5b3 !important;
    border-radius: 8px !important;
    text-decoration: none;
    color: #2d3748 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    transition: all 0.3s ease;
    text-align: center;
}

.link-util:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
    text-decoration: none !important;
    color: #2d3748 !important;
    border-color: #ef5222 !important;
    border-width: 2px !important;
    background: #fff8f6 !important;
}

.link-util i {
    font-size: 1.5rem;
    color: #ef5222;
}

.link-util span {
    font-size: 0.9rem;
    font-weight: 600;
}

/* Sidebar */
.evento-sidebar {
    position: sticky;
    top: 2rem;
}

.sidebar-section {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08);
}

.sidebar-section h3 {
    color: #2c3e50;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-bottom: 2px solid #ecf0f1;
    padding-bottom: 1rem;
}

.sidebar-section h3 i {
    color: #ef5222;
}

/* Imagem do Evento */
.evento-imagem {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.evento-imagem img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.evento-imagem:hover img {
    transform: scale(1.05);
}

/* Contatos */
.contatos-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.contato-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.contato-item:hover {
    transform: translateX(5px);
    text-decoration: none;
    color: white;
}

.contato-item.whatsapp:hover {
    background: #25d366;
    border-color: #25d366;
}

.contato-item.email:hover {
    background: #6c757d;
    border-color: #6c757d;
}

.contato-item.instagram:hover {
    background: #e4405f;
    border-color: #e4405f;
}

.contato-item.facebook:hover {
    background: #1877f2;
    border-color: #1877f2;
}

.contato-item i {
    font-size: 1.2rem;
    width: 20px;
    text-align: center;
}

/* Localiza��o */
.localizacao-info p {
    margin-bottom: 1rem;
    line-height: 1.5;
    color: #444;
}

.btn-maps {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #ef5222;
    color: white !important;
    padding: 0.75rem 1.5rem;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.btn-maps:hover {
    background: #d13c14;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 82, 34, 0.3);
    text-decoration: none;
    color: white !important;
}

/* Social Share */
.social-share {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.share-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white !important;
    text-decoration: none;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.share-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    text-decoration: none;
    color: white !important;
}

.share-btn.facebook {
    background: #ef5222;
}

.share-btn.whatsapp {
    background: #ef5222;
}

.share-btn.twitter {
    background: #ef5222;
}

/* Apoio Content */
.apoio-content {
    background: #fff5f5;
    padding: 1.5rem;
    border-radius: 8px;
    border-left: 4px solid #e74c3c;
    line-height: 1.6;
    color: #2d3748;
}

/* Observações sobre a Largada */
.observacoes-largada {
    
}

.observacoes-largada-content {
    background: #fff8f6;
    padding: 1.5rem;
    border-radius: 8px;
    border: 1px solid #fec5b3;
    line-height: 1.6;
    color: #2d3748;
    font-size: 1rem;
}

.observacoes-largada h2 i {
    color: #ef5222;
}

/* Responsividade */
@media (max-width: 768px) {
    .evento-titulo-main {
        font-size: 1.8rem;
    }
    
    .quick-info-cards {
        grid-template-columns: 1fr;
    }
    
    /* Card de Local em mobile ocupa largura total */
    .info-card-local {
        grid-column: span 1;
    }
    
    .tecnicas-grid {
        grid-template-columns: 1fr;
    }
    
    .inscricoes-cards {
        grid-template-columns: 1fr;
    }
    
    .categorias-cards {
        grid-template-columns: 1fr;
    }
    
    .links-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .evento-sidebar {
        position: static;
        margin-top: 2rem;
    }
    
    .social-share {
        justify-content: flex-start;
    }
    
    .contato-item {
        justify-content: flex-start;
    }
}

@media (max-width: 576px) {
    .evento-content-main {
        padding: 2rem 0;
    }
    
    .content-section {
        padding: 1.5rem;
    }
    
    .sidebar-section {
        padding: 1rem;
    }
    
    .links-grid {
        grid-template-columns: 1fr;
    }
    
    .info-card {
        padding: 1rem;
    }
    
    .content-section h2 {
        font-size: 1.3rem;
    }
}

/* Anima��es */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.content-section {
    animation: fadeInUp 0.6s ease forwards;
}

.content-section:nth-child(1) { animation-delay: 0.1s; }
.content-section:nth-child(2) { animation-delay: 0.2s; }
.content-section:nth-child(3) { animation-delay: 0.3s; }
.content-section:nth-child(4) { animation-delay: 0.4s; }

.info-card {
    animation: fadeInUp 0.6s ease forwards;
    border: 1px solid #fec5b3;
}

.info-card:nth-child(1) { animation-delay: 0.1s; }
.info-card:nth-child(2) { animation-delay: 0.2s; }
.info-card:nth-child(3) { animation-delay: 0.3s; }
.info-card:nth-child(4) { animation-delay: 0.4s; }

/* Print Styles */
@media print {
    .evento-sidebar,
    .social-share,
    .links-uteis {
        display: none;
    }
    
    .evento-content-main {
        background: white;
    }
    
    .content-section {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
    }
}

/* Estilos adicionais para garantir visibilidade dos botões */
.btn-primary,
a.btn-primary,
button.btn-primary {
    background: #ef5222 !important;
    color: white !important;
    border: 1px solid #ef5222 !important;
    text-decoration: none !important;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
.btn-primary:focus,
a.btn-primary:focus,
button.btn-primary:focus {
    background: #d13c14 !important;
    color: white !important;
    border-color: #d13c14 !important;
    text-decoration: none !important;
}

.btn-secondary,
a.btn-secondary,
button.btn-secondary {
    background: #6c757d !important;
    color: white !important;
    border: 1px solid #6c757d !important;
    text-decoration: none !important;
}

.btn-secondary:hover,
a.btn-secondary:hover,
button.btn-secondary:hover,
.btn-secondary:focus,
a.btn-secondary:focus,
button.btn-secondary:focus {
    background: #545b62 !important;
    color: white !important;
    border-color: #545b62 !important;
    text-decoration: none !important;
}

/* Forçar estilos específicos para links úteis na seção de estabelecimentos */
.estabelecimentos-section .links-uteis .link-util,
.content-section .links-uteis .link-util {
    padding: 1.5rem !important;
    background: #fff8f6 !important;
    border: 1px solid #fec5b3 !important;
    border-radius: 8px !important;
    color: #2d3748 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

.estabelecimentos-section .links-uteis .link-util:hover,
.content-section .links-uteis .link-util:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
    border-color: #ef5222 !important;
    border-width: 2px !important;
    background: #fff8f6 !important;
    color: #2d3748 !important;
}




/*===========================================
M�DULO TRILHAS - CSS RESPONSIVO
===========================================*/

/* ===== ARQUIVO DE TRILHAS (archive-trilhas.php) ===== */
.trilhas-archive {
    background: #f8f9fa;
    min-height: calc(100vh - 200px);
}

.trilhas-archive .container {
    max-width: 1320px;
}

/* Header da P�gina */
.trilhas-archive .page-header {
    text-align: center;
    padding: 0rem 1rem;
    margin-bottom: 3rem;
}

.trilhas-archive .page-header h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #333;
}

.trilhas-archive .page-header p {
    font-size: 1.1rem;
    margin: 0;
    color: #333;
}

/* Se��o de Filtros */
.filtros-trilhas {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    margin-bottom: 3rem;
}

.filtros-trilhas h3 {
    color: #2d5016;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}


.filtros-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.filtros-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    align-items: end;
}

.filtro-grupo {
    display: flex;
    flex-direction: column;
}

.filtro-grupo label {
    font-weight: 600;
    color: #495057;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

.filtro-grupo select,
.filtro-grupo input[type="text"],
.filtro-grupo input[type="number"] {
    padding: 0.75rem 1rem;
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: #fff;
}

.filtro-grupo select:focus,
.filtro-grupo input:focus {
    outline: none;
    border-color: #4a7c59;
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.1);
}

.filtros-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.filtros-actions .btn {
    padding: 0.75rem 2rem;
    border-radius: 25px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.filtros-actions .btn-primary {
    background: #4a7c59;
    color: white;
    border-color: #4a7c59;
}

.filtros-actions .btn-primary:hover {
    background: #3a5d43;
    border-color: #3a5d43;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(74, 124, 89, 0.3);
}

.filtros-actions .btn-secondary {
    background: transparent;
    color: #6c757d;
    border-color: #6c757d;
}

.filtros-actions .btn-secondary:hover {
    background: #6c757d;
    color: white;
}

/* Grid de Trilhas */
.trilhas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.trilha-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.trilha-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

/* Thumbnail da Trilha */
.trilha-thumb {
    position: relative;
    height: 220px;
    overflow: hidden;
}

.trilha-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.trilha-card:hover .trilha-thumb img {
    transform: scale(1.05);
}

.trilha-thumb .no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: linear-gradient(135deg, #e9ecef, #dee2e6);
    color: #6c757d;
    font-size: 3rem;
}

/* Badges da Trilha */
.trilha-badges {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.trilha-badges .badge {
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge.tipo-amador {
    background: #28a745;
}

.badge.tipo-profissional {
    background: #dc3545;
}

/* Rating da Trilha */
.trilha-rating {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 0.5rem 0.8rem;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
}

.trilha-rating .stars {
    display: flex;
    gap: 1px;
    font-size: 0.7rem;
}

.trilha-rating .stars i {
    color: #ffc107;
}

/* Conte�do da Trilha */
.trilha-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.trilha-titulo {
    margin: 0 0 1rem 0;
}

.trilha-titulo a {
    color: #2d3748;
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.trilha-titulo a:hover {
    color: #4a7c59;
}

/* Meta Informa��es */
.trilha-meta {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.trilha-meta .meta-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #6c757d;
}

.trilha-meta .meta-item i {
    color: #4a7c59;
    font-size: 1rem;
    width: 16px;
}

/* Excerpt */
.trilha-excerpt {
    color: #6c757d;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 1rem;
    flex-grow: 1;
}

/* Tags */
.trilha-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.trilha-tags .tag {
    padding: 0.3rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 500;
    color: white;
}

.tag.dificuldade-iniciante {
    background: #28a745;
}

.tag.dificuldade-intermediario {
    background: #ffc107;
    color: #212529;
}

.tag.dificuldade-profissional {
    background: #dc3545;
}

.tag.terreno {
    background: #6f42c1;
}

/* Footer do Card */
.trilha-footer {
    margin-top: auto;
}

.trilha-footer .btn {
    width: 100%;
    padding: 0.75rem;
    border-radius: 8px;
    background: #4a7c59;
    color: white;
    text-decoration: none;
    text-align: center;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.trilha-footer .btn:hover {
    background: #3a5d43;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(74, 124, 89, 0.3);
    color: white;
    text-decoration: none;
}

/* Pagina��o */
.paginacao {
    display: flex;
    justify-content: center;
    margin: 3rem 0;
}

.paginacao .page-numbers {
    display: inline-block;
    padding: 0.75rem 1rem;
    margin: 0 0.25rem;
    border-radius: 8px;
    background: white;
    color: #4a7c59;
    text-decoration: none;
    border: 1px solid #dee2e6;
    transition: all 0.3s ease;
}

.paginacao .page-numbers:hover,
.paginacao .page-numbers.current {
    background: #4a7c59;
    color: white;
    border-color: #4a7c59;
}

/* Sem Trilhas */
.no-trilhas {
    text-align: center;
    padding: 4rem 2rem;
}

.no-trilhas-content {
    background: white;
    padding: 3rem;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    margin: 0 auto;
}

.no-trilhas-content i {
    font-size: 4rem;
    color: #6c757d;
    margin-bottom: 1rem;
}

.no-trilhas-content h3 {
    color: #2d3748;
    margin-bottom: 1rem;
}

.no-trilhas-content p {
    color: #6c757d;
    margin-bottom: 2rem;
}

/* ===== P�GINA INDIVIDUAL DA TRILHA (single-trilhas.php) ===== */

.trilha-single {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Hero Section */
.trilha-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    overflow: hidden;
    margin-top: -90px;
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(45, 80, 22, 0.8), rgba(74, 124, 89, 0.6));
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;
    color: white;
    padding: 2rem 0;
}

.trilha-titulo {
    font-size: 3rem;
    font-weight: 700;
    margin: 1rem 0;
    color: white;
    line-height: 1.2;
}

/* Rating Hero */
.trilha-rating-hero {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0;
}

.stars-large {
    display: flex;
    gap: 2px;
    font-size: 1.2rem;
}

.stars-large i {
    color: #ffc107;
}

.rating-text {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
}

/* Meta Hero */
.trilha-meta-hero {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.trilha-meta-hero .meta-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 1rem 1.5rem;
    border-radius: 10px;
    backdrop-filter: blur(10px);
}

.trilha-meta-hero .meta-item i {
    font-size: 1.5rem;
    color: #ffc107;
}

.trilha-meta-hero .meta-item div strong {
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
}

.trilha-meta-hero .meta-item div span {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
}

/* Content Section */
.trilha-content {
    padding: 3rem 0;
    background: #f8f9fa;
}

.content-wrapper {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
}

.content-main {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.content-main > div {
    padding: 2rem;
    border-bottom: 1px solid #e9ecef;
}

.content-main > div:last-child {
    border-bottom: none;
}

.content-main h2 {
    color: #2d5016;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.content-main h2:before {
    content: "🏔️";
    font-size: 1.2rem;
}

/* Informa��es T�cnicas */
.tecnicas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.tecnica-item {
    background: #f8f9fa;
    padding: 1.5rem;
    border-radius: 10px;
    border: 1px solid #e9ecef;
    display: flex;
    gap: 1rem;
}

.tecnica-item.full-width {
    grid-column: 1 / -1;
}

.tecnica-icon {
    flex-shrink: 0;
}

.tecnica-icon i {
    font-size: 1.5rem;
    color: #4a7c59;
}

.tecnica-content h4 {
    color: #2d3748;
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
}

.dificuldade-badges,
.terreno-list,
.obstaculos-list,
.equipamentos-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.equipamentos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.5rem;
}

.dificuldade-badges .badge,
.terreno-item,
.obstaculo-item,
.equipamento-item {
    padding: 0.4rem 0.8rem;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 500;
    color: white;
    text-align: center;
}

.terreno-item {
    background: #6f42c1;
}

.obstaculo-item {
    background: #fd7e14;
}

.equipamento-item {
    background: #20c997;
}

/* Galeria de Fotos */
.galeria-fotos h2:before {
    content: "📸";
}

.foogallery-container {
    margin-top: 1rem;
}

/* Galeria de V�deos */
.galeria-videos h2:before {
    content: "🎥";
}

.videos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.video-item {
    background: #f8f9fa;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e9ecef;
}

.video-embed-container {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.video-embed-container iframe {
    width: 100%;
    height: 100%;
}

.video-item h4 {
    padding: 1rem;
    margin: 0;
    color: #2d3748;
}

/* Dicas e Recomenda��es */
.dicas-recomendacoes h2:before {
    content: "💡";
}

.dicas-content {
    background: #ebebeb;
    border: 1px solid ##d3d3d3;
    border-radius: 10px;
    padding: 1.5rem;
    margin-top: 1rem;
}

.dicas-content ul,
.dicas-content ol {
    margin-bottom: 0;
    padding-left: 1.5rem;
}

.dicas-content li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

/* �rea de Camping */
.area-camping h2:before {
    content: "⛺";
}

.camping-info {
    background: #ebebeb;
    border: 1px solid #d3d3d3;
    border-radius: 10px;
    padding: 1.5rem;
    margin-top: 1rem;
}

.camping-disponivel {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    background: white;
    border-radius: 8px;
    border: 1px solid #d3d3d3;
}

.camping-disponivel i {
    font-size: 2rem;
    color: #6d6d6d;
}

.camping-disponivel p {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #6a6969;
}

.camping-detalhes {
    display: grid;
    gap: 1rem;
}

.camping-estrutura h4 {
    color: #6a6969;
    margin-bottom: 0.75rem;
}

.estrutura-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.estrutura-item {
    padding: 0.4rem 0.8rem;
    background: #9c9c9c;
    color: white;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 500;
}

.camping-valor,
.camping-contato {
    padding: 0.75rem;
    background: white;
    border-radius: 8px;
    border: 1px solid #d3d3d3;
}

/* Sistema de Avalia��es */
.avaliacoes-trilha h2:before {
    content: "⭐";
}

/* Formul�rio de Avalia��o */
.avaliar-trilha {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.avaliar-trilha h3 {
    color: #8f8f8f;
    margin-bottom: 1rem;
}

.avaliacao-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.rating-input {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.stars-input {
    display: flex;
    flex-direction: row-reverse;
    gap: 2px;
}

.stars-input input[type="radio"] {
    display: none;
}

.stars-input label {
    font-size: 2rem;
    color: #ddd;
    cursor: pointer;
    transition: color 0.2s;
}

.stars-input label:hover,
.stars-input label.hover,
.stars-input input[type="radio"]:checked ~ label,
.stars-input label.selected {
    color: #ffc107;
}

.comentario-input {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.comentario-input label {
    font-weight: 600;
    color: #495057;
}

.comentario-input textarea {
    padding: 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: inherit;
    resize: vertical;
    min-height: 100px;
}

.comentario-input textarea:focus {
    outline: none;
    border-color: #4a7c59;
    box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.1);
}

.login-required {
    text-align: center;
    padding: 1.5rem;
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 10px;
    margin-bottom: 2rem;
}

.login-required a {
    color: #856404;
    font-weight: 600;
}

/* Lista de Avalia��es */
.avaliacoes-lista h3 {
    color: #2d5016;
    margin-bottom: 1.5rem;
}

.avaliacao-item {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

.avaliacao-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.avaliador-info strong {
    color: #2d3748;
    font-weight: 600;
}

.avaliador-info .data {
    color: #6c757d;
    font-size: 0.9rem;
    margin-left: 0.5rem;
}

.avaliacao-stars {
    display: flex;
    gap: 1px;
}

.avaliacao-stars i {
    font-size: 1rem;
    color: #ffc107;
}

.avaliacao-stars .icon-star-empty {
    color: #ddd;
}

.avaliacao-comentario {
    color: #495057;
    line-height: 1.6;
}

.sem-avaliacoes {
    text-align: center;
    padding: 2rem;
    color: #6c757d;
    font-style: italic;
}

/* Eventos Relacionados */
.eventos-relacionados h2:before {
    content: "📅";
}

.eventos-grid-mini {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.evento-card-mini {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 1rem;
    display: flex;
    gap: 1rem;
    transition: transform 0.2s;
}

.evento-card-mini:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.evento-thumb-mini {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
}

.evento-thumb-mini img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.evento-info-mini h4 {
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
    line-height: 1.3;
}

.evento-info-mini h4 a {
    color: #2d3748;
    text-decoration: none;
}

.evento-info-mini h4 a:hover {
    color: #4a7c59;
}

.evento-data-mini {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.85rem;
    color: #6c757d;
}

.evento-data-mini i {
    color: #4a7c59;
}

/* Sidebar */
.content-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.widget {
    background: white;
    border-radius: 15px;
    padding: 1.5rem;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid #e9ecef;
}

.widget h3 {
    color: #2d5016;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #e9ecef;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Info Rápidas */

.info-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.info-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem;
    background: #f8f9fa;
    border-radius: 8px;
}

.info-item i {
    color: #4a7c59;
    font-size: 1.1rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.info-item div strong {
    display: block;
    color: #2d3748;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

/* Melhor Época */

.epoca-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.epoca-item,
.badge-epoca {
    padding: 0.4rem 0.8rem;
    background: #4a7c59;
    color: white;
    border-radius: 15px;
    font-size: 0.85rem;
    font-weight: 500;
    display: inline-block;
}

/* Localização */

.endereco {
    margin-bottom: 1rem;
}

.endereco strong {
    color: #2d3748;
    font-weight: 600;
}

.endereco p {
    margin: 0.5rem 0 0 0;
    color: #495057;
    line-height: 1.4;
}

.btn-maps {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: #ef5222 !important;
    color: white !important;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
}

.btn-maps:hover {
    background: #d13c14 !important;
    color: white !important;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(239, 82, 34, 0.3);
}

/* Compartilhar */

.social-share {
    display: flex;
    gap: 0.75rem;
}

.share-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white !important;
    text-decoration: none;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

.share-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    color: white !important;
}

.share-btn.facebook {
    background: #ef5222;
}

.share-btn.whatsapp {
    background: #ef5222;
}

.share-btn.twitter {
    background: #ef5222;
}

/* Trilhas Similares */

.trilhas-mini-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.trilha-mini-item {
    display: flex;
    gap: 1rem;
    padding: 0.75rem;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    transition: transform 0.2s;
}

.trilha-mini-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

.trilha-mini-thumb {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
}

.trilha-mini-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.trilha-mini-info {
    flex-grow: 1;
}

.trilha-mini-info h5 {
    margin: 0 0 0.5rem 0;
    font-size: 1rem;
    line-height: 1.3;
}

.trilha-mini-info h5 a {
    color: #2d3748;
    text-decoration: none;
}

.trilha-mini-info h5 a:hover {
    color: #4a7c59;
}

.trilha-mini-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.85rem;
    color: #6c757d;
}

/* Estabelecimentos Pr�ximos */
.estabelecimentos-proximos {
    background: white;
    padding: 3rem 0;
    border-top: 1px solid #e9ecef;
}

.estabelecimentos-proximos h2 {
    text-align: center;
    color: #2d5016;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.estabelecimentos-proximos > .container > p {
    text-align: center;
    color: #6c757d;
    margin-bottom: 2rem;
}

.estabelecimentos-tabs {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.tab-btn {
    padding: 0.75rem 1.5rem;
    border: 2px solid #dee2e6;
    background: white;
    color: #6c757d;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
}

.tab-btn:hover,
.tab-btn.active {
    border-color: #4a7c59;
    background: #4a7c59;
    color: white;
}

.categoria-estabelecimentos {
    display: none;
}

.categoria-estabelecimentos.active {
    display: block;
}

.loading-estabelecimentos {
    text-align: center;
    padding: 3rem;
    color: #6c757d;
}

.loading-estabelecimentos i {
    font-size: 2rem;
    margin-bottom: 1rem;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.estabelecimentos-manuais h3 {
    color: #2d5016;
    margin-bottom: 1.5rem;
    text-align: center;
}

.estabelecimentos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
}

.estabelecimento-card {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 1.5rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}

.estabelecimento-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.estabelecimento-info h4 {
    color: #2d3748;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.estabelecimento-tipo {
    margin-bottom: 1rem;
}

.estabelecimento-tipo .badge {
    padding: 0.4rem 0.8rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge.tipo-hospedagem {
    background: #007bff;
    color: white;
}

.badge.tipo-restaurante {
    background: #fd7e14;
    color: white;
}

.badge.tipo-servi�o,
.badge.tipo-servicos {
    background: #6f42c1;
    color: white;
}

.estabelecimento-endereco,
.estabelecimento-telefone,
.estabelecimento-distancia {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    color: #6c757d;
    font-size: 0.95rem;
}

.estabelecimento-endereco i,
.estabelecimento-telefone i,
.estabelecimento-distancia i {
    color: #4a7c59;
    width: 16px;
}

.estabelecimento-telefone a {
    color: #6c757d;
    text-decoration: none;
}

.estabelecimento-telefone a:hover {
    color: #4a7c59;
}

/* Cards manuais de estabelecimentos */
.estabelecimento-card.manual {
    text-align: center;
    background: linear-gradient(135deg, #f8f9fa, #ffffff);
    border: 2px solid #e9ecef;
    padding: 2rem;
}

.estabelecimento-card.manual:hover {
    border-color: #ef5222;
    box-shadow: 0 8px 30px rgba(239, 82, 34, 0.15);
}

.estabelecimento-card.manual h4 {
    color: #2d3748;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.estabelecimento-card.manual h4 i {
    color: #ef5222;
    font-size: 1.5rem;
}

.estabelecimento-card.manual p {
    color: #6c757d;
    margin-bottom: 1.5rem;
    font-size: 1rem;
}

/* Seção de Avaliações como última seção */
.avaliacoes-section {
    background: #f8f9fa;
    padding: 3rem 0;
    margin-top: 2rem;
}

.avaliacoes-section .content-section {
    max-width: none;
}

/* Responsividade para a seção de avaliações */
@media (max-width: 768px) {
    .avaliacoes-section .col-lg-9 {
        padding: 0 1rem;
    }
}

/* Responsividade */
@media (max-width: 1024px) {
    .content-wrapper {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .content-sidebar {
        order: -1;
    }
    
    .widget {
        display: none;
    }
    
    .widget.info-rapidas,
    .widget.melhor-epoca {
        display: block;
    }
}

@media (max-width: 768px) {
    .trilhas-archive .page-header {
        padding: 2rem 1rem;
        margin-bottom: 2rem;
    }
    
    .trilhas-archive .page-header h1 {
        font-size: 2rem;
    }
    
    .filtros-trilhas {
        padding: 1.5rem;
    }
    
    .filtros-row {
        grid-template-columns: 1fr;
    }
    
    .filtros-actions {
        flex-direction: column;
    }
    
    .trilhas-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .trilha-titulo {
        font-size: 2rem;
    }
    
    .trilha-meta-hero {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .content-main > div {
        padding: 1.5rem;
    }
    
    .tecnicas-grid {
        grid-template-columns: 1fr;
    }
    
    .videos-grid {
        grid-template-columns: 1fr;
    }
    
    .eventos-grid-mini {
        grid-template-columns: 1fr;
    }
    
    .social-share {
        justify-content: flex-start;
    }
    
    .estabelecimentos-tabs {
        flex-direction: column;
        align-items: center;
    }
    
    .estabelecimentos-grid {
        grid-template-columns: 1fr;
    }
    
    .equipamentos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .trilhas-archive .page-header h1 {
        font-size: 1.5rem;
    }
    
    .trilha-titulo {
        font-size: 1.5rem;
    }
    
    .trilha-meta-hero .meta-item {
        padding: 0.75rem 1rem;
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
    }
    
    .trilha-meta-hero .meta-item i {
        font-size: 1.2rem;
    }
    
    .content-main > div {
        padding: 1rem;
    }
    
    .widget {
        padding: 1rem;
    }
    
    .stars-input label {
        font-size: 1.5rem;
    }
    
    .equipamentos-grid {
        grid-template-columns: 1fr;
    }
}

/* Anima��es */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.trilha-card {
    animation: fadeInUp 0.6s ease-out;
}

.trilha-card:nth-child(1) { animation-delay: 0.1s; }
.trilha-card:nth-child(2) { animation-delay: 0.2s; }
.trilha-card:nth-child(3) { animation-delay: 0.3s; }
.trilha-card:nth-child(4) { animation-delay: 0.4s; }
.trilha-card:nth-child(5) { animation-delay: 0.5s; }
.trilha-card:nth-child(6) { animation-delay: 0.6s; }

/* Estados de Loading e Interatividade */
.btn-loading {
    position: relative;
    color: transparent !important;
}

.btn-loading:after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-left: -10px;
    margin-top: -10px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Print Styles para Trilhas */
@media print {
    .trilha-single .content-sidebar,
    .social-share,
    .filtros-trilhas,
    .avaliar-trilha {
        display: none;
    }
    
    .trilha-single .content-wrapper {
        grid-template-columns: 1fr;
    }
    
    .trilha-content {
        background: white;
    }
    
    .content-main > div {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
    }
}
}