/**
 * article-embeds.css — embed styles for article pages · procyclingapparel.com
 *
 * ⚠️ ERP contract (static_web/post_optimizer/page_shell.py + shared_assets.py REQUIRED_ASSETS):
 * apply_plan_to_page_shell injects "external video card" blocks with the selectors below.
 * The classes are REQUIRED — the site is flagged has_missing if this file is absent.
 * §0: 10px media radius, no shadow, ink play button (red stays reserved for CTA fills).
 */

/* ========== External Video Card (ERP injected) ========== */
.external-video-card {
  margin: 32px 0;
  border-radius: 10px;
  overflow: hidden;
  background: var(--ink, #111827);
}
.external-video-card-link {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  width: 100%;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
}
.external-video-card-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
  border-radius: 0;
}
.external-video-card-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  background: rgba(17, 24, 39, .82);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 160ms;
}
.external-video-card-link:hover .external-video-card-play { background: var(--ink, #111827); }
.external-video-card-link:focus-visible { outline: 3px solid var(--amber, #F59E0B); outline-offset: -3px; }
.external-video-card-play::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-left: 14px solid #fff;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left: 3px;
}
.external-video-card-caption {
  padding: 14px 16px;
  background: var(--g-100, #F3F4F6);
  color: var(--ink, #111827);
  font-size: 15px;
}

/* ========== Inline iframes (fallback for non-ERP embeds) ========== */
.article-content iframe[src*="youtube"],
.article-content iframe[src*="youtu.be"],
.article-content iframe[src*="vimeo"] {
  aspect-ratio: 16 / 9;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 0;
  border-radius: 10px;
  margin: 32px 0;
  display: block;
}
.article-content .twitter-tweet { margin: 32px auto !important; }

/* ========== Responsive tables ========== */
.article-content .table-wrap,
.article-content .article-table-scroll,
.article-content figure.wp-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 32px 0;
}
.article-content .table-wrap table,
.article-content .article-table-scroll table { margin: 0; }

@media (prefers-reduced-motion: reduce) {
  .external-video-card-play { transition: none; }
}
