.fsvh-gallery{display:grid;grid-template-columns:repeat(var(--fsvh-columns,3),minmax(0,1fr));gap:20px;margin:1.25rem 0}
.fsvh-card{min-width:0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.fsvh-embed{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}
.fsvh-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fsvh-instagram{aspect-ratio:4/5;min-height:360px}
.fsvh-embed-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#fff;text-align:center;box-sizing:border-box}
.fsvh-embed-error a{color:#fff;text-decoration:underline}
.fsvh-card-content{padding:12px 14px}
.fsvh-card-content h3{font-size:1rem;line-height:1.4;margin:0 0 8px}
.fsvh-card-content p{font-size:.92rem;line-height:1.5;margin:0;color:#555}
.fsvh-ad{grid-column:1/-1;min-width:0;border:1px dashed #c7c7c7;border-radius:10px;padding:12px;margin:4px 0;overflow:hidden}
.fsvh-ad-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#777;margin-bottom:8px}
.fsvh-ad-content{max-width:100%;overflow:hidden}
.fsvh-ad-content img,.fsvh-ad-content iframe{max-width:100%}
.fsvh-layout-vertical{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.fsvh-layout-vertical .fsvh-embed{aspect-ratio:9/16}
.fsvh-layout-vertical .fsvh-instagram{aspect-ratio:4/5}
.fsvh-empty{padding:16px;border:1px solid #e5e7eb;border-radius:8px}
@media(max-width:900px){.fsvh-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.fsvh-gallery,.fsvh-layout-vertical{grid-template-columns:1fr}.fsvh-card-content h3{font-size:1rem}}

/* Устойчивое масштабирование встроенных плееров на небольших экранах. */
.fsvh-card,.fsvh-embed,.fsvh-instagram{min-width:0;max-width:100%;box-sizing:border-box}
.fsvh-embed iframe{display:block;max-width:100%}
.fsvh-instagram iframe{width:100%;min-height:360px}
@media(max-width:560px){.fsvh-gallery{gap:14px}.fsvh-instagram{min-height:420px}.fsvh-instagram iframe{min-height:420px}}

/* Ссылка-подстраховка для Instagram, если платформа блокирует iframe. */
.fsvh-instagram-fallback{margin:0;padding:10px 12px;text-align:center;font-size:.9rem;line-height:1.4}
.fsvh-instagram-fallback a{overflow-wrap:anywhere}
