/**
 * city-sponsor-banner.css — estilo do banner do Patrocinador Oficial da Cidade.
 *
 * Renderizado por js/city-sponsor-banner.js em divs com data-city-sponsor-section.
 * Visual tipo "card sutil dourado" — destaca sem virar anúncio invasivo.
 * Variações por seção via classe .csb-section-{home|onde_comer|etc} permite
 * tuning fino se quisermos diferenciar cores depois.
 *
 * 2026-05-26 — sprint Patrocinador Oficial Fase 4.
 */
.csb-banner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    margin: 16px 0;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fbbf24;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    position: relative;
    overflow: hidden;
    transition: transform .15s, box-shadow .15s;
    cursor: pointer;
}
.csb-banner:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(251, 191, 36, 0.25);
    text-decoration: none;
    color: inherit;
}

.csb-stripe {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, #f59e0b, #d97706);
}

.csb-logo {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: contain;
    background: #fff;
    border: 1px solid #fde68a;
    flex-shrink: 0;
    padding: 4px;
}
.csb-logo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d97706;
    font-size: 1.5rem;
    padding: 0;
}

.csb-content {
    flex: 1;
    min-width: 0;
}

.csb-tag {
    font-size: .75rem;
    color: #92400e;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.csb-name {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.csb-arrow {
    font-size: 1.5rem;
    color: #d97706;
    flex-shrink: 0;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
    .csb-banner {
        background: linear-gradient(135deg, #2a2515 0%, #3b2f17 100%);
        border-color: #d97706;
    }
    .csb-name { color: #fef3c7; }
    .csb-tag { color: #fbbf24; }
    .csb-logo { background: #1a1610; border-color: #d97706; }
}

[data-bs-theme="dark"] .csb-banner {
    background: linear-gradient(135deg, #2a2515 0%, #3b2f17 100%);
    border-color: #d97706;
}
[data-bs-theme="dark"] .csb-name { color: #fef3c7; }
[data-bs-theme="dark"] .csb-tag { color: #fbbf24; }
[data-bs-theme="dark"] .csb-logo { background: #1a1610; border-color: #d97706; }

/* Mobile compact */
@media (max-width: 480px) {
    .csb-banner { padding: 10px 12px; gap: 10px; }
    .csb-logo { width: 40px; height: 40px; }
    .csb-name { font-size: .95rem; }
    .csb-arrow { font-size: 1.2rem; }
}
