/* QS Social — feed & embed (light, responsive; matches theme tokens if present) */
.qs-social-feed { display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) { .qs-social-feed { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .qs-social-feed { grid-template-columns: repeat(4, 1fr); } }
.qs-social-feed[data-layout="carousel"] { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; }
.qs-social-feed[data-layout="carousel"] .qs-social-item { flex: 0 0 46%; scroll-snap-align: start; }
@media (min-width: 768px) { .qs-social-feed[data-layout="carousel"] .qs-social-item { flex: 0 0 23%; } }

.qs-social-item { display: block; color: inherit; text-decoration: none; border: 1px solid #E2E8F0; border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .2s, transform .2s; }
.qs-social-item:hover { box-shadow: 0 8px 24px rgba(15,23,42,.08); transform: translateY(-2px); }
.qs-social-thumb { position: relative; display: block; aspect-ratio: 1/1; background: #F1F5F9; }
.qs-social-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qs-social-badge { position: absolute; top: 8px; left: 8px; font-size: var(--qs-badge, 10px); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #fff; background: rgba(10,37,64,.85); padding: 3px 8px; border-radius: 999px; }
.qs-social-cap { display: block; padding: 10px 12px; font-size: var(--qs-caption, 0.8125rem); color: #475569; line-height: 1.45; }
.qs-social-empty { padding: 16px 0; color: #64748B; }

/* Embed */
.qs-embed { position: relative; margin: 24px 0; max-width: 100%; }
.qs-embed-facade { display: block; width: 100%; border: 0; padding: 0; cursor: pointer; position: relative; background: #0A2540; border-radius: 14px; overflow: hidden; aspect-ratio: 16/9; }
.qs-embed-facade img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.qs-embed-facade--generic { display: flex; align-items: center; justify-content: center; gap: 10px; color: #fff; aspect-ratio: auto; padding: 28px 16px; }
.qs-embed-play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; background: rgba(255,255,255,.92); color: #0A2540; display: grid; place-items: center; font-size: var(--qs-icon, 24px); }
.qs-embed-facade--generic .qs-embed-play { position: static; width: 40px; height: 40px; font-size: var(--qs-small, 16px); }
.qs-embed-label { color: #fff; font-weight: 600; }
.qs-embed-frame { position: relative; width: 100%; }
.qs-embed-frame iframe { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: 14px; }
.qs-embed-fallback { margin: 24px 0; }
.qs-embed-tpl { display: none; }
