/* Voucher content blocks: shared by the public voucher page and the admin editor previews. */
.vb { --vb-brand: var(--brand, #F47920); --vb-radius: 6px; margin: 0 0 1.25rem; }
.vb img { max-width: 100%; height: auto; display: block; border-radius: var(--vb-radius); }
.vb figcaption { font-size: .875rem; opacity: .7; margin-top: .4rem; }
.vb-text { line-height: 1.6; }
.vb-text p { margin: 0 0 .8em; }
.vb-text ul, .vb-text ol { padding-left: 1.3em; margin: 0 0 .8em; }
.vb-text a { color: var(--vb-brand); }
.vb-image { margin-left: 0; margin-right: 0; }
.vb-image img { width: 100%; }
.vb-gallery { display: grid; gap: .6rem; grid-template-columns: repeat(2, 1fr); }
.vb-gallery-3 { grid-template-columns: repeat(3, 1fr); }
.vb-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.vb-video { margin-left: 0; margin-right: 0; }
.vb-video-frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--vb-radius); overflow: hidden; background: #000; }
.vb-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vb-cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.vb-card { border-radius: var(--vb-radius); overflow: hidden; background: rgba(127, 127, 127, .08); }
.vb-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.vb-card-body { padding: .9rem 1rem 1rem; }
.vb-card h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.vb-card p { margin: 0; font-size: .95rem; opacity: .85; }
.vb-highlight { border-left: 5px solid var(--vb-brand); background: rgba(244, 121, 32, .1); padding: 1rem 1.2rem; border-radius: 0 var(--vb-radius) var(--vb-radius) 0; }
.vb-highlight-dark { border-color: #2D2D2D; background: rgba(45, 45, 45, .08); }
.vb-highlight strong { display: block; font-size: 1.1rem; margin-bottom: .25rem; }
.vb-highlight p { margin: 0; }
.vb-placeholder { padding: 2rem 1rem; text-align: center; border: 2px dashed rgba(127, 127, 127, .4); border-radius: var(--vb-radius); opacity: .7; font-size: .9rem; }
@media (max-width: 600px) { .vb-gallery-3 { grid-template-columns: repeat(2, 1fr); } }
