/* ============================================================
   SOCIAL EMBEDS — house façade, native content on demand
   ============================================================ */

.social-embed {
  border: 2px solid var(--ink, #171717);
  padding: 20px 22px;
  margin: 2.2em 0;
  font-family: var(--font-display, system-ui, sans-serif);
}
.social-embed.is-loaded { padding: 0; overflow: visible; }
.social-embed iframe { display: block; width: 100%; border: 0; transition: height 0.25s var(--ease, ease); }
.social-embed.layout-portrait { max-width: 440px; margin-inline: auto; }
.social-embed.layout-portrait.is-loaded { max-width: 100%; }
.social-embed-head { display: flex; align-items: center; gap: 10px; }
.se-ico { width: 20px; height: 20px; flex-shrink: 0; }
.se-platform {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.se-author { color: var(--mute, #595959); font-size: 13px; font-weight: 700; margin-left: auto; }
.se-text {
  margin: 14px 0 2px;
  font-family: var(--font-serif, Georgia, serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink-soft, #303030);
  border: 0;
  padding: 0;
}
.se-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 16px; }
.se-actions .btn-y {
  min-height: 46px;
  padding: 12px 18px;
  border: 0;
  background: var(--y, #ffe100);
  color: var(--on-accent, var(--ink, #171717));
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background-color 0.15s var(--ease, ease), transform 0.1s var(--ease, ease);
}
.se-actions .btn-y:hover { background: #fff04d; }
.se-actions .btn-y:active { transform: scale(0.96); }
.se-open {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
}
.se-open svg { width: 14px; height: 14px; transition: transform 0.2s var(--ease, ease); }
.se-open:hover svg { transform: translateX(4px); }
.se-note { display: block; margin-top: 10px; font-size: 11px; line-height: 1.4; color: var(--mute, #595959); }
.se-remember { display: flex; align-items: flex-start; gap: 9px; width: fit-content; margin-top: 12px; color: var(--mute, #595959); font: 700 11px/1.4 var(--font-display, system-ui, sans-serif); text-wrap: pretty; cursor: pointer; }
.se-remember input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--ink, #171717); }
.se-remember--video { margin: 10px 0 0; padding: 0 2px; }

/* video façade: grayscale still, yellow play block, real player on click */
.social-embed--video { padding: 0; border: 0; }
.se-video-btn { display: block; width: 100%; position: relative; cursor: pointer; text-align: left; }
.se-video-btn .ph { display: block; }
.se-video-btn .ph--blank { aspect-ratio: 16 / 9; background: var(--ink, #171717); }
.se-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  background: var(--y, #ffe100);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s var(--ease, ease);
}
.se-video-btn:hover .se-play { transform: translate(-50%, -50%) scale(1.06); }
.se-video-btn:active .se-play { transform: translate(-50%, -50%) scale(0.96); }
.se-play::before {
  content: "";
  width: 0;
  height: 0;
  border-block: 15px solid transparent;
  border-left: 24px solid var(--on-accent, var(--ink, #171717));
  transform: translateX(3px);
}
.se-video-tag {
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--ink, #171717);
  color: var(--paper, #ffffff);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 8px 12px;
}
/* The facade has no core embed wrapper: keep its player in normal flow. */
.wp-embed-responsive .social-embed--video.is-loaded iframe { position: static; inset: auto; width: 100%; aspect-ratio: 16 / 9; height: auto; }
.social-embed .ph img[hidden] { display: none; }

@media (max-width: 620px) {
  .social-embed { padding: 16px; }
  .social-embed.is-loaded { padding: 0; }
  .se-author { display: none; }
}

/* Functional defaults must not depend on the active theme. */
.social-embed .ph--16x9 { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #171717; }
.social-embed .ph--16x9 img { display: block; width: 100%; height: 100%; object-fit: cover; }
.social-embed .btn-y { padding: .75rem 1rem; border: 0; background: var(--y, #ffe100); color: var(--ink, #171717); cursor: pointer; }
.social-embed :is(button,a):focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.social-embed > figcaption { display: block; padding: .75rem; }
