/* Reset global de box-sizing.
 *
 * NO es una regla para acordarse: es un mecanismo que hace imposible el error.
 *
 * Este repo pisó la misma trampa SEIS veces. Un elemento con `width` y `padding` juntos, sin
 * box-sizing, mide más que su contenedor y algo se corre o se sale:
 *
 *   1 · la píldora del nav se corría 2px al pasar el toggle a <button>
 *   2 · los ítems del panel del menú medían 68px en vez de 44
 *   3 · los sliders, lo mismo
 *   4 · la sección de cierre daba 500px de caja en una pantalla de 412
 *   5 · la ventana del chat se pasaba 2px del viewport a 360
 *   6 · el creativo de Top Creatives medía 28px más que su tarjeta y le cortaba el sello
 *
 * Las seis se arreglaron una por una, y la séptima iba a llegar igual. Con el reset, el caso
 * deja de existir: no hay nada que recordar en la revisión siguiente.
 *
 * VA EN LA HOJA PROPIA, NO EN EL EXPORT. El export es el contrato y no se toca; esto es una
 * regla del sistema que vive del lado del repo, como el resto de las hojas.
 *
 * Especificidad (0,0,0), así que CUALQUIER declaración explícita le gana —incluidas las
 * `box-sizing:content-box` inline que el build ya pone donde hacen falta, como el toggle de
 * tema—. El reset es un piso, no un techo.
 *
 * LA RED FUE EL JUEZ: se aplicó y se corrió el diff completo contra producción en los dos temas
 * y en la matriz mobile. Todo lo que se moviera era, por definición, un elemento que dependía de
 * content-box y necesitaba su excepción explícita. El resultado de esa corrida está en NOTAS.
 */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ─────────────────────────────────────────────────────────────────────────────────────────────
 * LAS EXCEPCIONES
 *
 * Cuatro elementos del export dependían de content-box: su medida declarada NO incluía el
 * padding, y el reset se lo metía adentro. El juez los encontró a los cuatro comparando contra
 * producción (tools/diff/reset-impacto.mjs y reset-culpables.mjs); no son una lista adivinada.
 *
 * Cada uno vuelve a content-box con su razón escrita. La regla madre manda: el export es el
 * contrato, y una caja que cambia de medida es un cambio de contrato aunque la haya causado una
 * mejora del sistema. El reset blinda todo lo demás.
 *
 * Los selectores van por el estilo inline SERIALIZADO —con el espacio después de los dos
 * puntos—, que es como el runtime lo escribe en el DOM.
 * ───────────────────────────────────────────────────────────────────────────────────────────── */

/* 1 · Banda del gráfico de la demo. Declara `height: 105px` Y padding vertical: con content-box
 *     mide 127 y con el reset caía a 105. Los 105 son el alto del ÁREA del gráfico, no el de la
 *     caja; el padding es aire alrededor y tiene que sumarse, no comerse el gráfico. A 390 el
 *     mismo elemento pasaba de 60 a 52. */
[style*="height: 105px"][style*="padding-bottom: 30px"] {
  box-sizing: content-box;
}

/* 2 · Barra lateral del panel Scorix ("Inicio · Mis leads · Cargar"). Declara `width: 196px` +
 *     padding 14 por lado + borde: con content-box ocupa 225 y con el reset caía a 196, o sea 29
 *     menos, y el panel entero se recomponía. Los 196 son el ancho de la columna de contenido.
 *     Sólo aparece en desktop: a 390 la barra no se muestra. */
[style*="width: 196px"][style*="border-right: 1px solid var(--border-subtle)"] {
  box-sizing: content-box;
}

/* 3 · Cuerpo del chat del cierre. `min-height: 210px` + `padding: 18px`: con el reset el mínimo
 *     pasaba a incluir el padding y el alto de arranque caía 36px. Ese arranque es justamente lo
 *     que se ajustó en el cambio #12 —"el chat arranca con mucho vacío"—, así que el número está
 *     medido y aprobado. El piso es del área de burbujas, no de la caja. */
[style*="min-height: 210px"][style*="padding: 18px"] {
  box-sizing: content-box;
}

/* 4 · Enlace "¿Preferís WhatsApp? Escribinos". `min-height: 44px` + `padding: 4px 8px`: con el
 *     reset el target táctil quedaba en 44 clavados en vez de 52. 44 sigue cumpliendo el mínimo,
 *     pero el enlace es chico (13px) y va suelto entre otros controles: los 8px extra son el
 *     colchón que separa "lo toqué" de "casi lo toco". Se conserva a propósito. */
[style*="min-height: 44px"][style*="padding: 4px 8px"] {
  box-sizing: content-box;
}

/* 5 · Ítems del menú del panel Scorix ("Cargar leads", "Diagnóstico", "Ads Manager"…). Su padding
 *     es del export (7px 9px) pero el `min-height: 44px` lo pone NUESTRA regla táctil de
 *     responsive.css. Con content-box los dos se suman y el ítem mide 58; con el reset el mínimo
 *     absorbe el padding y cae a 44 clavados.
 *
 *     LOS 58 SE QUEDAN, Y NO POR INERCIA. `min-height: 44px` es un PISO, no un objetivo: 44 es
 *     el mínimo que hay que cumplir, no la medida a la que hay que llegar. 58 le da más
 *     superficie al dedo, que es de lo que se trata el target táctil.
 *
 *     Esto está escrito acá justamente para que nadie lo "corrija" después. Quien mire este
 *     archivo va a ver un elemento que mide 58 donde la regla dice 44 y va a pensar que sobran
 *     14px de un descuido de content-box. No sobran: son decisión tomada (2026-08-03). Si se
 *     saca esta excepción, el ítem cae a 44 clavados y el sitio pierde superficie táctil. */
[style*="padding: 7px 9px"][style*="border-radius: 5px"] {
  box-sizing: content-box;
}

/* 6 · Redondos con borde y medida propia: el punto del gráfico (22px) y los enlaces sociales del
 *     pie (.scp3, 34px). No tienen padding —por eso el primer sondeo, que lo exigía, no los vio—
 *     pero sí `border: 1px`, y bajo content-box el borde se suma: 24 y 36 reales. Con el reset se
 *     comían el borde hacia adentro y perdían 2px de diámetro cada uno. En un círculo esos 2px se
 *     ven: es el que ancla la línea del gráfico y los tres íconos del pie. */
[style*="width: 22px"][style*="height: 22px"],
a.scp3 {
  box-sizing: content-box;
}

/* 7 · Burbujas del chat. `max-width: 78%` + `padding: 11px 14px`: con content-box el 78% limita
 *     el TEXTO y la burbuja termina midiendo 214 a 360px de ancho; con el reset el 78% pasa a
 *     limitar la caja entera, la burbuja se achica a 204 y "Hola 👋 ¿Cómo te llamás?" se parte en
 *     dos líneas —45px de alto pasan a 67—. Sólo aparece a 360: a 390 y 430 todavía entra.
 *
 *     Es exactamente el tipo de defecto que el reset venía a evitar, apareciendo del otro lado.
 *     Confirma que el mecanismo necesita la red del juez y no basta con aplicarlo y confiar. */
[style*="max-width: 78%"][style*="padding: 11px 14px"] {
  box-sizing: content-box;
}

/* NO lleva excepción, a propósito: el input oculto de accesibilidad —`left: -9999px; opacity: 0`,
 * 1×1— también cambia de caja (9×7 → 8×6). Está fuera de pantalla y transparente, así que no hay
 * render que preservar. Anotarlo igual es parte del mecanismo: la lista de excepciones tiene que
 * decir también qué se dejó pasar y por qué, o la próxima revisión no sabe si fue criterio o
 * descuido. */
