:root {
    --bs-primary: #13a538;
    --bs-primary-rgb: 19, 165, 56;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background-color: #edf0f6;
    padding-top: 0; /* importante para não empurrar o layout pra baixo */
}

/* ========== FORÇAR TAMANHO DO LOGO NA NAVBAR ========== */
img.logo-img,
.navbar-brand img.logo-img,
.main-navbar .navbar-brand img {
    height:  50px !important;      /* ajuste aqui: 50, 60, 70... */
    max-height: 50px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    display: block !important;
}


/* Container central branco, lembrando o site de referência */
main.container {
    background-color: #ffffff;
    border-radius: 4px;
    padding-top: 2rem;
    padding-bottom: 2rem;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.03);
}

/* Navbar verde (se usar bg-primary) */
.navbar.bg-primary {
    background-color: #13a538 !important;
}

/* ===== Header e menu tipo Floramar ===== */

.site-header {
    margin-bottom: 1rem;
}

/* Faixa superior com logo */
.header-top {
    background-color: #edf1f5;
}

/* Logo do topo */
.header-logo img {
    max-height: 80px;      /* altura máxima da logo */
    width: auto !important;/* impede de esticar na largura */
    height: auto;          /* mantém proporção */
    object-fit: contain;
}


/* Ícone de busca redondo à direita */
.header-search-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #13a538;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 12px rgba(0,0,0,0.08);
}

.header-search-icon i {
    font-size: 1.2rem;
}

/* Barra de abas (Home, Linhas, Bilhetagem...) */
.header-nav {
    background-color: #ffffff;
    border-bottom: 1px solid #e4e4e4;
}

.header-nav .navbar-nav .nav-link {
    padding: 0.9rem 2.4rem;
    color: #555555;
    font-weight: 500;
    border-right: 1px solid #f1f1f1;
    border-radius: 0;
}

.header-nav .navbar-nav .nav-link:first-child {
    border-left: 1px solid #f1f1f1;
}

.header-nav .navbar-nav .nav-link:hover {
    background-color: #e9f7ef;
    color: #111111;
}

/* Aba ativa em verde, tipo Floramar */
.header-nav .navbar-nav .nav-link.active {
    background-color: #13a538;
    color: #ffffff;
}

/* Cards gerais */
.card-soft,
.card,
.linha-card {
    border-radius: 4px;
}

.linha-card {
    transition: transform 0.08s ease, box-shadow 0.08s ease, border-color 0.08s ease;
}

.linha-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.65rem 1.2rem rgba(15, 23, 42, 0.08);
    border-color: rgba(19, 165, 56, 0.6) !important;
}

/* Badges de horário */
.badge-horario {
    font-size: 0.8rem;
    margin: 0.08rem;
    background-color: #13a538;
    color: #ffffff;
}

/* Timeline simples para o trajeto */
.timeline-dot {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 999px;
    background: #13a538;
}

.timeline-line {
    width: 2px;
    background: linear-gradient(to bottom, #13a538, transparent);
    flex: 1;
    margin: 0 auto;
}

/* Rodapé discreto */
.footer {
    font-size: 0.85rem;
}

.navbar-brand span {
    font-weight: 700;
    letter-spacing: 0.03em;
}

.navbar-brand small {
    font-size: 0.65rem;
    opacity: 0.8;
}

/* Títulos de seção */
.section-title {
    font-weight: 700;
}

.section-subtitle {
    color: #6c757d;
    font-size: 0.95rem;
}

/* Badges suaves verdes */
.badge-soft {
    background-color: rgba(19, 165, 56, 0.08);
    color: #13a538;
}

/* Tabela de horários */
.table-horarios td {
    vertical-align: middle;
}

/* Botão redondo para voltar ao topo */
.btn-circle {
    border-radius: 999px;
}

#btnBackToTop {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 1030;
    display: none;
}

/* Ajustes pequenos de formulário e alertas para combinar com o estilo */
input.form-control,
textarea.form-control,
select.form-select {
    border-radius: 4px;
}

.alert-info {
    background-color: #e9f7ef;
    border-color: #cfe9db;
    color: #0f5132;
}

/* Logo dentro do menu */
.logo-img {
    max-height: 40px;        /* antes estava 70px */
    width: auto !important;
    height: auto;
    object-fit: contain;
}


/* Barra principal de navegação */
.main-navbar {
    background-color: #ffffff;
    border-bottom: 1px solid #e4e4e4;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

.main-navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
}

/* Links do menu em formato de abas */
.main-navbar .navbar-nav .nav-link {
    padding: 0.55rem 2.1rem;  /* era 0.9rem 2.4rem */
    color: #555555;
    font-weight: 500;
    border-right: 1px solid #f1f1f1;
    border-radius: 0;
}

.main-navbar .navbar-nav .nav-link:first-child {
    border-left: 1px solid #f1f1f1;
}

.main-navbar .navbar-nav .nav-link:hover {
    background-color: #e9f7ef;
    color: #111111;
}

/* Aba ativa em verde */
.main-navbar .navbar-nav .nav-link.active {
    background-color: #13a538;
    color: #ffffff;
}

/* Botão de busca redondinho na direita (de novo aqui para garantir override dentro da main-navbar) */
.header-search-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #13a538;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 12px rgba(0,0,0,0.08);
}

.header-search-icon i {
    font-size: 1.2rem;
}

/* =========================================================
   DROPDOWN DO MENU PRINCIPAL (Bilhetagem / Fale com a Gente)
   ========================================================= */

/* seta do dropdown em verde */
.main-navbar .dropdown-toggle::after {
    border-top-color: #13a538;
    margin-left: 0.3rem;
}

/* container do dropdown */
.main-navbar .dropdown-menu {
    border: 1px solid #dde3ea;
    border-radius: 10px;
    padding: 0.35rem 0;
    background-color: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
    margin-top: 0.55rem;
    min-width: 240px;
}

/* “triângulo” ligando o dropdown ao item do menu */
.main-navbar .dropdown-menu::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 30px;
    border-width: 0 8px 8px 8px;
    border-style: solid;
    border-color: transparent transparent #ffffff transparent;
}

/* itens do dropdown */
.main-navbar .dropdown-item {
    font-size: 0.92rem;
    padding: 0.45rem 1.1rem;
    color: #444444;
}

/* hover dos itens: fundo verde, texto branco */
.main-navbar .dropdown-item:hover,
.main-navbar .dropdown-item:focus {
    background-color: #13a538;
    color: #ffffff;
}

/* divisor suave, caso use <hr class="dropdown-divider"> */
.main-navbar .dropdown-divider {
    margin: 0.25rem 0;
    border-top-color: rgba(0, 0, 0, 0.06);
}

/* ===== DROPDOWNS VERDINHOS DO MENU ===== */

.main-navbar .dropdown-toggle::after {
    border-top-color: #13a538;
    margin-left: 0.3rem;
}

/* Caixa do dropdown */
.main-navbar .dropdown-menu.dropdown-menu-green {
    border: 1px solid #dde3ea;
    border-radius: 10px;
    padding: 0.35rem 0;
    background-color: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
    margin-top: 0.55rem;
    min-width: 240px;
}

/* Triângulo ligando a caixa ao menu */
.main-navbar .dropdown-menu.dropdown-menu-green::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 30px;
    border-width: 0 8px 8px 8px;
    border-style: solid;
    border-color: transparent transparent #ffffff transparent;
}

/* Itens do dropdown */
.main-navbar .dropdown-menu.dropdown-menu-green .dropdown-item {
    font-size: 0.92rem;
    padding: 0.45rem 1.1rem;
    color: #444444;
}

/* Hover verdinho */
.main-navbar .dropdown-menu.dropdown-menu-green .dropdown-item:hover,
.main-navbar .dropdown-menu.dropdown-menu-green .dropdown-item:focus {
    background-color: #13a538;
    color: #ffffff;
}


