/* ==========================================================================
   AREA UNITED · Parte 2 · Modal de coach (home)
   Foto 4:5 a la izquierda, ficha a la derecha. En móvil se apila y hace scroll
   dentro del panel. Los botones usan .p2-lb-btn (css/p2-lightbox.css).
   ========================================================================== */
.p2-tm {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: clamp(12px, 4vw, 48px);
  background: rgba(5, 5, 5, .92);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 250ms var(--ease-out);
}
.p2-tm[hidden] { display: none; }
.p2-tm.is-open { opacity: 1; }

.p2-tm-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  width: min(1040px, 100%);
  max-height: 100%;
  overflow: auto;
  background: var(--black);
  border: 1px solid var(--surface-2);
  transform: translateY(14px);
  transition: transform 350ms var(--ease-out);
}
.p2-tm.is-open .p2-tm-panel { transform: none; }

.p2-tm-photo { margin: 0; min-height: 100%; background: var(--black-pure); }
.p2-tm-photo img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 5; }

.p2-tm-copy {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: clamp(24px, 4vw, 48px);
  padding-right: clamp(24px, 6vw, 72px);
}
.p2-tm-num { font-size: 14px; letter-spacing: .04em; color: var(--yellow); }
.p2-tm-title { font-size: clamp(36px, 5vw, 60px); line-height: .95; color: var(--white); }
.p2-tm-role { font-size: 17px; color: var(--gray-text); margin: 0; }
.p2-tm-block { display: grid; gap: 10px; }
.p2-tm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 8px; }

.p2-tm-close { top: 12px; right: 12px; z-index: 2; }
.p2-tm-nav { position: absolute; right: 12px; bottom: 12px; display: flex; gap: 8px; }
.p2-tm-nav .p2-lb-btn { position: static; transform: none; }

@media (max-width: 767px) {
  .p2-tm-panel { grid-template-columns: 1fr; }
  .p2-tm-photo img { aspect-ratio: 4 / 3; max-height: 40svh; }
  .p2-tm-copy { padding: 20px 16px 80px; }
  .p2-tm-nav { right: 16px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .p2-tm, .p2-tm-panel { transition: none; transform: none; }
}

/* Listas de la ficha (mismas reglas que css/p2-class-detail.css, acotadas al modal) */
.p2-tm .p2-cd-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.p2-tm .p2-cd-tags li {
  display: inline-flex;
  align-items: center;
  height: var(--p2-chip-h);
  padding-inline: 12px;
  border: 1px solid var(--surface-2);
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: var(--ls-button);
  text-transform: uppercase;
  line-height: 1;
  color: var(--white);
}
.p2-tm .p2-cd-bring { display: grid; gap: 8px; }
.p2-tm .p2-cd-bring li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 15px;
  color: #D6D6D4;
}
.p2-tm .p2-cd-bring li::before { content: ""; width: 8px; height: 8px; flex: none; background: var(--yellow); translate: 0 -1px; }
.p2-tm { --p2-chip-h: 32px; }
