/* Estilos de las páginas por cuerpo (auxilio, tramitación, gestión).
   Se apoyan en los tokens de /assets/css/site.css. */
.page-cuerpo main { padding-top: 0; }
.cuerpo-hero { background: var(--navy); color: var(--white); padding: calc(var(--sp-section) + 56px) 0 var(--sp-section); }
.cuerpo-crumbs { font-size: 0.85rem; color: rgba(255,255,255,0.6); margin-bottom: 18px; }
.cuerpo-crumbs a { text-decoration: underline; text-underline-offset: 3px; }
.cuerpo-hero .heading { max-width: 30ch; }
.cuerpo-answer { max-width: 62ch; font-size: 1.08rem; color: rgba(255,255,255,0.85); margin: 8px 0 28px; }
.cuerpo-section { padding: var(--sp-section) 0; }
.cuerpo-section--cream { background: var(--cream); }
.cuerpo-section p { max-width: 70ch; margin-bottom: 16px; }
.cuerpo-section .heading--md { margin: 28px 0 8px; color: var(--navy); }
.cuerpo-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.cuerpo-datos { background: var(--cream); border-left: 3px solid var(--granate); padding: 24px 26px; border-radius: var(--radius); }
.cuerpo-datos__title { font-family: var(--font-head); font-size: 1.35rem; color: var(--navy); margin-bottom: 12px; }
.cuerpo-datos dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.cuerpo-datos dt { color: var(--text-muted); }
.cuerpo-datos dd { font-weight: 600; color: var(--navy); }
.cuerpo-datos__note { font-size: 0.85rem; color: var(--text-muted); margin-top: 14px; }
.cuerpo-datos__note a, .cuerpo-quote a { color: var(--granate); text-decoration: underline; text-underline-offset: 3px; }
.cuerpo-tabla { width: 100%; max-width: 860px; border-collapse: collapse; margin-top: 12px; background: var(--white); }
.cuerpo-tabla th, .cuerpo-tabla td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--border); vertical-align: top; }
.cuerpo-nota { margin-top: 16px; font-size: 0.95rem; color: var(--text-muted); }
.cuerpo-tabla th { width: 190px; color: var(--navy); font-weight: 600; }
.cuerpo-lista { margin: 8px 0 22px; padding-left: 0; }
.cuerpo-lista li { position: relative; padding-left: 22px; margin-bottom: 10px; max-width: 70ch; }
.cuerpo-lista li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 8px; height: 8px; background: var(--granate); border-radius: 50%; }
.cuerpo-quote { margin-top: 28px; padding: 22px 26px; border-left: 3px solid var(--granate); background: var(--granate-pale); max-width: 70ch; }
.cuerpo-quote blockquote { font-family: var(--font-head); font-size: 1.3rem; color: var(--navy); font-style: italic; }
.cuerpo-quote figcaption { margin-top: 8px; font-size: 0.9rem; color: var(--text-muted); }
.cuerpo-faq { max-width: 860px; }
.cuerpo-faq__item { border-bottom: 1px solid var(--border); padding: 4px 0; }
.cuerpo-faq__item:first-child { border-top: 1px solid var(--border); }
.cuerpo-faq__item summary { cursor: pointer; padding: 16px 0; font-weight: 600; color: var(--navy); list-style: none; }
.cuerpo-faq__item summary::-webkit-details-marker { display: none; }
.cuerpo-faq__item summary::after { content: "+"; float: right; color: var(--granate); font-weight: 400; }
.cuerpo-faq__item[open] summary::after { content: "–"; }
.cuerpo-faq__item p { padding-bottom: 16px; }
.cuerpo-cta { text-align: center; }
.cuerpo-cta p { margin-left: auto; margin-right: auto; }
.cuerpo-otros { margin-top: 40px; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; align-items: center; }
.cuerpo-otros p { margin: 0; color: var(--text-muted); }
.cuerpo-otros__link { color: var(--granate); font-weight: 600; }
.sobre-foto { margin: 0; }
.sobre-foto img { width: 100%; height: auto; border-radius: var(--radius); display: block; }
.sobre-foto figcaption { margin-top: 8px; font-size: 0.85rem; color: var(--text-muted); }
.page-cuerpo .footer__inner { flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 820px) {
  .cuerpo-grid { grid-template-columns: 1fr; }
  .cuerpo-tabla th { width: auto; display: block; padding-bottom: 4px; border-bottom: none; }
  .cuerpo-tabla td { display: block; padding-top: 0; }
}

/* Icono de WhatsApp en verde sobre círculo blanco, dentro de los botones */
.btn__wa { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #fff; border-radius: 50%; margin-right: 10px; flex-shrink: 0; vertical-align: middle; }
.btn__wa svg { width: 18px; height: 18px; }
