/* ============================================================
   Estilos para las páginas de texto:
   envíos, garantía, términos y privacidad.
   ============================================================ */

.pagina-texto { max-width: 780px; margin-inline: auto; }

.pagina-texto h1 {
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  margin-bottom: 10px;
}

.pagina-texto .entradilla {
  color: var(--texto-suave);
  font-size: 1.05rem;
  margin-bottom: 34px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--borde);
}

.pagina-texto h2 {
  font-size: clamp(1.25rem, 3vw, 1.6rem);
  margin: 44px 0 14px;
  scroll-margin-top: calc(var(--nav-h) + 20px);
}

.pagina-texto h3 {
  font-size: 1.05rem;
  margin: 26px 0 10px;
  color: var(--texto);
}

.pagina-texto p,
.pagina-texto li {
  color: var(--texto-suave);
  line-height: 1.75;
}

.pagina-texto b, .pagina-texto strong { color: var(--texto); }

.pagina-texto ul, .pagina-texto ol {
  padding-left: 22px;
  display: grid;
  gap: 9px;
  margin: 0 0 18px;
}

.pagina-texto a:not(.btn) {
  color: var(--acento-claro);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Índice de contenidos */
.indice {
  background: var(--superficie);
  border: 1px solid var(--borde);
  border-radius: var(--r);
  padding: 20px 24px;
  margin-bottom: 34px;
}
.indice h2 {
  font-size: .78rem !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--texto-tenue);
  margin: 0 0 12px !important;
}
.indice ol { margin: 0; padding-left: 20px; gap: 7px; }
.indice a { color: var(--texto-suave) !important; text-decoration: none !important; }
.indice a:hover { color: var(--texto) !important; text-decoration: underline !important; }

/* Caja destacada */
.destacado {
  background: var(--velo-acento);
  border: 1px solid var(--acento-claro);
  border-left-width: 3px;
  border-left-color: var(--acento);
  border-radius: var(--r-sm);
  padding: 18px 20px;
  margin: 22px 0;
}
.destacado p:last-child { margin-bottom: 0; }
.destacado.aviso {
  background: var(--velo-alerta);
  border-color: var(--alerta);
}
.destacado.bien {
  background: var(--velo-exito);
  border-color: var(--exito);
}

/* Tabla de contenido */
.tabla-info {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
  margin: 20px 0;
  display: block;
  overflow-x: auto;
  white-space: nowrap;
}
@media (min-width: 700px) {
  .tabla-info { display: table; white-space: normal; }
}
.tabla-info th, .tabla-info td {
  padding: 13px 16px;
  text-align: left;
  border-bottom: 1px solid var(--borde);
}
.tabla-info thead th {
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--texto-tenue);
  border-bottom-color: var(--borde-fuerte);
}
.tabla-info td { color: var(--texto-suave); }
.tabla-info tbody tr:last-child td { border-bottom: none; }
.tabla-info td strong { color: var(--texto); }

/* Preguntas frecuentes */
.faq {
  border: 1px solid var(--borde);
  border-radius: var(--r-sm);
  background: var(--superficie);
  margin-bottom: 10px;
  overflow: hidden;
}
.faq summary {
  padding: 17px 20px;
  cursor: pointer;
  font-weight: 600;
  color: var(--texto);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  transition: background var(--rapido);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { background: var(--superficie-2); }
.faq summary::after {
  content: '+';
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--texto-tenue);
  flex-shrink: 0;
  transition: transform var(--normal);
}
.faq[open] summary::after { transform: rotate(45deg); }
.faq .cuerpo-faq {
  padding: 0 20px 18px;
  color: var(--texto-suave);
  font-size: .93rem;
  line-height: 1.7;
}
.faq .cuerpo-faq p:last-child { margin-bottom: 0; }

.fecha-actualizacion {
  font-size: .84rem;
  color: var(--texto-tenue);
  margin-top: 46px;
  padding-top: 22px;
  border-top: 1px solid var(--borde);
}
