 /* --- ESTILOS ESPECÍFICOS DO IMC --- */
 :root {
     --cor-primaria: #2563eb;
     --cor-fundo: #f1f5f9;
     --cor-card: #ffffff;
     --cor-texto: #1f2933;
     --cor-texto-suave: #64748b;

     /* Cores de Classificação IMC */
     --imc-azul: #3b82f6;
     /* Abaixo do peso */
     --imc-verde: #16a34a;
     /* Normal */
     --imc-amarelo: #f59e0b;
     /* Sobrepeso */
     --imc-laranja: #f97316;
     /* Obesidade I */
     --imc-vermelho: #ef4444;
     /* Obesidade II/III */
 }

 [data-theme="dark"] {
     --cor-fundo: #0f172a;
     --cor-card: #1e293b;
     --cor-texto: #e2e8f0;
     --cor-texto-suave: #94a3b8;
 }

 body {
     background-color: var(--cor-fundo);
     color: var(--cor-texto);
     /* padding-bottom: 40px; */
 }

 /* Container da Calculadora */
 .calculator-wrapper {
     max-width: 800px;
     margin: 40px auto;
     padding: 0 20px;
 }

 /* Cartão Principal */
 .calc-card {
     background-color: var(--cor-card);
     border-radius: 16px;
     padding: 32px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
     border: 1px solid rgba(0, 0, 0, 0.05);
     margin-bottom: 40px;
 }

 .calc-header {
     text-align: center;
     margin-bottom: 30px;
 }

 .calc-header h2 {
     font-size: 26px;
     margin-bottom: 8px;
     color: var(--cor-texto);
 }

 /* Inputs lado a lado */
 .inputs-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 20px;
     margin-bottom: 24px;
 }

 .input-group label {
     display: block;
     margin-bottom: 8px;
     font-weight: 600;
     color: var(--cor-texto);
     font-size: 14px;
 }

 .input-group input {
     width: 100%;
     padding: 14px;
     border-radius: 8px;
     border: 1px solid #cbd5e1;
     font-size: 16px;
     background-color: var(--cor-fundo);
     color: var(--cor-texto);
     transition: border-color 0.2s;
 }

 .input-group input:focus {
     outline: none;
     border-color: var(--cor-primaria);
     box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
 }

 /* Botão */
 .btn-calc {
     width: 100%;
     padding: 16px;
     border-radius: 8px;
     border: none;
     background-color: var(--cor-primaria);
     color: white;
     font-size: 18px;
     font-weight: bold;
     cursor: pointer;
     transition: background-color 0.2s, transform 0.1s;
 }

 .btn-calc:hover {
     background-color: #1d4ed8;
 }

 .btn-calc:active {
     transform: scale(0.98);
 }

 /* Área de Resultado */
 .result-area {
     display: none;
     /* Escondido inicialmente */
     margin-top: 30px;
     padding-top: 30px;
     border-top: 1px solid #e2e8f0;
     text-align: center;
 }

 .result-card {
     padding: 24px;
     border-radius: 12px;
     background: #f8fafc;
     color: #334155;
     transition: background-color 0.3s, color 0.3s;
 }

 /* Classes de cor dinâmicas para o resultado */
 .result-card.azul {
     background: rgba(59, 130, 246, 0.1);
     color: #1e40af;
 }

 .result-card.verde {
     background: rgba(22, 163, 74, 0.1);
     color: #14532d;
 }

 .result-card.amarelo {
     background: rgba(245, 158, 11, 0.1);
     color: #92400e;
 }

 .result-card.vermelho {
     background: rgba(239, 68, 68, 0.1);
     color: #991b1b;
 }

 .imc-value {
     font-size: 48px;
     font-weight: 800;
     line-height: 1;
     margin-bottom: 8px;
 }

 .imc-label {
     font-size: 20px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 /* Barra de Progresso Visual */
 .gauge-container {
     margin-top: 20px;
     position: relative;
     height: 8px;
     background: #e2e8f0;
     border-radius: 4px;
     overflow: hidden;
 }

 .gauge-fill {
     height: 100%;
     background: #cbd5e1;
     /* Default cinza */
     width: 0%;
     transition: width 1s ease-out, background-color 0.5s;
 }

 /* Texto Informativo */
 .info-content {
     max-width: 800px;
     margin: 0 auto;
     background-color: var(--cor-card);
     border-radius: 16px;
     padding: 36px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
     border: 1px solid rgba(0, 0, 0, 0.05);
 }

 .info-content h2 {
     font-size: 22px;
     color: var(--cor-texto);
     margin-top: 40px;
     margin-bottom: 16px;
     border-left: 4px solid var(--cor-primaria);
     padding-left: 12px;
 }

 .info-content p {
     line-height: 1.7;
     color: var(--cor-texto-suave);
     margin-bottom: 16px;
 }

 /* Tabela de Classificação */
 .imc-table {
     width: 100%;
     border-collapse: collapse;
     margin: 20px 0;
     background: var(--cor-card);
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
 }

 .imc-table th,
 .imc-table td {
     padding: 16px;
     text-align: left;
     border-bottom: 1px solid #f1f5f9;
 }

 .imc-table th {
     background-color: #f8fafc;
     color: var(--cor-texto-suave);
     font-weight: 600;
     font-size: 14px;
     text-transform: uppercase;
 }

 .imc-table td {
     color: var(--cor-texto);
 }

 .imc-table tr:last-child td {
     border-bottom: none;
 }

 /* Indicadores de cor na tabela */
 .color-dot {
     display: inline-block;
     width: 12px;
     height: 12px;
     border-radius: 50%;
     margin-right: 8px;
 }

 @media (max-width: 600px) {
     .inputs-row {
         grid-template-columns: 1fr;
     }

     .calc-card {
         padding: 20px;
     }

     .imc-value {
         font-size: 36px;
     }
 }

 /* Conteúdo Texto */
 .info-content h2 {
     margin-top: 0;
     margin-bottom: 15px;
     color: var(--cor-texto);
     font-size: 1.5rem;
 }

 .info-content p {
     color: var(--cor-texto-suave);
     margin-bottom: 15px;
     font-size: 0.95rem;
 }

 .info-content ul {
     margin-bottom: 20px;
     padding-left: 20px;
     color: var(--cor-texto-suave);
 }

 .info-content li {
     margin-bottom: 8px;
 }

 /* Tabela IMC */
 .imc-table {
     width: 100%;
     border-collapse: collapse;
     margin-top: 20px;
     font-size: 0.9rem;
 }

 .imc-table th,
 .imc-table td {
     padding: 12px;
     text-align: left;
     border-bottom: 1px solid var(--cor-borda);
 }

 .imc-table th {
     background-color: var(--cor-fundo);
     color: var(--cor-texto);
 }

 .color-dot {
     display: inline-block;
     width: 12px;
     height: 12px;
     border-radius: 50%;
     margin-right: 8px;
 }

 /* Links Externos */
 .link-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 15px;
     margin-top: 20px;
 }

 .link-card {
     display: flex;
     align-items: center;
     padding: 15px;
     background: var(--cor-fundo);
     border: 1px solid var(--cor-borda);
     border-radius: 8px;
     text-decoration: none;
     color: var(--cor-texto);
     transition: transform 0.2s, box-shadow 0.2s;
 }

 .link-card:hover {
     transform: translateY(-2px);
     border-color: var(--cor-primaria);
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }

 .link-icon {
     font-size: 24px;
     margin-right: 15px;
     color: var(--cor-primaria);
 }

 .link-title {
     font-weight: 600;
     font-size: 1rem;
     line-height: 1.4;
 }

 .link-desc {
     font-size: 0.85rem;
     color: var(--cor-texto-suave);
 }