/* SPO Training Premium — isolated presentation overlay, V1 candidate.
 * Owner: inc/spo-training/demo.php. Depends on existing training-v46-safety.css.
 * Scope: singular HivePress listings classified as Training by SPO.
 * It adds no data or commercial claims and does not change other HivePress views.
 */
body.spo-training-listing-page {
  --spo-tr-ink:#102a43;
  --spo-tr-muted:#536c80;
  --spo-tr-line:#dde6ec;
  --spo-tr-paper:#f5f8fa;
  --spo-tr-accent:#86651f;
  --spo-tr-focus:#2d72b8;
}
body.spo-training-listing-page :is(.hp-page__title,.hp-listing__title) {
  max-width:100%;
  margin-block:0 .9rem;
  color:var(--spo-tr-ink);
  font-size:clamp(1.75rem,3.1vw,2.8rem);
  line-height:1.14;
  letter-spacing:-.035em;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
  text-wrap:balance;
}
body.spo-training-listing-page :is(.spo-training-demo-showcase,.spo-training-demo-facts) {
  width:100%;
  min-width:0;
  max-width:100%;
  margin-block:1rem 1.25rem;
  padding:clamp(1rem,2.4vw,2rem);
  border:1px solid var(--spo-tr-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,42,67,.055);
  overflow-wrap:break-word;
}
body.spo-training-listing-page .spo-training-demo-showcase {
  border-top:4px solid var(--spo-tr-accent);
  background:linear-gradient(130deg,#fff 0%,#fbf8f0 100%);
}
body.spo-training-listing-page .spo-training-demo-showcase__badge,
body.spo-training-listing-page .spo-training-demo-facts__eyebrow {
  color:var(--spo-tr-accent)!important;
  letter-spacing:.085em;
}
body.spo-training-listing-page .spo-training-demo-showcase h2,
body.spo-training-listing-page .spo-training-demo-facts h2 {
  max-width:26ch;
  margin:0!important;
  color:var(--spo-tr-ink)!important;
  font-size:clamp(1.3rem,2.25vw,2rem)!important;
  font-weight:800!important;
  line-height:1.17!important;
  letter-spacing:-.025em;
  overflow-wrap:break-word;
  word-break:normal;
}
body.spo-training-listing-page .spo-training-demo-showcase__lead,
body.spo-training-listing-page .spo-training-demo-showcase__truth,
body.spo-training-listing-page .spo-training-demo-facts__head > p:last-child {
  max-width:74ch;
  color:var(--spo-tr-muted)!important;
  font-size:clamp(.86rem,1vw,.96rem)!important;
  line-height:1.62!important;
}
body.spo-training-listing-page .spo-training-demo-facts__head {max-width:none;}
body.spo-training-listing-page .spo-training-demo-facts__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
}
body.spo-training-listing-page .spo-training-demo-facts__item {
  min-width:0;
  padding:1rem 1.1rem;
  border:1px solid var(--spo-tr-line);
  border-radius:11px;
  background:var(--spo-tr-paper);
}
body.spo-training-listing-page .spo-training-demo-facts__item strong {
  display:block;
  margin-block:.4rem 0;
  color:var(--spo-tr-ink);
  font-size:clamp(.95rem,1.3vw,1.08rem);
  line-height:1.4;
  font-weight:760;
  overflow-wrap:anywhere;
}
body.spo-training-listing-page .spo-training-demo-facts__label {
  color:var(--spo-tr-muted);
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.025em;
}
body.spo-training-listing-page .spo-training-demo-data-notice {
  margin-block:1rem 1.25rem;
  padding:.9rem 1rem;
  border-left:3px solid var(--spo-tr-accent);
  border-radius:0 9px 9px 0;
  background:#f8f7f2;
  color:#4b5863;
  font-size:.85rem;
  line-height:1.6;
}
body.spo-training-listing-page .spo-training-demo-showcase__actions {gap:.65rem;}
body.spo-training-listing-page .spo-training-demo-showcase__btn {
  min-height:44px;
  border-radius:8px;
  font-size:.84rem;
  line-height:1.35;
  text-align:center;
}
body.spo-training-listing-page .spo-training-demo-showcase__btn--primary {
  border-color:var(--spo-tr-ink);
  background:var(--spo-tr-ink);
  color:#fff!important;
}
body.spo-training-listing-page .spo-training-demo-showcase__btn--secondary {
  border-color:#b9cbd8;
  background:#fff;
  color:var(--spo-tr-ink)!important;
}
/* Related/native listing cards, restricted to Training single-page context. */
body.spo-training-listing-page .hp-listing--view-block {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--spo-tr-line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,42,67,.045);
}
body.spo-training-listing-page .hp-listing--view-block .hp-listing__image {
  display:block;
  max-height:170px;
  aspect-ratio:16/9;
  overflow:hidden;
}
body.spo-training-listing-page .hp-listing--view-block .hp-listing__image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
body.spo-training-listing-page .hp-listing--view-block .hp-listing__content {
  min-width:0;
  padding:1rem;
}
body.spo-training-listing-page .hp-listing--view-block .hp-listing__title {
  max-width:none;
  margin:0 0 .6rem;
  font-size:clamp(.94rem,1.25vw,1.1rem);
  line-height:1.4;
  font-weight:780;
  letter-spacing:-.012em;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
body.spo-training-listing-page .hp-listing--view-block .spo-training-card-safe-details {
  color:var(--spo-tr-muted);
  font-size:.78rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}
body.spo-training-listing-page :is(a,button,input,select,summary):focus-visible {
  outline:3px solid var(--spo-tr-focus)!important;
  outline-offset:3px!important;
}
@media(max-width:700px) {
  body.spo-training-listing-page .spo-training-demo-facts__grid {grid-template-columns:minmax(0,1fr);}
  body.spo-training-listing-page .spo-training-demo-showcase__actions {display:grid;grid-template-columns:minmax(0,1fr);}
  body.spo-training-listing-page .spo-training-demo-showcase__btn {width:100%;}
  body.spo-training-listing-page .hp-listing--view-block .hp-listing__image {max-height:150px;}
}
@media(prefers-reduced-motion:reduce) {
  body.spo-training-listing-page :is(.spo-training-demo-showcase,.spo-training-demo-facts,.hp-listing--view-block) {transition:none!important;}
}
