/* Portfolio Pro — content blocks utilities */

.pf-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: var(--pf-radius-sm);
  margin: 1.5rem 0;
}
.pf-embed iframe, .pf-embed video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.pf-figure {
  margin: 1.5rem 0;
  border-radius: var(--pf-radius-sm);
  overflow: hidden;
  box-shadow: var(--pf-shadow);
}
.pf-figure img { margin: 0; width: 100%; border-radius: 0; }
.pf-figure figcaption {
  padding: 12px 16px;
  font-size: 0.85rem;
  color: var(--pf-text-muted);
  background: var(--pf-surface);
  border-top: 1px solid var(--pf-border);
}

.pf-alert {
  padding: 14px 18px;
  border-radius: var(--pf-radius-xs);
  border-left: 4px solid var(--pf-accent);
  background: var(--pf-accent-glow);
  color: var(--pf-text-soft);
  margin: 1.5rem 0;
}

.pf-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.pf-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pf-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

@media (max-width: 860px) {
  .pf-grid-2, .pf-grid-3, .pf-grid-4 { grid-template-columns: 1fr; }
}
