/* Cuánto el viaje · guías. Van arriba de app.css (mismas letras, colores y botones de la app):
   papel de hoja de ruta, la línea punteada del medio de la ruta y las cuentas en el tablero oscuro. */

.guia { max-width: 680px; margin: 0 auto; padding: calc(16px + env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) calc(40px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
.guia-tope { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; position: relative; }
.guia-tope::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, var(--tinta) 0 22px, transparent 22px 36px); opacity: .85; }
.guia-tope .marca { font-size: 22px; font-weight: 800; letter-spacing: -.015em; color: var(--tinta); text-decoration: none; padding: 8px 0; }
.guia-tope .marca em { font-style: normal; color: var(--acento-texto); }
.guia-tope .abrir { font-weight: 700; color: var(--acento-texto); padding: 12px 2px; text-decoration-thickness: 2px; text-underline-offset: 4px; }

.migas { margin-top: 14px; font-size: 14.5px; color: var(--tinta2); display: flex; flex-wrap: wrap; gap: 0 8px; }
.migas a { color: inherit; padding: 6px 0; }
.migas span { padding: 6px 0; }

.guia article { margin-top: 6px; }
.guia h1 { font-size: clamp(30px, 8.4vw, 44px); font-weight: 800; line-height: 1.05; letter-spacing: -.02em; text-wrap: balance; }
.guia .bajada { font-size: 18px; line-height: 1.5; margin-top: 14px; }
.guia h2 { font-size: 23px; font-weight: 800; line-height: 1.15; margin-top: 40px; padding-top: 18px; scroll-margin-top: 12px; text-wrap: balance; background: repeating-linear-gradient(90deg, var(--acento) 0 22px, transparent 22px 36px) 0 0 / 100% 4px no-repeat; }
.guia h2 .n { font-family: var(--mono); color: var(--acento-texto); margin-right: 6px; }
.guia p, .guia ul, .guia ol { margin-top: 12px; line-height: 1.55; max-width: 62ch; }
.guia ul, .guia ol { padding-left: 22px; }
.guia li + li { margin-top: 6px; }
.guia a { color: var(--tinta); font-weight: 700; text-decoration-color: var(--acento); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.guia b { font-weight: 800; }

.indice { margin-top: 22px; background: var(--tarjeta); border: 1.5px solid var(--linea); border-left: 4px solid var(--acento); border-radius: 0 var(--radio) var(--radio) 0; padding: 14px 16px 12px; }
.indice p { margin: 0; font: 700 12.5px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--tinta2); }
.indice ol { margin-top: 6px; }
.indice li + li { margin-top: 0; }
.indice a { display: inline-block; padding: 6px 0; font-weight: 500; text-decoration-color: var(--linea-fuerte); }

/* la cuenta, en el tablero oscuro */
.formula { margin-top: 14px; background: var(--panel); color: var(--panel-tinta); border-radius: 10px; padding: 14px 16px; font: 600 16.5px/1.5 var(--mono); max-width: 62ch; }
.formula p { margin: 0; }
.formula p + p { margin-top: 6px; }

.tabla-cuenta { margin-top: 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--tarjeta); border: 1.5px solid var(--linea); border-radius: var(--radio); }
.tabla-cuenta table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.tabla-cuenta caption { caption-side: top; text-align: left; padding: 12px 12px 4px; color: var(--tinta2); font-size: 14px; }
.tabla-cuenta th, .tabla-cuenta td { padding: 9px 12px; border-bottom: 1.5px dashed var(--linea); text-align: left; vertical-align: top; }
.tabla-cuenta th { font: 700 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--tinta2); }
.tabla-cuenta td small { display: block; color: var(--tinta2); font-size: 13.5px; }
.tabla-cuenta .plata { text-align: right; white-space: nowrap; font-family: var(--mono); font-weight: 600; font-variant-numeric: tabular-nums; }
.tabla-cuenta tfoot td { border-bottom: 0; border-top: 2px solid var(--tinta); font-weight: 800; }
.tabla-cuenta tfoot .plata { color: var(--acento-texto); font-weight: 700; }
.tabla-cuenta th.plata { text-align: right; }
@media (max-width: 420px) { .tabla-cuenta th, .tabla-cuenta td { padding: 9px 8px; } .tabla-cuenta table { font-size: 15px; } }

/* el resultado, como el cuentakilómetros del tablero */
.resultado { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; background: var(--panel); color: var(--panel-tinta); border-radius: 10px; padding: 14px 16px; }
.resultado span { color: var(--panel-tinta2); font-weight: 600; }
.resultado b { font: 700 30px/1 var(--mono); color: var(--panel-acento); font-variant-numeric: tabular-nums; white-space: nowrap; }

.ejemplo { display: inline-block; font: 700 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--acento-tinta); background: var(--acento); border-radius: 3px; padding: 5px 7px 4px; margin-right: 6px; }

.proba { margin-top: 40px; background: var(--panel); color: var(--panel-tinta); border-radius: 10px; padding: 20px 18px; border-top: 5px solid var(--acento); }
.proba h2 { margin-top: 0; padding-top: 0; background: none; color: var(--panel-tinta); }
.proba p { color: var(--panel-tinta2); }
.proba .btn { margin-top: 16px; width: 100%; text-decoration: none; }

.actualizada { color: var(--tinta2); font-size: 14.5px; margin-top: 30px !important; padding-top: 14px; border-top: 1.5px dashed var(--linea); }
.guia-pie { margin-top: 18px; color: var(--tinta2); font-size: 15px; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.guia-pie a { color: inherit; font-weight: 500; display: inline-block; padding: 10px 0; }
