/* Tema: Elegância Automotiva */
:root{
  --carbon-black:#0D0D0D;
  --metal-gray:#9E9E9E;
  --ice-white:#F5F5F5;
  --muted-gold:#C9A227;
  --surface-dark:#121212;
  --surface-border:#1e1e1e;
}

/* Base */
html, body{
  background:var(--carbon-black);
  color:var(--ice-white);
}

a{ color:var(--metal-gray); }
a:hover, a:focus{ color:var(--muted-gold); text-decoration:none; }

/* Navbar / Header */
/* Nav global transparente com textos pretos em todas as páginas */
nav, .navbar, .navbar-default, .top_header, .main-header{
  background: transparent !important;
}
.navbar a, .navbar-brand, .navbar-nav>li>a, nav a{ color:#fff !important; font-weight:700 !important; }

/* Cards / Panels */
.card, .panel, .well, .box{
  background:var(--surface-dark) !important;
  border:1px solid var(--surface-border) !important;
  color:var(--ice-white) !important;
}
.card-title, .panel-title, h1,h2,h3,h4,h5{ color:var(--ice-white); }

/* Tables */
.table{ color:var(--ice-white); }
.table thead{ background:var(--carbon-black); color:var(--ice-white); }
.table tbody tr:hover{ background:var(--surface-dark); }

/* Forms */
input, select, textarea{
  background:var(--surface-dark) !important;
  border:1px solid var(--surface-border) !important;
  color:var(--ice-white) !important;
}
::placeholder{ color:var(--metal-gray); }

/* Buttons */
.btn-primary{
  background:var(--muted-gold) !important;
  border-color:var(--muted-gold) !important;
  color:var(--carbon-black) !important;
}
.btn-primary:hover, .btn-primary:focus{ filter:brightness(1.05); }

.btn-secondary, .btn-default{
  background:var(--metal-gray) !important;
  border-color:var(--metal-gray) !important;
  color:var(--carbon-black) !important;
}
.btn-link{ color:var(--metal-gray) !important; }

/* Badges / Labels */
.label, .badge{ background:var(--surface-dark); color:var(--ice-white); border:1px solid var(--surface-border); }

/* Footer */
footer{ background:var(--carbon-black); color:var(--metal-gray); border-top:1px solid var(--surface-border); }

/* Toasts / Alerts */
.alert{ background:var(--surface-dark); color:var(--ice-white); border-color:var(--surface-border); }
.alert-info{ border-left:3px solid var(--metal-gray); }
.alert-success{ border-left:3px solid #2ca54e; }
.alert-warning{ border-left:3px solid var(--muted-gold); }
.alert-danger{ border-left:3px solid #c0392b; }

/* Highlights sutis em dourado */
.hr-gold, .divider-gold{ border-top:1px solid rgba(201,162,39,0.25); }
.icon-gold{ color:var(--muted-gold) !important; }

/* Optional: dropdown menus */
.dropdown-menu{
  background:var(--surface-dark);
  border:1px solid var(--surface-border);
  color:var(--ice-white);
}
.dropdown-menu>li>a{ color:#000000 !important; }
.dropdown-menu>li>a:hover{ background:transparent !important; color:#000000 !important; }

/* Ajustes página de Agendamentos para seguir a paleta */
.footer_section{ background: var(--carbon-black) !important; color: var(--ice-white) !important; }
.footer_section .footer_content{ color: var(--ice-white) !important; }
.footer_section .footer_form .form-control{ background: #111 !important; border-color: #2a2a2a !important; color: var(--ice-white) !important; }
.footer_section .footer_form .form-control::placeholder{ color: var(--metal-gray) !important; }
.footer_section .footer_form .sel2{ background: #111 !important; color: var(--ice-white) !important; }
.footer_section .footer_form .botao-verde,
.footer_section .footer_form .botao-azul,
.footer_section .footer_form button[type="submit"],
.footer_section .footer_form button#botao_excluir{
  background: var(--muted-gold) !important;
  border-color: var(--muted-gold) !important;
  color: var(--carbon-black) !important;
}
.footer_section .footer_form .botao-verde:hover,
.footer_section .footer_form .botao-azul:hover,
.footer_section .footer_form button[type="submit"]:hover,
.footer_section .footer_form button#botao_excluir:hover{
  filter: brightness(1.05);
}
/* Ajustes textos auxiliares/toasts */
#toast-container .toast-msg{ background: #222 !important; color: var(--ice-white) !important; }

/* Garante que o banner principal (hero) apareça por trás do cabeçalho */
.hero_area .hero_bg_box{ z-index: 0 !important; }

/* Texto branco para divs profundamente aninhadas em containers */
.container div div div{ color: var(--ice-white) !important; }
/* Container "cadastre-se": labels e inputs com fundo cinza chumbo e texto branco */
.cadastre-se label{ color: var(--ice-white) !important; }
.cadastre-se input{ background:#2a2a2a !important; border-color:#3a3a3a !important; color: var(--ice-white) !important; }
/* Agenda: labels e selects também escuros e brancos */
.footer_section .footer_form label{ color: var(--ice-white) !important; }
.footer_section .footer_form select{ background:#111 !important; border-color:#2a2a2a !important; color: var(--ice-white) !important; }
/* Serviços: container fundo preto e textos brancos */
.product_section .container-fluid{ background:#000 !important; }
.product_section .row{ background:#000 !important; }
.product_section .box{ color:#fff !important; }
.product_section .box .detail-box h4{ color:#fff !important; }
.product_section .box .detail-box p{ color:#fff !important; }
/* Home: títulos h5 em branco */
.slider_section .detail-box h5,
.product_section .heading_container h5,
.product_section .box .detail-box h5,
.heading_container h5{ color: var(--ice-white) !important; }
/* Agendamentos: ícone do calendário branco no input de data */
.footer_section .footer_form input[type="date"]::-webkit-calendar-picker-indicator{
  filter: invert(1) brightness(2);
  opacity: 1;
}
/* Agendamentos: override para botões com pastel e maior especificidade */
.footer_section .footer_form button[type="submit"].botao-verde{
  background:#a8e6cf !important; border-color:#a8e6cf !important; color:#000 !important;
}
.footer_section .footer_form .botao-verde:hover{ filter:brightness(1.03); }

.footer_section .footer_form button#botao_excluir{
  background:#f28b82 !important; border-color:#f28b82 !important; color:#fff !important;
}
.footer_section .footer_form button#botao_excluir:hover{ filter:brightness(1.04); }

/* Spans de seleção iguais às labels */
.footer_section .footer_form span{ color: var(--ice-white) !important; font-weight: 600; }

/* Select de modelo: manter texto e opções brancas no fundo escuro */
.footer_section .footer_form select option{ color: var(--ice-white) !important; background:#111 !important; }

/* Inputs preenchidos: fundo preto e texto branco */
.footer_section .footer_form input:focus,
.footer_section .footer_form input:not(:placeholder-shown){
  background:#000 !important; color:#fff !important; border-color:#333 !important;
}
.footer_section .footer_form input::placeholder{ color:#bdbdbd !important; }
/* Autofill webkit */
.footer_section .footer_form input:-webkit-autofill{
  -webkit-text-fill-color:#fff !important;
  transition: background-color 5000s ease-in-out 0s;
}
/* Parceiros: títulos h5 em branco */
.product_section .box .detail-box h5{ color: var(--ice-white) !important; }
/* Serviços: texto branco em divs aninhados */
.product_section .row div div div{ color:#fff !important; }
.product_section .box .detail-box div{ color:#fff !important; }
/* Botões da página de agendamentos: garantir texto preto e negrito genericamente */
.footer_section .footer_form button,
.footer_section .footer_form .btn{
  color:#000 !important;
  font-weight:700 !important;
}
.footer_section .footer_form .botao-verde,
.footer_section .footer_form button[type="submit"].botao-verde{
  background:#666666 !important; border-color:#666666 !important; color:#ffffff !important; font-weight:700 !important;
}
.footer_section .footer_form .botao-verde:hover,
.footer_section .footer_form button[type="submit"].botao-verde:hover{ filter:brightness(1.05); }

.footer_section .footer_form .botao-azul,
.footer_section .footer_form #botao_editar{
  background:#4D4D4D !important; border-color:#4D4D4D !important; color:#ffffff !important; font-weight:700 !important;
}
.footer_section .footer_form .botao-azul:hover,
.footer_section .footer_form #botao_editar:hover{ filter:brightness(1.05); }

.footer_section .footer_form #botao_excluir{
  background:#333333 !important; border-color:#333333 !important; color:#ffffff !important; font-weight:700 !important;
}
.footer_section .footer_form #botao_excluir:hover{ filter:brightness(1.05); }
/* Labels do formulário de agendamento: padrão fundo preto e texto branco */
.footer_section .footer_form label,
.footer_section .footer_form .control-label,
.footer_section .footer_form div label{
  background:#000 !important;
  color:#fff !important;
  display:inline-block;
  padding:4px 8px;
  border-radius:4px;
  font-weight:600 !important;
}
.footer_section .footer_form div span{ 
  background:#000 !important; 
  color:#fff !important; 
  display:inline-block; 
  padding:4px 8px; 
  border-radius:4px; 
  font-weight:600 !important; 
}

/* Select de modelo: manter texto e opções brancas no fundo escuro */
.footer_section .footer_form select option{ color: var(--ice-white) !important; background:#111 !important; }

/* Inputs preenchidos: fundo preto e texto branco */
.footer_section .footer_form input:focus,
.footer_section .footer_form input:not(:placeholder-shown){
  background:#000 !important; color:#fff !important; border-color:#333 !important;
}
.footer_section .footer_form input::placeholder{ color:#bdbdbd !important; }
/* Autofill webkit */
.footer_section .footer_form input:-webkit-autofill{
  -webkit-text-fill-color:#fff !important;
  transition: background-color 5000s ease-in-out 0s;
}
/* Parceiros: títulos h5 em branco */
.product_section .box .detail-box h5{ color: var(--ice-white) !important; }
/* Serviços: texto branco em divs aninhados */
.product_section .row div div div{ color:#fff !important; }
.product_section .box .detail-box div{ color:#fff !important; }
/* Select2: highlight e selecionado em preto */
.footer_section .footer_form .select2-container--default .select2-results__option--highlighted,
.footer_section .footer_form .select2-container--default .select2-results__option[aria-selected="true"]{
  background:#000 !important;
  color:#fff !important;
}
/* Placeholder da seleção também em branco */
.footer_section .footer_form .select2-container--default .select2-selection--single .select2-selection__placeholder{
  color:#fff !important;
}
.footer_section .footer_form .select2-container--default .select2-selection--single{
  background:#000 !important;
  border-color:#333 !important;
}
.footer_section .footer_form .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#fff !important;
}
.footer_section .footer_form .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#fff transparent transparent transparent !important;
}
/* Select2 dropdown */
.footer_section .footer_form .select2-container .select2-dropdown{
  background:#111 !important;
  border-color:#333 !important;
}
.footer_section .footer_form .select2-results__option{
  color:#fff !important;
}
.product_section .row div div div{ color:#fff !important; }
.product_section .box .detail-box div{ color:#fff !important; }

/* Global Select2 (pública): barra de seleção, placeholder e texto */
.select2-container--default .select2-selection--single{
  background:#000 !important;
  border-color:#333 !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{
  color:#fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#fff transparent transparent transparent !important;
}
/* Global Select2 dropdown (pública) */
.select2-container .select2-dropdown{
  background:#111 !important;
  border-color:#333 !important;
}
.select2-results__option{ color:#fff !important; }
.select2-results__option--highlighted,
.select2-results__option[aria-selected="true"]{
  background:#000 !important;
  color:#fff !important;
}
.modal-content,
.modal-content .modal-header,
.modal-content .modal-body,
.modal-content .modal-footer,
.modal-content h5,
.modal-content .modal-title,
.modal-content p,
.modal-content span,
.modal-content label,
.modal-content small,
.modal-content .close,
.modal-content .close span {
  color:#000000 !important;
  background:#ffffff !important;
}
/* Forçar títulos e mensagens do bloco de cadastro dentro do modal em preto */
#cadastro-agendamento h4,
#cadastro-agendamento small {
  color:#000000 !important;
}