.vk-nsvp-wrap{max-width:1100px;margin:0 auto;padding:24px;font-family:Arial,sans-serif;color:#2d3a2f}
.vk-nsvp-hero{background:linear-gradient(135deg,#f6faf4,#eef5ea);border:1px solid #dce8d6;border-radius:24px;padding:28px 28px 24px;box-shadow:0 10px 30px rgba(0,0,0,.05);margin-bottom:22px}
.vk-nsvp-badge{display:inline-block;background:#2f5d39;color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;margin-bottom:14px}
.vk-nsvp-hero h2{font-size:34px;line-height:1.15;margin:0 0 12px}
.vk-nsvp-hero p{max-width:860px;font-size:17px;line-height:1.65;margin:0;color:#4a5b4c}
.vk-nsvp-form{background:#fff;border:1px solid #e1eadc;border-radius:24px;padding:22px;box-shadow:0 8px 26px rgba(0,0,0,.04)}
.vk-nsvp-steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.vk-nsvp-steps span{padding:10px 14px;border-radius:999px;background:#f3f6f1;color:#56715b;font-weight:700;font-size:13px}.vk-nsvp-steps span.is-active{background:#2f5d39;color:#fff}
.vk-nsvp-step{display:none}.vk-nsvp-step.is-active{display:block}
.vk-grid{display:grid;gap:16px}.vk-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.vk-nsvp-form label>span,.vk-nsvp-step h3{display:block;font-weight:700;margin:0 0 8px}.vk-nsvp-form input[type=text],.vk-nsvp-form input[type=email],.vk-nsvp-form select,.vk-nsvp-form textarea{width:100%;border:1px solid #d7e2d2;border-radius:16px;padding:14px 16px;font-size:15px;box-sizing:border-box;background:#fff}
.upload-box{display:block;background:#f8fbf7;border:1px dashed #bfd1bb;border-radius:18px;padding:18px}
.upload-box input{margin-top:8px}
.vk-style-grid,.vk-budget-grid,.vk-package-grid{display:grid;gap:14px}.vk-style-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:26px}.vk-budget-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}.vk-package-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}
.vk-style-card,.vk-budget-card,.vk-package-card{position:relative;display:block;border:1px solid #dce7d8;border-radius:22px;padding:14px;background:#fff;cursor:pointer;transition:.2s ease;box-shadow:0 6px 18px rgba(0,0,0,.03)}
.vk-style-card:hover,.vk-budget-card:hover,.vk-package-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.06)}
.vk-style-card input,.vk-budget-card input,.vk-package-card input{position:absolute;opacity:0;pointer-events:none}
.vk-style-card:has(input:checked),.vk-budget-card:has(input:checked),.vk-package-card:has(input:checked){border-color:#2f5d39;box-shadow:0 0 0 3px rgba(47,93,57,.12)}
.vk-style-visual{display:block;height:90px;border-radius:16px;margin-bottom:12px;border:1px solid rgba(0,0,0,.05)}
.vk-style-moderen{background:linear-gradient(135deg,#dfe7df,#b9c9b7)}
.vk-style-naraven{background:linear-gradient(135deg,#ced9b8,#96b37e)}
.vk-style-mediteranski{background:linear-gradient(135deg,#d9dbc7,#b6b48e)}
.vk-style-minimalen{background:linear-gradient(135deg,#ededed,#c9d0cc)}
.vk-style-podezelski{background:linear-gradient(135deg,#e0d5c5,#c0aa86)}
.vk-budget-card span,.vk-package-card span{display:block;color:#5a6d5e;line-height:1.5}.vk-budget-card span{font-weight:700;color:#2d3a2f}
.vk-package-card strong{display:block;font-size:18px;margin-bottom:8px}
.vk-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#f8fbf7;border:1px solid #e1eadc;border-radius:18px;padding:16px}.vk-check-grid label{display:flex;align-items:center;gap:8px}
.vk-note,.vk-summary-box{background:#f5faf3;border:1px solid #dce8d6;border-radius:18px;padding:16px 18px;color:#405244}.vk-summary-box h3{margin-top:0}
.vk-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0}
.vk-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.vk-nav button{border:0;border-radius:16px;padding:14px 20px;font-size:15px;font-weight:700;cursor:pointer}.vk-prev{background:#eef3eb;color:#2d3a2f}.vk-next,.vk-submit{background:#2f5d39;color:#fff}.vk-response{margin-top:16px;padding:14px 16px;border-radius:14px}.vk-response.success{background:#eef8ea;color:#2e5c39;border:1px solid #cfe2c9}.vk-response.error{background:#fff0f0;color:#8d2f2f;border:1px solid #efcccc}
@media (max-width: 900px){.vk-grid.two,.vk-style-grid,.vk-budget-grid,.vk-package-grid,.vk-check-grid{grid-template-columns:1fr}.vk-nsvp-hero h2{font-size:28px}}
