:root {
  --cor-primaria-start: #4a1d9c;
  --cor-primaria-end: #ed20a0;
  --cor-solida-principal: #9933db;
  --cor-fundo: #fff;
  --cor-texto-claro: #ffffff;
  --cor-texto-escuro: #333333;
  --cor-cinza-claro: #f0f0f0;
  --fonte-principal: "Poppins", sans-serif;
}

*, *::before, *::after {
  box-sizing: border-box; 
}
body {
  font-family: var(--fonte-principal);
  margin: 0;
  padding: 0;
  background-color: var(--cor-fundo);
  color: var(--cor-texto-escuro);
  line-height: 1.6;
}

.container {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 15px;
}

.header {
  background-color: var(--cor-fundo);
  padding: 10px 0; 
  border-bottom: 1px solid var(--cor-cinza-claro);
  line-height: normal; 
}
.header .container {
    display: flex;
    align-items: center; 
    padding: 0 15px; 
}
.header .logo {
    margin: 0;
    padding: 0;
}
.header .logo img {
  height: 50px; 
  display: block; 
  margin: 0; 
}

.main-content {
  text-align: center;
  padding: 20px 0; 
}

.cotacao-section {
  background-color: var(--cor-fundo);
  padding: 25px; 
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.titulo-cotacao {
  font-size: 2.5em;
  color: var(--cor-solida-principal);
  margin-bottom: 20px;
  font-weight: 600;
}

.subtitulo-animado {
  font-size: 1.2em;
  color: var(--cor-texto-escuro);
  min-height: 30px;
  margin-bottom: 30px;
}

.form-calculo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin-bottom: 40px;
}
.input-group {
  width: 100%;
  max-width: 300px;
  text-align: left;
}
.input-group label {
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
}
.input-group input[type="number"],
.input-group select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1em;
}

.btn-principal,
.btn-secundario {
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}
.btn-principal {
  background: linear-gradient( to bottom right, var(--cor-primaria-start), var(--cor-primaria-end) );
  color: var(--cor-texto-claro);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.btn-principal:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.25);
}
.btn-secundario {
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: var(--cor-solida-principal);
  color: var(--cor-texto-claro);
  margin-top: 15px;
}
.btn-secundario:hover {
  background-color: #8a2be2;
  transform: translateY(-1px);
}

.resultado {
  margin-top: 20px;
  background-color: var(--cor-cinza-claro);
  padding: 20px;
  border-radius: 10px;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.05);
  text-align: center;
}

.coluna-resultados h2 {
    color: var(--cor-solida-principal);
    margin-bottom: 15px; 
    text-align: center; 
}

.resultado-colunas {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 10px;
    text-align: left;
}

.coluna-resultados {
    flex: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.coluna-propaganda {
    flex: 1;
    display: flex;
    flex-direction: column; 
    gap: 15px;
    align-self: flex-start;
}

.quadro-propaganda {
    background: linear-gradient(to top left, var(--cor-primaria-start), var(--cor-primaria-end));
    color: var(--cor-texto-claro);
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    height: fit-content;
}

.quadro-propaganda h3 { margin-top: 0; font-size: 1.1em; font-weight: 700; }
.quadro-propaganda span { font-weight: 800; font-size: 1.3em; color: #ffd700; }
.quadro-propaganda p { margin: 8px 0; font-size: 0.95em; }
.quadro-propaganda small { font-size: 0.85em; opacity: 0.9; }

.quadro-propaganda.sem-fidelidade {
    background: var(--cor-solida-principal); 
}
.quadro-propaganda.sem-fidelidade h3 {
    color: #ffd700;
}

.quadro-item {
    background-color: var(--cor-fundo);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    text-align: left;
}
.quadro-item h3 { font-size: 0.9em; color: var(--cor-texto-escuro); margin-top: 0; margin-bottom: 5px; font-weight: 600; text-transform: uppercase; }
.valor-economia { font-size: 2.2em; font-weight: 700; color: var(--cor-primaria-start); margin: 0; }
.valor-economia-total { font-size: 2.2em; font-weight: 700; color: var(--cor-primaria-end); margin: 0; }


@media (max-width: 768px) {
    .resultado-colunas { flex-direction: column; }
    .coluna-resultados, .coluna-propaganda { flex: none; width: 100%; margin-bottom: 20px; }
    .quadro-item { width: 100%; margin-bottom: 10px; }    
    .titulo-cotacao { font-size: 1.8em; }
    .valor-economia, .valor-economia-total { font-size: 1.8em; }
    .input-group { max-width: 100%; } 
}