.vjk-invite{--vjk-ink:#44394b;--vjk-pink:#bb7494;max-width:1250px;margin:2rem auto;padding:clamp(1rem,3vw,2.5rem);font-family:Arial,sans-serif;color:var(--vjk-ink);background:#fff9f8;border-radius:24px;box-shadow:0 12px 50px rgba(87,54,78,.08)}
.vjk-invite *{box-sizing:border-box}
.vjk-invite-head{text-align:center;margin:0 auto 2rem;max-width:700px}
.vjk-invite-head span{text-transform:uppercase;letter-spacing:.24em;color:var(--vjk-pink);font-size:.75rem;font-weight:700}
.vjk-invite-head h2{margin:.5rem 0;color:#513d52;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem)}
.vjk-invite-head p{margin:0;line-height:1.6}
.vjk-invite-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
.vjk-invite fieldset{border:0;margin:0 0 2rem;padding:0;min-width:0}
.vjk-invite legend{width:100%;padding:0 0 .7rem;margin-bottom:1rem;border-bottom:1px solid #ead9df;font-size:1.15rem;font-weight:700}
.vjk-invite label{display:block;margin:0 0 1rem;font-weight:600;font-size:.92rem}
.vjk-invite input,.vjk-invite textarea{display:block;width:100%;margin-top:.45rem;padding:.78rem .9rem;border:1px solid #d9c9d0;border-radius:10px;background:white;font:inherit;font-weight:400;color:#302a32}
.vjk-invite input:focus,.vjk-invite textarea:focus{outline:2px solid #b97595;outline-offset:1px}
.vjk-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.vjk-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-height:440px;overflow:auto;padding:.25rem}
.vjk-design{display:flex;flex-direction:column;gap:.55rem;align-items:stretch;border:2px solid transparent;border-radius:12px;padding:.45rem;background:white;color:#473c49;text-align:center;cursor:pointer;font-size:.8rem;font-weight:700;line-height:1.25;min-width:0}
.vjk-design[aria-checked="true"]{border-color:#ad678a;box-shadow:0 3px 14px #c493ac55}
.vjk-design:focus-visible{outline:3px solid #5d3b67}
.vjk-swatch{display:block;aspect-ratio:105/148;border-radius:7px;background-size:cover;background-position:center}
.vjk-boho{background:radial-gradient(circle at 80% 85%,#ab7b99 0 15%,transparent 16%),linear-gradient(145deg,#f8e7df,#d2abc4)}
.vjk-neon{background:radial-gradient(circle at 70% 30%,#f98de4 0 3%,transparent 4%),linear-gradient(145deg,#191735,#793c9d)}
.vjk-cinema{background:repeating-linear-gradient(90deg,#4b2b3e 0 10%,#e6ad96 10% 90%,#4b2b3e 90% 100%)}
.vjk-private{color:#806f79;font-size:.8rem;margin-top:-1rem}
.vjk-preview-panel{position:sticky;top:1rem;text-align:center}
.vjk-preview-label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:.8rem;color:#876f7e}
.vjk-canvas{display:block;width:min(100%,410px);height:auto;aspect-ratio:105/148;margin:auto;border-radius:4px;box-shadow:0 12px 35px #5d3e5666}
.vjk-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin:1.25rem 0 .7rem}
.vjk-actions button{border:1px solid #874e6c;border-radius:999px;background:#854f6c;color:white;padding:.75rem 1.1rem;cursor:pointer;font:700 .9rem Arial,sans-serif}
.vjk-actions button+button{background:transparent;color:#854f6c}
.vjk-actions button:hover{filter:brightness(.9)}
.vjk-actions button:disabled{opacity:.55;cursor:wait}
.vjk-preview-panel small{display:block;max-width:420px;margin:auto;color:#766b74;line-height:1.5}
.vjk-error{color:#a62032;background:#fff0f0;border-radius:8px;padding:.5rem}
.vjk-status{color:#513d52;background:#f4ebf0;border-radius:8px;padding:.6rem;line-height:1.5}
.vjk-print-sheet{display:none}
@media(max-width:760px){.vjk-invite-layout{grid-template-columns:1fr}.vjk-preview-panel{position:static}.vjk-designs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.vjk-two{grid-template-columns:1fr}.vjk-designs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
  @page{size:105mm 148mm;margin:0}
  body *{visibility:hidden!important}
  body .vjk-print-sheet,body .vjk-print-sheet *{visibility:visible!important}
  body .vjk-print-sheet{display:block!important;position:fixed!important;left:0;top:0;width:105mm;height:148mm;margin:0!important;padding:0!important}
  body .vjk-print-sheet img{display:block;width:105mm;height:148mm;max-width:none!important;max-height:none!important}
}
