/* Las preguntas que se abren al tocarlas, arriba de los presupuestos.
   Las usan las páginas por destino. Mismo gesto que los presupuestos de abajo. */

  .dst-info { max-width: 780px; margin: 0 auto 2rem; padding: 0 1.2rem; }
  .dst-info details { border: 1px solid var(--warm); border-radius: 1.1rem; background: #fff;
                      margin-bottom: .6rem; overflow: hidden; transition: border-color .2s; }
  .dst-info details[open] { border-color: var(--sky-mid); }
  .dst-info summary { list-style: none; cursor: pointer; padding: .95rem 2.6rem .95rem 1.1rem;
                      font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--text);
                      position: relative; }
  .dst-info summary::-webkit-details-marker { display: none; }
  .dst-info summary::after { content: '+'; position: absolute; right: 1.1rem; top: .8rem;
                             font-size: 1.3rem; color: var(--sky-soft); line-height: 1; }
  .dst-info details[open] summary::after { content: '–'; }
  .dst-info details > div { padding: 0 1.1rem 1.1rem; }
  .dst-info p { font-size: .92rem; line-height: 1.7; color: var(--text-mid); margin-bottom: .8rem; }
  .dst-info p:last-child { margin-bottom: 0; }
  .dst-info b { color: var(--text); font-weight: 600; }
  .dst-destinos { list-style: none; }
  .dst-destinos li { position: relative; padding-left: 1.6rem; margin-bottom: .8rem;
                     font-size: .92rem; line-height: 1.7; color: var(--text-mid); }
  .dst-destinos li:last-child { margin-bottom: 0; }
  .dst-destinos li::before { content: ''; position: absolute; left: 0; top: .6rem;
                             width: .5rem; height: .5rem; border-radius: 50%;
                             background: var(--sky-soft); }

    /* ── El catálogo de rutas ── */
    .cru-wrap { max-width: 860px; margin: 0 auto 2.5rem; padding: 0 1.2rem; }
    .cru { display: flex; align-items: center; gap: .8rem; background: #fff;
           border: 1px solid var(--warm); border-radius: .9rem; padding: .7rem .9rem;
           margin-bottom: .5rem; }
    .cru-emoji { font-size: 1.5rem; line-height: 1; flex: 0 0 auto; }
    .cru-txt { flex: 1 1 auto; min-width: 0; }
    .cru-dest { display: block; font-weight: 600; font-size: .95rem; color: var(--text); }
    .cru-tema { font-weight: 400; font-size: .76rem; color: var(--text-soft); }
    .cru-sub { display: block; font-size: .8rem; color: var(--text-soft); margin-top: .1rem; }
    .cru-nota { display: block; font-size: .76rem; color: var(--text-soft);
                font-style: italic; margin-top: .15rem; }
    .cru-cta { flex: 0 0 auto; background: var(--sky-soft); color: #fff; text-decoration: none;
               font-size: .78rem; font-weight: 600; padding: .5rem .8rem; border-radius: 2rem;
               white-space: nowrap; }
    .cru-pie { text-align: center; font-size: .78rem; color: var(--text-soft);
               font-style: italic; margin-top: 1.2rem; }
    /* En el celular el boton se queda al costado, no abajo: a lo ancho cada
       tarjeta medía 150 px y son 46, casi 7.000 px de lista. */
    @media (max-width: 520px) {
      .cru { gap: .6rem; padding: .6rem .7rem; }
      .cru-dest { font-size: .9rem; }
      .cru-sub { font-size: .75rem; }
      .cru-cta { font-size: .72rem; padding: .45rem .65rem; }
    }

    .cru-mas { margin-top: .4rem; }
    .cru-mas summary { list-style: none; cursor: pointer; font-size: .8rem;
                       color: var(--sky-soft); font-weight: 600; padding: .4rem 0; }
    .cru-mas summary::-webkit-details-marker { display: none; }
    .cru-mas summary::after { content: ' +'; }
    .cru-mas[open] summary::after { content: ' –'; }

    .cru-sal { display: block; font-size: .76rem; color: var(--sky-soft);
               font-weight: 600; margin-top: .15rem; }

    .pr-cuenta a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor;
                   padding-bottom: 1px; }
    /* El cartel que invita a elegir un destino, mientras no se eligio ninguno */
    .cru-elegi { text-align: center; color: var(--text-soft); font-style: italic;
                 padding: 1.4rem 1rem; margin: 0; }
