.vgp-wrap{max-width:1100px;margin:0 auto;padding:24px}
.vgp-hero h1{font-size:2rem;margin-bottom:.25rem}
.vgp-meta span{opacity:.8}
.vgp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.vgp-card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff}
.vgp-card a{color:inherit;text-decoration:none;display:block;padding-bottom:8px}
.vgp-thumb img{width:100%;height:180px;object-fit:cover;display:block}
.vgp-card h3{font-size:1.1rem;margin:8px 12px 0}
.vgp-excerpt{margin:4px 12px;color:#555;min-height:48px}
.vgp-meta{margin:4px 12px 8px;font-size:.9rem;color:#666}
.vgp-cta{display:inline-block;margin:6px 12px;padding:.5rem .75rem;border:1px solid #222;border-radius:8px}
.vgp-filters{display:flex;gap:12px;align-items:flex-end;margin:12px 0}
.vgp-filters label{display:flex;flex-direction:column;font-size:.9rem}
.vgp-quote-form input,.vgp-quote-form textarea,.vgp-quote-form select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:8px}
.vgp-quote-form button{padding:.6rem 1rem;border:1px solid #222;border-radius:8px;background:#222;color:#fff}
.vgp-notice{margin-top:8px;padding:8px 12px;background:#f0fff4;border:1px solid #86efac;border-radius:8px}
.vgp-dest-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.vgp-dest-card{border:1px solid #eee;border-radius:12px;padding:12px}
.vgp-table{width:100%;border-collapse:collapse;margin:8px 0}
.vgp-table th,.vgp-table td{border:1px solid #eee;padding:8px;text-align:left}
