/* Circuito Ferradura — Loja. Todas as páginas: assets/css, assets/js, assets/img */

:root {
    --bg-dark: #1a1d21;
    --bg-card: #252a30;
    --bg-elevated: #2d333b;
    --text-primary: #e6edf3;
    --text-secondary: #8b949e;
    --accent-blue: #58a6ff;
    --accent-gold: #d4a853;
    --accent-green: #3fb950;
    --accent-cyan: #06b6d4;
    --border: #373e47;
    --whatsapp: #25d366;
    --telegram: #0088cc;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, sans-serif;
    line-height: 1.6;
    color: var(--text-primary);
    background: var(--bg-dark);
    min-height: 100vh;
    padding: 0 20px 40px;
}

.wrapper { max-width: 900px; margin: 0 auto; }
body.page-download .wrapper { max-width: 640px; }
body.page-canal .wrapper { max-width: 640px; }
body.page-licenca .wrapper { max-width: 720px; }
body.page-portal .wrapper { max-width: 720px; }

.breadcrumb { font-size: 0.85rem; margin-bottom: 24px; padding-top: 16px; }
.breadcrumb a { color: var(--accent-blue); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span { color: var(--text-secondary); }
body.page-canal .breadcrumb a { color: var(--accent-cyan); }
body.page-licenca .breadcrumb a { color: var(--accent-cyan); }
body.page-licenca .breadcrumb span { color: var(--text-secondary); }
body.page-portal .breadcrumb a { color: var(--accent-cyan); }
body.page-portal .breadcrumb span { color: var(--text-secondary); }

/* Index */
header { padding: 48px 0 40px; text-align: center; border-bottom: 1px solid var(--border); }
header h1 { font-size: 1.75rem; font-weight: 700; letter-spacing: -0.02em; color: var(--text-primary); margin-bottom: 12px; }
header .subtitle { font-size: 1rem; font-weight: 400; color: var(--text-secondary); max-width: 640px; margin: 0 auto; line-height: 1.65; }
header .tagline { font-size: 0.95rem; font-weight: 500; color: var(--accent-gold); max-width: 640px; margin: 16px auto 0; line-height: 1.6; }
.hero-cta { background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px; padding: 32px 36px; margin-bottom: 40px; border-left: 4px solid var(--accent-gold); }
.hero-cta .hero-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-gold); margin-bottom: 10px; }
.hero-cta .hero-title { font-size: 1.35rem; font-weight: 700; color: var(--text-primary); margin-bottom: 12px; line-height: 1.4; }
.hero-cta .hero-desc { font-size: 0.95rem; color: var(--text-secondary); margin-bottom: 24px; line-height: 1.65; }
.hero-cta .cta-buttons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.cta-btn { display: inline-block; padding: 14px 24px; border-radius: 8px; font-weight: 600; font-size: 0.95rem; text-decoration: none; transition: opacity 0.2s, background 0.2s; }
.cta-btn-primary { background: var(--accent-green); color: #0d1117; border: none; }
.cta-btn-primary:hover { opacity: 0.95; filter: brightness(1.08); }
.cta-btn-secondary { background: transparent; color: var(--accent-blue); border: 2px solid var(--accent-blue); }
.cta-btn-secondary:hover { background: rgba(88, 166, 255, 0.12); }
.methodology { margin: 40px 0 48px; }
.methodology .card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 28px 32px; }
.methodology .card h2 { font-size: 1rem; font-weight: 600; color: var(--accent-gold); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 14px; }
.methodology .card p { font-size: 0.95rem; color: var(--text-secondary); line-height: 1.7; }
.methodology .card p strong { color: var(--text-primary); }
.methodology .card.card-differential { margin-top: 20px; border-left: 4px solid var(--accent-gold); }
.methodology .card.card-green { border-left: 4px solid var(--accent-green); }
.nav-section-title { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-secondary); margin-bottom: 20px; }
.nav-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.nav-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 24px; text-decoration: none; color: inherit; transition: border-color 0.2s, background 0.2s; display: flex; flex-direction: column; align-items: flex-start; }
.nav-card:hover { border-color: var(--accent-blue); background: var(--bg-elevated); }
.nav-card .icon { width: 40px; height: 40px; margin-bottom: 16px; flex-shrink: 0; }
.nav-card .icon svg { width: 100%; height: 100%; }
.nav-card h3 { font-size: 1.1rem; font-weight: 600; color: var(--text-primary); margin-bottom: 8px; }
.nav-card p { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.55; }
footer { margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--border); font-size: 0.85rem; color: var(--text-secondary); }
footer p { margin-bottom: 8px; }
footer a { color: var(--accent-blue); text-decoration: none; }
footer a:hover { text-decoration: underline; }
footer .soberania { margin-top: 16px; font-size: 0.8rem; opacity: 0.9; }

/* Download */
body.page-download header { padding: 48px 0 32px; }
body.page-download header h1 { font-size: 1.75rem; margin-bottom: 8px; }
body.page-download header p { color: var(--text-secondary); font-size: 0.95rem; }
.download-hero { background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 12px; padding: 32px; margin: 32px 0 24px; text-align: center; }
.download-hero .btn-download { display: inline-flex; align-items: center; gap: 10px; background: var(--accent-green); color: #0d0f12; font-weight: 600; font-size: 1.1rem; padding: 14px 28px; border-radius: 8px; text-decoration: none; border: none; cursor: pointer; transition: background 0.2s, transform 0.1s; }
.download-hero .btn-download:hover { background: #4ade80; transform: translateY(-1px); }
.download-hero .version { margin-top: 16px; font-size: 0.9rem; color: var(--text-secondary); }
.download-meta { font-size: 0.9rem; color: var(--text-secondary); margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--border); }
.download-meta ul { margin: 12px 0 0 20px; }
.download-meta li { margin-bottom: 6px; }
.download-meta a { color: var(--accent-blue); }
.download-back { margin-top: 32px; }
.download-back a { color: var(--text-secondary); text-decoration: none; }
.download-back a:hover { color: var(--accent-gold); }

/* Canal feedback */
body.page-canal header { padding: 40px 0 32px; }
body.page-canal header h1 { font-size: 1.5rem; font-weight: 700; margin-bottom: 10px; }
body.page-canal header .subtitle { font-size: 0.95rem; color: var(--text-secondary); line-height: 1.6; }
.intro { margin: 28px 0 24px; padding: 20px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; font-size: 0.95rem; color: var(--text-primary); }
.intro p { margin-bottom: 10px; }
.intro p:last-child { margin-bottom: 0; }
.intro strong { color: var(--accent-cyan); }
.no-phone { margin: 16px 0; padding: 12px 16px; background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.35); border-radius: 8px; font-size: 0.9rem; color: var(--text-secondary); }
.no-phone strong { color: #f59e0b; }
.channels { display: flex; flex-direction: column; gap: 16px; margin: 28px 0; }
.channel-card { display: block; padding: 20px 24px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: inherit; transition: border-color 0.2s, box-shadow 0.2s; }
.channel-card:hover { border-color: var(--accent-cyan); box-shadow: 0 0 20px rgba(6, 182, 212, 0.15); }
.channel-card.whatsapp:hover { border-color: var(--whatsapp); }
.channel-card.telegram:hover { border-color: var(--telegram); }
.channel-card .icon { font-size: 1.75rem; margin-bottom: 8px; }
.channel-card .title { font-size: 1.1rem; font-weight: 700; margin-bottom: 4px; }
.channel-card .desc { font-size: 0.9rem; color: var(--text-secondary); }
.lgpd { margin: 28px 0; padding: 16px 20px; background: rgba(5, 150, 105, 0.08); border: 1px solid rgba(5, 150, 105, 0.35); border-radius: 10px; font-size: 0.85rem; color: var(--text-secondary); }
.lgpd strong { color: var(--accent-green); }
.back { text-align: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }
.back a { color: var(--accent-cyan); text-decoration: none; font-weight: 600; }
.back a:hover { text-decoration: underline; }
.back .back-extra { font-size: 0.9rem; margin-top: 8px; display: inline-block; }

/* Licença e Portal (tema escuro alternativo) */
body.page-licenca { background: #0a0e14; padding: 24px 20px 48px; line-height: 1.65; }
body.page-portal { background: #0a0e14; padding: 24px 20px 48px; line-height: 1.65; }
body.page-licenca .breadcrumb { margin-bottom: 20px; }
body.page-portal .breadcrumb { margin-bottom: 20px; }
body.page-licenca header { text-align: center; padding: 32px 0 28px; border-bottom: 1px solid #2d3748; }
body.page-portal header { text-align: center; padding: 32px 0 28px; border-bottom: 1px solid #2d3748; }
body.page-licenca header h1 { font-size: 1.5rem; color: var(--accent-gold); margin-bottom: 8px; }
body.page-portal header h1 { font-size: 1.5rem; color: var(--accent-gold); margin-bottom: 8px; }
body.page-licenca header p { font-size: 0.9rem; color: var(--text-secondary); }
body.page-portal header p { font-size: 0.9rem; color: var(--text-secondary); }
.block { background: #12171f; border: 1px solid #2d3748; border-radius: 12px; padding: 24px; margin-top: 24px; }
.block h2 { font-size: 1rem; font-weight: 600; color: var(--accent-cyan); margin-bottom: 12px; }
.block p, .block ul { font-size: 0.9rem; color: var(--text-primary); margin-bottom: 12px; }
.block p:last-child { margin-bottom: 0; }
.block ul { margin-left: 20px; }
.block li { margin-bottom: 6px; }
.block.free { border-left: 4px solid var(--accent-green); }
.block.escolas { border-left: 4px solid var(--accent-gold); }
.block.alert { border-left: 4px solid #e53e3e; }
.block a { color: var(--accent-cyan); text-decoration: none; }
.block a:hover { text-decoration: underline; }
.valor { font-size: 1.25rem; font-weight: 700; color: var(--accent-green); }
.cta { margin-top: 24px; padding: 20px; background: rgba(6, 182, 212, 0.1); border: 1px solid rgba(6, 182, 212, 0.35); border-radius: 10px; }
.cta p { margin-bottom: 12px; }
.cta a { color: var(--accent-cyan); font-weight: 600; text-decoration: none; }
.cta a:hover { text-decoration: underline; }
.nav-links { margin-top: 28px; font-size: 0.9rem; }
.nav-links a { color: var(--accent-cyan); text-decoration: none; }
.nav-links a:hover { text-decoration: underline; }
