/* aditivo-patch.css — Solo las clases que faltan en tailwind.min.css existente */
/* NO redefine variables globales ni resetea nada — solo añade */

/* Fondos oscuros específicos */
.dark .dark\:bg-\[\#050507\] { background-color: rgb(5 5 7); }
.dark .dark\:bg-\[\#111114\] { background-color: rgb(17 17 20); }
.bg-\[\#111114\] { background-color: rgb(17 17 20); }

/* Max widths */
.max-w-\[1100px\] { max-width: 1100px; }
.max-w-\[420px\]  { max-width: 420px; }
.min-w-\[140px\]  { min-width: 140px; }

/* Border radius arbitrarios */
.rounded-\[10px\] { border-radius: 10px; }
.rounded-\[12px\] { border-radius: 12px; }
.rounded-\[16px\] { border-radius: 16px; }
.rounded-\[20px\] { border-radius: 20px; }
.rounded-\[24px\] { border-radius: 24px; }
.rounded-\[28px\] { border-radius: 28px; }
.rounded-\[32px\] { border-radius: 32px; }
.rounded-\[36px\] { border-radius: 36px; }
@media (min-width: 768px) {
  .md\:rounded-\[36px\] { border-radius: 36px; }
}

/* Tamaños de texto arbitrarios */
.text-\[10px\]   { font-size: 10px; line-height: 1.4; }
.text-\[11px\]   { font-size: 11px; line-height: 1.4; }
.text-\[12px\]   { font-size: 12px; line-height: 1.5; }
.text-\[13px\]   { font-size: 13px; line-height: 1.5; }
.text-\[14px\]   { font-size: 14px; line-height: 1.5; }
.text-\[14\.5px\]{ font-size: 14.5px; line-height: 1.6; }
.text-\[15px\]   { font-size: 15px; line-height: 1.5; }
.text-\[17px\]   { font-size: 17px; line-height: 1.4; }

/* Min height calc */
.min-h-\[calc\(100vh-140px\)\] { min-height: calc(100vh - 140px); }

/* Z-index alto para modal */
.z-\[9999\] { z-index: 9999; }

/* Opacidades arbitrarias */
.opacity-\[0\.04\] { opacity: 0.04; }
.opacity-\[0\.06\] { opacity: 0.06; }
.dark .dark\:opacity-\[0\.06\] { opacity: 0.06; }

/* Bordes con opacidad arbitraria */
.border-white\/\[0\.04\]  { border-color: rgba(255,255,255,0.04); }
.border-white\/\[0\.05\]  { border-color: rgba(255,255,255,0.05); }
.border-white\/\[0\.06\]  { border-color: rgba(255,255,255,0.06); }
.border-white\/\[0\.07\]  { border-color: rgba(255,255,255,0.07); }
.border-white\/\[0\.08\]  { border-color: rgba(255,255,255,0.08); }
.dark .dark\:border-white\/\[0\.04\] { border-color: rgba(255,255,255,0.04); }
.dark .dark\:border-white\/\[0\.05\] { border-color: rgba(255,255,255,0.05); }
.dark .dark\:border-white\/\[0\.06\] { border-color: rgba(255,255,255,0.06); }
.dark .dark\:border-white\/\[0\.07\] { border-color: rgba(255,255,255,0.07); }
.dark .dark\:border-white\/\[0\.08\] { border-color: rgba(255,255,255,0.08); }

/* Fondos con opacidad arbitraria */
.bg-white\/\[0\.02\]  { background-color: rgba(255,255,255,0.02); }
.bg-white\/\[0\.03\]  { background-color: rgba(255,255,255,0.03); }
.bg-white\/\[0\.05\]  { background-color: rgba(255,255,255,0.05); }
.bg-white\/\[0\.06\]  { background-color: rgba(255,255,255,0.06); }
.dark .dark\:bg-white\/\[0\.02\] { background-color: rgba(255,255,255,0.02); }
.dark .dark\:bg-white\/\[0\.03\] { background-color: rgba(255,255,255,0.03); }
.dark .dark\:bg-white\/\[0\.05\] { background-color: rgba(255,255,255,0.05); }
.dark .dark\:bg-white\/\[0\.06\] { background-color: rgba(255,255,255,0.06); }

/* Hover con opacidad arbitraria */
.hover\:bg-amber-500\/\[0\.04\]:hover       { background-color: rgba(245,158,11,0.04); }
.hover\:bg-white\/\[0\.02\]:hover           { background-color: rgba(255,255,255,0.02); }
.dark .dark\:hover\:bg-amber-500\/\[0\.04\]:hover { background-color: rgba(245,158,11,0.04); }
.dark .dark\:hover\:bg-white\/\[0\.02\]:hover     { background-color: rgba(255,255,255,0.02); }

/* Bordes hover con opacidad */
.dark .dark\:hover\:border-emerald-500\/40:hover { border-color: rgba(16,185,129,0.4); }
.dark .dark\:hover\:border-amber-500\/40:hover   { border-color: rgba(245,158,11,0.4); }

/* Colores dark que pueden faltar */
.dark .dark\:text-slate-600 { color: rgb(71 85 105); }
.dark .dark\:bg-amber-500\/10 { background-color: rgba(245,158,11,0.1); }
.dark .dark\:bg-red-500\/10   { background-color: rgba(239,68,68,0.1); }
.dark .dark\:bg-blue-500\/10  { background-color: rgba(59,130,246,0.1); }
.dark .dark\:bg-emerald-500\/10 { background-color: rgba(16,185,129,0.1); }
.dark .dark\:border-amber-500\/20  { border-color: rgba(245,158,11,0.2); }
.dark .dark\:border-red-500\/20    { border-color: rgba(239,68,68,0.2); }
.dark .dark\:border-blue-500\/20   { border-color: rgba(59,130,246,0.2); }
.dark .dark\:border-emerald-500\/20 { border-color: rgba(16,185,129,0.2); }

/* Backdrop blur para modal */
.backdrop-blur-sm {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* Grid responsive */
@media (min-width: 1024px) {
  .lg\:col-span-2 { grid-column: span 2 / span 2; }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:px-8 { padding-left: 2rem; padding-right: 2rem; }
}
@media (min-width: 640px) {
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 768px) {
  .md\:flex-row     { flex-direction: row; }
  .md\:items-start  { align-items: flex-start; }
  .md\:justify-between { justify-content: space-between; }
  .md\:p-8  { padding: 2rem; }
  .md\:py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .md\:pl-10 { padding-left: 2.5rem; }
  .md\:pr-10 { padding-right: 2.5rem; }
  .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .md\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
}

/* Animación de entrada */
@keyframes smoothEntry {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-smooth-entry {
  animation: smoothEntry 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.animate-smooth-entry.delay-100 { animation-delay: 0.08s; }
.animate-smooth-entry.delay-150 { animation-delay: 0.12s; }
.animate-smooth-entry.delay-200 { animation-delay: 0.16s; }

/* Transiciones de acordeón */
.transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4,0,0.2,1); transition-duration: 0.3s; }

/* Scale para modal */
.scale-95  { transform: scale(0.95); }
.scale-100 { transform: scale(1.00); }

/* ── Fixes móvil del HERO para aditivo.php ── */

/* El código grande (E951) en móvil */
.text-\[5xl\], .text-5xl { font-size: 3rem; line-height: 1; }

/* Flex responsivo en el hero */
@media (max-width: 767px) {
  /* Hero: apilar verticalmente en móvil */
  .md\:flex-row { flex-direction: column; }
  .md\:items-start { align-items: flex-start; }
  
  /* Panel de puntuación: ancho completo en móvil */
  .hero-score-panel { flex-shrink: 1; width: 100%; }
  
  /* Grid del sidebar: mostrar debajo en móvil */
  .lg\:col-span-2 { grid-column: span 1; }
  
  /* Padding reducido en móvil */
  .md\:pl-10 { padding-left: 1.5rem; }
  .md\:pr-10 { padding-right: 1.5rem; }
  .md\:py-10 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}

/* Panel de puntuación en móvil: no ocupar min-width fijo */
@media (max-width: 767px) {
  .min-w-\[140px\] { min-width: unset; width: 100%; }
}