/* Tipografía del HTML que carga el hotelero en el editor de la promoción (wizard de `/promotions`).
   Ese editor emite `<p> <strong> <em> <u> <s> <a> <hr>` y listas como `<ul><li><p>…</p></li></ul>`.

   Existe porque `/css/reset.css` —que viaja dentro del blob `/css_3.css` de TODAS las páginas—
   aplana justamente ese HTML: `ol,ul{list-style:none}` más el `margin:0;padding:0` del reset dejan
   las listas sin viñeta ni sangría, los párrafos pegados uno abajo del otro, y `font:inherit` borra
   la itálica de `<i>` y el tamaño de `<h1>…<h6>`. Resultado: el hotelero veía una lista con viñetas
   y negritas en el editor, y en la página un bloque de renglones sueltos.

   La clase NO fija tamaño, color ni ancho de medida: eso lo pone el contenedor de cada superficie
   (14px en la tarjeta de la vidriera, `pug_package_prose` a 16px/65ch en la página del paquete).
   Acá sólo se devuelve la semántica que borró el reset, así que se puede colgar en cualquier
   contenedor sin arrastrar la estética de otro.

   Se carga desde las dos superficies que imprimen la descripción: la página del pug
   (`neo_landingpages/neo_pug/neo_pug_lp.php`) y la tarjeta compartida
   (`includes/neo_pugs/pug_card.php`, que emite el `<link>` una sola vez por request). */

/* --- Bloques --- */

.pug_prose > *:first-child {
  margin-top: 0;
}

.pug_prose p:not(:last-child) {
  margin-bottom: 0.8em;
}

/* La sangría va en `padding` y no en `margin` para que el marcador quede DENTRO de la caja: en la
   tarjeta de la vidriera el contenedor tiene `overflow:auto` y con `margin` las viñetas se comen el
   borde izquierdo. */
.pug_prose ul,
.pug_prose ol {
  padding-left: 1.5em;
  margin: 0 0 0.8em;
}

.pug_prose ul {
  list-style: disc outside;
}

.pug_prose ol {
  list-style: decimal outside;
}

.pug_prose ul ul {
  list-style-type: circle;
}

.pug_prose ul ul ul {
  list-style-type: square;
}

.pug_prose ol ol {
  list-style-type: lower-alpha;
}

.pug_prose ul:last-child,
.pug_prose ol:last-child {
  margin-bottom: 0;
}

.pug_prose li {
  margin-bottom: 0.25em;
}

.pug_prose li:last-child {
  margin-bottom: 0;
}

/* El editor mete un `<p>` dentro de cada `<li>`: como es el último hijo no toma el margen de
   párrafo, pero se deja explícito para que un ítem de dos párrafos no abra un hueco al final. */
.pug_prose li > p:last-child {
  margin-bottom: 0;
}

/* Los títulos vienen del atajo de markdown del editor (`# `, `## `). Sin esto salen del reset con el
   tamaño y el peso del cuerpo, o sea indistinguibles de un párrafo. */
.pug_prose h1,
.pug_prose h2,
.pug_prose h3,
.pug_prose h4,
.pug_prose h5,
.pug_prose h6 {
  font-weight: 700;
  line-height: 1.3;
  margin: 1.2em 0 0.4em;
}

.pug_prose h1 {
  font-size: 1.5em;
}

.pug_prose h2 {
  font-size: 1.3em;
}

.pug_prose h3 {
  font-size: 1.15em;
}

.pug_prose blockquote {
  border-left: 3px solid rgba(0, 0, 0, 0.15);
  padding-left: 12px;
  margin: 0 0 0.8em;
}

/* Separador del editor. El reset no toca `hr`, pero el borde 3D del navegador desentona con el
   resto de la página; se lo baja a una línea fina como la de los otros bloques. */
.pug_prose hr {
  height: 0;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  margin: 1.2em 0;
}

.pug_prose img {
  max-width: 100%;
  height: auto;
}

/* --- Marcas de texto --- */

/* `strong`, `b` y `em` ya los repone el CSS del sitio; `i` no, y las variantes de los editores
   viejos del PMS (`del`, `strike`, `ins`) tampoco están garantizadas. Se declaran todas juntas para
   que el formato no dependa de qué otra hoja de estilos llegó a la página. */
.pug_prose strong,
.pug_prose b {
  font-weight: 700;
}

.pug_prose em,
.pug_prose i {
  font-style: italic;
}

.pug_prose u,
.pug_prose ins {
  text-decoration: underline;
}

.pug_prose s,
.pug_prose del,
.pug_prose strike {
  text-decoration: line-through;
}

.pug_prose a {
  text-decoration: underline;
}
