/*!
 * club_pages — páginas institucionales (El Club, Membresías, Certificación,
 * Garantía, Contacto y documentos legales). Usa los tokens y componentes de
 * club_core/assets/club.css; aquí sólo va lo propio de estas páginas.
 */

/* ------------------------------------------------------------ comunes */
.cp-page .club-section__head { margin-bottom: var(--club-space-8); }
.cp-page .club-section__head .club-lead { margin-bottom: 0; }
.cp-h3 { font-size: var(--club-fs-lg); margin-bottom: var(--club-space-3) !important; }
.cp-narrow { max-width: var(--club-container-narrow); }
.cp-small { font-size: var(--club-fs-sm); color: var(--club-text-muted); margin-top: var(--club-space-5); }
.cp-muted { color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.cp-link { display: inline-flex; align-items: center; gap: .35rem; font-weight: 600; }
.cp-link .club-icon { width: 1em; height: 1em; transition: transform .15s var(--club-ease); }
.cp-link:hover .club-icon { transform: translateX(3px); }
.cp-link--sm { font-size: var(--club-fs-sm); }
.cp-card { background: #fff; border: 1px solid var(--club-border); border-radius: var(--club-radius-lg); padding: var(--club-space-6); box-shadow: var(--club-shadow-xs); }
.cp-section--tight { padding: var(--club-space-8) 0; }
.cp-page [hidden] { display: none !important; }

/* ------------------------------------------------------------ hero */
.cp-hero h1 { margin-bottom: var(--club-space-4); }
.cp-hero__inner { display: grid; gap: var(--club-space-8); align-items: center; }
.cp-hero__actions { margin-top: var(--club-space-7); }
.cp-hero__actions .club-btn { flex: 1 1 auto; }
@media (min-width: 560px) { .cp-hero__actions .club-btn { flex: 0 0 auto; } }
.cp-hero__meta { display: inline-flex; align-items: center; gap: var(--club-space-2); margin: var(--club-space-5) 0 0; font-size: var(--club-fs-sm); color: var(--club-text-muted); }
.club-page-hero:not(.club-page-hero--light) .cp-hero__meta { color: #9fb0c8; }
@media (min-width: 960px) {
  .cp-hero--split .cp-hero__inner { grid-template-columns: minmax(0, 1fr) 320px; }
}
.cp-hero__aside { display: none; }
@media (min-width: 960px) { .cp-hero__aside { display: block; } }

/* Sello ilustrativo (certificación) */
.cp-seal { display: grid; place-items: center; }
.cp-seal__ring {
  position: relative; width: 260px; height: 260px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  background: radial-gradient(circle at 30% 25%, #2a3a57, var(--club-ink-2) 70%);
  border: 2px solid rgba(214, 177, 99, .55);
  box-shadow: 0 0 0 10px rgba(180, 135, 47, .12), 0 0 0 11px rgba(214, 177, 99, .35), var(--club-shadow-lg);
}
.cp-seal__ring::before { content: ""; position: absolute; inset: 14px; border-radius: 50%; border: 1px dashed rgba(214, 177, 99, .45); }
.cp-seal__icon { width: 72px !important; height: 72px !important; color: #e3c27a; margin-bottom: var(--club-space-3); }
.cp-seal__label { color: #fff; font-weight: 700; font-size: var(--club-fs-md); letter-spacing: -.01em; }
.cp-seal__sub { color: #d6b163; font-size: var(--club-fs-xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-top: var(--club-space-1); }

/* ------------------------------------------------------------ disposición */
.cp-split { display: grid; gap: var(--club-space-8); }
@media (min-width: 960px) {
  .cp-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--club-space-10); }
  .cp-split--center { align-items: center; }
  .cp-split--top { align-items: start; }
}

/* ------------------------------------------------------------ El Club */
.cp-mv { display: grid; gap: var(--club-space-5); }
.cp-mv__card { padding: var(--club-space-6); border-radius: var(--club-radius-lg); background: var(--club-bg-soft); border: 1px solid var(--club-border); }
.cp-mv__card p { margin: 0; color: var(--club-text-muted); }
.cp-mv__icon, .cp-track__icon, .cp-value__icon, .cp-tool__icon, .cp-pillar__icon, .cp-info__icon, .cp-verify__icon {
  display: inline-grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 12px;
  background: var(--club-cyan-50); color: var(--club-primary); margin-bottom: var(--club-space-4);
}
.cp-mv__icon .club-icon, .cp-track__icon .club-icon, .cp-value__icon .club-icon, .cp-tool__icon .club-icon, .cp-pillar__icon .club-icon { width: 22px; height: 22px; }

.cp-tracks { display: grid; gap: var(--club-space-5); }
@media (min-width: 900px) { .cp-tracks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-track { display: flex; flex-direction: column; padding: var(--club-space-7) var(--club-space-6); background: #fff; border: 1px solid var(--club-border); border-top: 3px solid var(--club-accent); border-radius: var(--club-radius-lg); box-shadow: var(--club-shadow-xs); }
.cp-track p { color: var(--club-text-muted); flex: 1; }
.cp-track--gold { border-top-color: var(--club-gold); }
.cp-track--gold .cp-track__icon { background: var(--club-gold-50); color: var(--club-gold-600); }
.cp-track--muted { border-top-color: var(--club-gray-300); }
.cp-track--muted .cp-track__icon { background: var(--club-gray-100); color: var(--club-gray-600); }

.cp-values { display: grid; gap: var(--club-space-6) var(--club-space-7); grid-template-columns: 1fr; }
@media (min-width: 640px) { .cp-values { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .cp-values { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-value__title { font-size: var(--club-fs-md) !important; margin-bottom: var(--club-space-2) !important; }
.cp-value p { color: var(--club-text-muted); margin: 0; }

.cp-tools { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-4); }
@media (min-width: 640px) { .cp-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .cp-tools { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-tool { display: flex; gap: var(--club-space-4); padding: var(--club-space-5); background: #fff; border: 1px solid var(--club-border); border-radius: var(--club-radius-lg); }
@media (min-width: 1024px) { .cp-tool { flex-direction: column; gap: 0; } }
.cp-tool__icon { margin-bottom: 0; }
@media (min-width: 1024px) { .cp-tool__icon { margin-bottom: var(--club-space-4); } }
.cp-tool__title { font-size: var(--club-fs-base) !important; margin-bottom: var(--club-space-1) !important; }
.cp-tool__title a { color: var(--club-heading); }
.cp-tool p { font-size: var(--club-fs-sm); color: var(--club-text-muted); margin: 0; }

.cp-ethics { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-3); }
@media (min-width: 560px) { .cp-ethics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cp-ethics li { display: flex; align-items: center; gap: var(--club-space-3); padding: var(--club-space-4) var(--club-space-5); border: 1px solid var(--club-border); border-radius: var(--club-radius-md); background: var(--club-bg-soft); font-weight: 600; }
.cp-ethics li .club-icon { color: var(--club-primary); }
.cp-ethics a { color: var(--club-heading); }

/* ------------------------------------------------------------ Membresías */
.cp-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--club-space-5); margin-bottom: var(--club-space-8); }
.cp-head-row h2 { margin-bottom: 0; }
.cp-period { display: inline-flex; padding: 4px; border-radius: var(--club-radius-pill); background: var(--club-gray-100); border: 1px solid var(--club-border); }
.cp-period__btn { min-height: 40px; padding: 0 1.1rem; border: 0; border-radius: var(--club-radius-pill); background: none; font: 600 var(--club-fs-sm)/1 var(--club-font); color: var(--club-text-muted); cursor: pointer; }
.cp-period__btn.is-active { background: #fff; color: var(--club-heading); box-shadow: var(--club-shadow-sm); }

.cp-plans { display: grid; gap: var(--club-space-6); align-items: stretch; }
@media (min-width: 720px) { .cp-plans--2, .cp-plans--3, .cp-plans--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .cp-plans--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cp-plans--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-plan { position: relative; display: flex; flex-direction: column; padding: var(--club-space-7) var(--club-space-6) var(--club-space-6); background: #fff; border: 1px solid var(--club-border); border-radius: var(--club-radius-xl); box-shadow: var(--club-shadow-xs); }
.cp-plan--featured { border: 2px solid var(--club-primary); box-shadow: var(--club-shadow-md); }
.cp-plan--provider { background: linear-gradient(180deg, var(--club-gold-50), #fff 38%); border-color: #ead7a8; }
.cp-plan__flag { position: absolute; top: -13px; left: var(--club-space-6); padding: .3rem .75rem; border-radius: var(--club-radius-pill); background: var(--club-primary); color: #fff; font-size: var(--club-fs-xs); font-weight: 700; letter-spacing: .04em; }
.cp-plan__type { display: inline-flex; align-items: center; gap: var(--club-space-2); margin: 0 0 var(--club-space-3); font-size: var(--club-fs-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--club-primary); }
.cp-plan--provider .cp-plan__type { color: var(--club-gold-600); }
.cp-plan__name { font-size: var(--club-fs-xl) !important; margin-bottom: var(--club-space-3) !important; }
.cp-plan__desc { color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.cp-plan__price { padding: var(--club-space-4) 0 var(--club-space-5); margin-bottom: var(--club-space-5); border-bottom: 1px solid var(--club-border); }
.cp-price { margin: 0; font-size: var(--club-fs-xl); font-weight: 700; color: var(--club-heading); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.cp-price--ask { font-size: var(--club-fs-lg); }
.cp-save { display: inline-block; margin-left: var(--club-space-2); padding: .15rem .5rem; border-radius: var(--club-radius-pill); background: var(--club-success-bg); color: var(--club-success); font-size: var(--club-fs-xs); font-weight: 700; letter-spacing: 0; vertical-align: middle; }
.cp-plan__note, .cp-plan__trial { margin: var(--club-space-2) 0 0; font-size: var(--club-fs-sm); color: var(--club-text-muted); }
.cp-plan__benefits { list-style: none; margin: 0 0 var(--club-space-6); padding: 0; display: grid; gap: var(--club-space-3); flex: 1; font-size: var(--club-fs-sm); }
.cp-plan__benefits li { display: flex; gap: var(--club-space-3); align-items: flex-start; }
.cp-plan__benefits .club-icon { color: var(--club-primary); margin-top: 1px; }
.cp-plan--provider .cp-plan__benefits .club-icon { color: var(--club-gold-600); }
.cp-plan__cta { display: grid; gap: var(--club-space-3); justify-items: center; }
.cp-fineprint { margin: var(--club-space-6) 0 0; font-size: var(--club-fs-sm); color: var(--club-text-muted); text-align: center; }

.cp-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--club-border); border-radius: var(--club-radius-lg); background: #fff; box-shadow: var(--club-shadow-xs); }
.cp-compare { width: 100%; border-collapse: collapse; font-size: var(--club-fs-sm); }
.cp-compare th, .cp-compare td { padding: .9rem .75rem; border-bottom: 1px solid var(--club-border); text-align: center; vertical-align: middle; }
.cp-compare tbody tr:last-child th, .cp-compare tbody tr:last-child td { border-bottom: 0; }
.cp-compare tbody th { text-align: left; font-weight: 500; color: var(--club-heading); }
.cp-compare thead th { background: var(--club-gray-25); font-size: var(--club-fs-sm); color: var(--club-heading); }
.cp-compare__h { display: inline-flex; flex-direction: column; align-items: center; gap: var(--club-space-1); font-weight: 700; }
.cp-compare__h .club-icon { color: var(--club-primary); }
.cp-compare__gold .cp-compare__h .club-icon { color: var(--club-gold-600); }
td.cp-compare__gold, th.cp-compare__gold { background: rgba(251, 245, 231, .55); }
.cp-compare small { display: block; margin-top: 2px; font-size: var(--club-fs-xs); color: var(--club-text-muted); line-height: 1.35; }
.cp-yes { color: var(--club-success); width: 22px !important; height: 22px !important; }
.cp-compare tbody th { width: 46%; }
@media (max-width: 767px) {
  .cp-compare { font-size: .8125rem; }
  .cp-compare th, .cp-compare td { padding: .8rem .45rem; }
  .cp-compare tbody th { padding-left: .9rem; }
  .cp-compare thead th { font-size: .8125rem; }
}
.cp-no { color: var(--club-gray-500); font-weight: 700; }
@media (min-width: 768px) {
  .cp-compare th, .cp-compare td { padding: 1rem 1.25rem; }
  .cp-compare__h { flex-direction: row; gap: var(--club-space-2); }
}

.cp-note { display: flex; gap: var(--club-space-3); align-items: flex-start; margin-top: var(--club-space-6); padding: var(--club-space-4) var(--club-space-5); border-radius: var(--club-radius-md); background: var(--club-info-bg); border: 1px solid var(--club-cyan-100); font-size: var(--club-fs-sm); }
.cp-note > .club-icon { color: var(--club-primary); margin-top: 2px; }
.cp-note p { margin: 0; }

.cp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-5); counter-reset: none; }
@media (min-width: 720px) { .cp-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cp-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .cp-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-step { position: relative; padding: var(--club-space-6); border: 1px solid var(--club-border); border-radius: var(--club-radius-lg); background: #fff; }
.cp-step p { margin: 0; color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.cp-step__n { display: inline-grid; place-items: center; width: 36px; height: 36px; margin-bottom: var(--club-space-4); border-radius: 50%; background: var(--club-ink); color: #fff; font-weight: 700; font-size: var(--club-fs-sm); }

/* FAQ */
.cp-faq .club-container { max-width: var(--club-container-narrow); }
.cp-faq__list { display: grid; gap: var(--club-space-3); margin-top: var(--club-space-7); }
.cp-faq__item { border: 1px solid var(--club-border); border-radius: var(--club-radius-lg); background: #fff; transition: border-color .15s, box-shadow .15s; }
.cp-faq__item[open] { border-color: var(--club-cyan-200); box-shadow: var(--club-shadow-sm); }
.cp-faq__q { display: flex; align-items: center; justify-content: space-between; gap: var(--club-space-4); padding: var(--club-space-5); cursor: pointer; list-style: none; font-weight: 600; color: var(--club-heading); }
.cp-faq__q::-webkit-details-marker { display: none; }
.cp-faq__q:focus-visible { outline: none; box-shadow: var(--club-ring); border-radius: var(--club-radius-lg); }
.cp-faq__chev { color: var(--club-primary); transition: transform .2s var(--club-ease); }
.cp-faq__item[open] .cp-faq__chev { transform: rotate(180deg); }
.cp-faq__a { padding: 0 var(--club-space-5) var(--club-space-5); color: var(--club-text-muted); }
.cp-faq__a p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------ Certificación */
.cp-pillars { display: grid; gap: var(--club-space-5); }
@media (min-width: 640px) { .cp-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .cp-pillars { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-pillar { padding: var(--club-space-6); border-radius: var(--club-radius-lg); border: 1px solid var(--club-border); background: #fff; }
.cp-pillar p { margin: 0; color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.cp-pillar__icon { background: var(--club-gold-50); color: var(--club-gold-600); }

.cp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-3); }
.cp-list li { display: flex; gap: var(--club-space-3); align-items: flex-start; }
.cp-list .club-icon { flex: none; margin-top: 2px; }
.cp-list--req .club-icon, .cp-list--yes .club-icon { color: var(--club-success); }
.cp-list--no .club-icon { color: var(--club-danger); }

.cp-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.cp-timeline::before { content: ""; position: absolute; left: 17px; top: 8px; bottom: 8px; width: 2px; background: var(--club-cyan-100); }
.cp-timeline__item { position: relative; display: flex; gap: var(--club-space-4); padding-bottom: var(--club-space-5); }
.cp-timeline__item:last-child { padding-bottom: 0; }
.cp-timeline__n { position: relative; z-index: 1; display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 2px solid var(--club-accent); color: var(--club-primary); font-weight: 700; font-size: var(--club-fs-sm); }
.cp-timeline__title { font-size: var(--club-fs-base) !important; margin: 6px 0 var(--club-space-1) !important; }
.cp-timeline__item p { margin: 0; color: var(--club-text-muted); font-size: var(--club-fs-sm); }

.cp-coverage { display: grid; gap: var(--club-space-5); }
@media (min-width: 900px) { .cp-coverage { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cp-coverage__col { padding: var(--club-space-6); border-radius: var(--club-radius-lg); border: 1px solid var(--club-border); background: #fff; }
.cp-coverage__col--yes { border-top: 3px solid var(--club-success); }
.cp-coverage__col--no { border-top: 3px solid var(--club-danger); }
.cp-coverage__title { display: flex; align-items: center; gap: var(--club-space-2); font-size: var(--club-fs-lg) !important; }
.cp-coverage__col--yes .cp-coverage__title .club-icon { color: var(--club-success); }
.cp-coverage__col--no .cp-coverage__title .club-icon { color: var(--club-danger); }
.cp-coverage__intro { font-size: var(--club-fs-sm); color: var(--club-text-muted); }
.cp-coverage .cp-list { font-size: var(--club-fs-sm); }
.cp-coverage__more { margin: var(--club-space-6) 0 0; text-align: center; }

.cp-verify { display: flex; flex-direction: column; gap: var(--club-space-2); padding: var(--club-space-7) var(--club-space-6); border-radius: var(--club-radius-xl); background: #fff; border: 1px solid var(--club-border); box-shadow: var(--club-shadow-sm); }
@media (min-width: 720px) { .cp-verify { flex-direction: row; gap: var(--club-space-6); } }
.cp-verify__icon { width: 52px; height: 52px; background: var(--club-gold-50); color: var(--club-gold-600); }
.cp-verify__body { flex: 1; }
.cp-verify__body p { color: var(--club-text-muted); font-size: var(--club-fs-sm); }
.cp-verify__form { display: flex; flex-wrap: wrap; gap: var(--club-space-3); }
.cp-verify__form .club-input { flex: 1 1 200px; text-transform: uppercase; font-family: var(--club-font-mono); letter-spacing: .04em; }
.cp-verify__form .club-btn { flex: 1 1 auto; }
@media (min-width: 560px) { .cp-verify__form .club-btn { flex: 0 0 auto; } }

/* ------------------------------------------------------------ Garantía */
.cp-stats { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .cp-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cp-stat { padding: var(--club-space-5); border-radius: var(--club-radius-lg); border: 1px solid var(--club-border); background: #fff; }
.cp-stat__v { margin: 0 0 var(--club-space-2); font-size: var(--club-fs-3xl); font-weight: 700; color: var(--club-heading); letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.cp-stat__v span { display: block; margin-top: var(--club-space-2); font-size: var(--club-fs-sm); font-weight: 600; letter-spacing: 0; color: var(--club-primary); }
.cp-stat__l { margin: 0; font-size: var(--club-fs-sm); color: var(--club-text-muted); line-height: 1.45; }

/* ------------------------------------------------------------ Documentos */
.cp-doc { display: grid; gap: var(--club-space-6); }
@media (min-width: 1024px) { .cp-doc { grid-template-columns: 260px minmax(0, 1fr); gap: var(--club-space-9); align-items: start; } }
.cp-doc__toc { position: relative; }
@media (min-width: 1024px) { .cp-doc__toc { position: sticky; top: calc(var(--club-header-h) + var(--club-space-5)); max-height: calc(100vh - var(--club-header-h) - 2.5rem); overflow-y: auto; } }
.cp-toc { border: 1px solid var(--club-border); border-radius: var(--club-radius-lg); background: #fff; }
.cp-toc__summary { display: flex; align-items: center; gap: var(--club-space-2); padding: var(--club-space-4) var(--club-space-5); font-weight: 700; color: var(--club-heading); cursor: pointer; list-style: none; }
.cp-toc__summary::-webkit-details-marker { display: none; }
.cp-toc__summary span { flex: 1; }
.cp-toc__chev { transition: transform .2s var(--club-ease); color: var(--club-text-muted); }
.cp-toc[open] .cp-toc__chev { transform: rotate(180deg); }
@media (min-width: 1024px) { .cp-toc__summary { pointer-events: none; } .cp-toc__chev { display: none; } }
.cp-toc__list { margin: 0; padding: 0 var(--club-space-3) var(--club-space-4); list-style: none; counter-reset: toc; display: grid; gap: 2px; font-size: var(--club-fs-sm); }
.cp-toc__list li { counter-increment: toc; }
.cp-toc__list a { display: flex; gap: var(--club-space-2); padding: .45rem .6rem; border-radius: 8px; color: var(--club-text-muted); line-height: 1.35; }
.cp-toc__list a::before { content: counter(toc) "."; flex: none; min-width: 1.7em; color: var(--club-text-subtle); font-variant-numeric: tabular-nums; }
.cp-toc__list a:hover { background: var(--club-gray-50); color: var(--club-heading); text-decoration: none; }
.cp-toc__list a.is-current { background: var(--club-cyan-50); color: var(--club-cyan-800); font-weight: 600; }

.cp-doc__body { min-width: 0; padding: var(--club-space-6) var(--club-space-5); background: #fff; border: 1px solid var(--club-border); border-radius: var(--club-radius-xl); }
@media (min-width: 768px) { .cp-doc__body { padding: var(--club-space-9) var(--club-space-10); } }
.cp-prose { font-size: var(--club-fs-base); line-height: 1.75; color: var(--club-text); }

.cp-prose h2 { font-size: var(--club-fs-xl); margin: var(--club-space-9) 0 var(--club-space-4); scroll-margin-top: calc(var(--club-header-h) + var(--club-space-5)); }
.cp-prose h2:first-child, .cp-prose > p:first-child + h2 { margin-top: var(--club-space-7); }
.cp-prose h3 { font-size: var(--club-fs-md); margin: var(--club-space-7) 0 var(--club-space-3); }
.cp-prose ul, .cp-prose ol { padding-left: 1.3rem; margin: 0 0 var(--club-space-5); }
.cp-prose li { margin-bottom: var(--club-space-2); padding-left: .2rem; }
.cp-prose li::marker { color: var(--club-primary); }
.cp-prose strong { color: var(--club-heading); font-weight: 600; }
.cp-prose a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--club-cyan-200); }
.cp-prose table { width: 100%; border-collapse: collapse; margin: 0 0 var(--club-space-5); font-size: var(--club-fs-sm); display: block; overflow-x: auto; }
.cp-prose th, .cp-prose td { border: 1px solid var(--club-border); padding: .6rem .75rem; text-align: left; }
.cp-prose img { border-radius: var(--club-radius-md); }
.cp-doc__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--club-space-4); margin-top: var(--club-space-9); padding-top: var(--club-space-5); border-top: 1px solid var(--club-border); }
.cp-doc__date { margin: 0; font-size: var(--club-fs-sm); color: var(--club-text-muted); }
.cp-doc__tools { display: flex; flex-wrap: wrap; gap: var(--club-space-2); }
.cp-section--doc { padding-top: var(--club-space-8); }

.cp-related h2 { margin-bottom: var(--club-space-5) !important; }
.cp-related__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--club-space-3); }
@media (min-width: 720px) { .cp-related__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .cp-related__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cp-related__item { display: flex; align-items: center; gap: var(--club-space-3); padding: var(--club-space-4) var(--club-space-5); background: #fff; border: 1px solid var(--club-border); border-radius: var(--club-radius-md); color: var(--club-heading) !important; font-weight: 600; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.cp-related__item span { flex: 1; }
.cp-related__item .club-icon:first-child { color: var(--club-primary); }
.cp-related__item .club-icon:last-child { color: var(--club-gray-400); }
.cp-related__item:hover { border-color: var(--club-cyan-200); box-shadow: var(--club-shadow-sm); }

/* ------------------------------------------------------------ Contacto */
.cp-section--contact { padding-top: var(--club-space-8); }
.cp-contact { display: grid; gap: var(--club-space-6); }
@media (min-width: 1024px) { .cp-contact { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: var(--club-space-8); align-items: start; } }
.cp-form-card { padding: var(--club-space-6) var(--club-space-5); }
@media (min-width: 768px) { .cp-form-card { padding: var(--club-space-8); } }
.cp-form__title { font-size: var(--club-fs-xl) !important; margin-bottom: var(--club-space-2) !important; }
.cp-form__hint { font-size: var(--club-fs-sm); color: var(--club-text-muted); margin: 0; }
.cp-form label:not(.club-check) { font-size: var(--club-fs-sm); font-weight: 600; color: var(--club-heading); }
.cp-form__grid { display: grid; gap: var(--club-space-5); align-items: start; }
.cp-form__grid .club-field { align-content: start; }
@media (min-width: 640px) { .cp-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cp-form__full { grid-column: 1 / -1; } }
.cp-consent { line-height: 1.5; color: var(--club-text-muted); }
.cp-form__actions .club-btn { width: 100%; }
@media (min-width: 640px) { .cp-form__actions .club-btn { width: auto; } }
.cp-form [aria-busy="true"] { opacity: .7; pointer-events: none; }
.cp-form__alert { margin: 0; }
.cp-form__alert, [data-cp-form] input, [data-cp-form] select, [data-cp-form] textarea { scroll-margin-top: calc(var(--club-header-h, 72px) + var(--club-space-4, 16px)); }
.cp-success { text-align: center; padding: var(--club-space-7) var(--club-space-2); }
.cp-success:focus { outline: none; }
.cp-success__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--club-success-bg); color: var(--club-success); margin-bottom: var(--club-space-4); }
.cp-success__icon .club-icon { width: 32px; height: 32px; }
.cp-success p { color: var(--club-text-muted); max-width: 440px; margin-left: auto; margin-right: auto; }
.cp-success__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--club-space-3); margin-top: var(--club-space-5); }

.cp-contact__aside { display: grid; gap: var(--club-space-5); }
.cp-info__list { list-style: none; margin: var(--club-space-5) 0 0; padding: 0; display: grid; gap: var(--club-space-5); }
.cp-info__list li { display: flex; gap: var(--club-space-4); }
.cp-info__list p { margin: 0; color: var(--club-text); }
.cp-info__icon { width: 40px; height: 40px; border-radius: 10px; margin: 0; }
.cp-info__label { font-size: var(--club-fs-xs) !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--club-text-muted) !important; margin-bottom: 2px !important; }
.cp-info__list a { font-weight: 600; overflow-wrap: anywhere; }
.cp-shortcuts ul { list-style: none; margin: var(--club-space-4) 0 0; padding: 0; display: grid; }
.cp-shortcuts a { display: flex; align-items: center; gap: var(--club-space-3); padding: .8rem 0; border-bottom: 1px solid var(--club-gray-100); color: var(--club-heading) !important; font-weight: 600; font-size: var(--club-fs-sm); text-decoration: none !important; }
.cp-shortcuts li:last-child a { border-bottom: 0; padding-bottom: 0; }
.cp-shortcuts a span { flex: 1; }
.cp-shortcuts a .club-icon:first-child { color: var(--club-primary); }
.cp-shortcuts a .club-icon:last-child { color: var(--club-gray-400); }
.cp-shortcuts a:hover span { color: var(--club-primary); }

/* ------------------------------------------------------------ CTA */
.cp-cta-section { padding-top: 0; }
.club-section--soft + .cp-cta-section { padding-top: var(--club-section-y); }
.cp-cta { display: grid; gap: var(--club-space-6); align-items: center; }
@media (min-width: 960px) { .cp-cta { grid-template-columns: minmax(0, 1fr) auto; gap: var(--club-space-8); } }
.cp-cta > * { position: relative; z-index: 1; }
.cp-cta h2 { margin-bottom: var(--club-space-3); }
.cp-cta p { margin: 0; color: #b9c4d6; max-width: 620px; }
.cp-cta__actions { display: flex; flex-wrap: wrap; gap: var(--club-space-3); }
.cp-cta__actions .club-btn { flex: 1 1 auto; }
@media (min-width: 560px) { .cp-cta__actions .club-btn { flex: 0 0 auto; } }

/* ------------------------------------------------------------ impresión */
@media print {
  .cp-hero, .cp-doc__toc, .cp-doc__tools, .cp-related, .cp-cta-section, .club-breadcrumbs { display: none !important; }
  .cp-doc { display: block; }
  .cp-doc__body { border: 0; padding: 0; }
  .cp-prose { max-width: none; font-size: 11pt; }
  .cp-prose a { text-decoration: none; color: inherit; }
}

/* Contraste AA del antetítulo sobre el hero oscuro (cian sobre tinta = 7.5:1). */
.club-page-hero:not(.club-page-hero--light) .club-eyebrow { color: var(--club-cyan); }
