
.pvn-event-wrap{
    --pvn-accent:#9b5964;
    --pvn-dark:#4f4143;
    --pvn-soft:#fff7f7;
    --pvn-border:#d7aeb5;
    width:100%;
    padding:24px 14px;
    box-sizing:border-box;
    background:linear-gradient(135deg,#f9eee8,#f4dde1);
    border-radius:18px;
}
.pvn-event-wrap *{box-sizing:border-box}
.pvn-event-card{
    width:min(680px,100%);
    margin:0 auto;
    padding:38px 24px;
    background:rgba(255,255,255,.97);
    border-radius:24px;
    box-shadow:0 18px 50px rgba(92,59,64,.15);
    text-align:center;
    color:var(--pvn-dark);
}
.pvn-heart{font-size:32px;line-height:1;margin-bottom:10px}
.pvn-event-card h1{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(36px,8vw,58px);
    font-weight:400;
    color:var(--pvn-accent);
}
.pvn-event-card h2{
    margin:0 0 18px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    font-weight:400;
    color:var(--pvn-accent);
}
.pvn-date{
    margin:12px 0 24px;
    font-size:15px;
    letter-spacing:2px;
    text-transform:uppercase;
}
.pvn-intro{
    max-width:500px;
    margin:0 auto 24px;
    font-size:17px;
    line-height:1.6;
}
.pvn-dropzone{
    display:flex;
    min-height:190px;
    padding:28px 18px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:8px;
    border:2px dashed var(--pvn-border);
    border-radius:18px;
    background:var(--pvn-soft);
    cursor:pointer;
    transition:.2s ease;
}
.pvn-dropzone:hover,.pvn-dropzone.is-dragover{
    transform:translateY(-2px);
    background:#fff0f2;
    border-color:var(--pvn-accent);
}
.pvn-dropzone input{display:none}
.pvn-camera{font-size:44px}
.pvn-dropzone strong{font-size:18px;color:var(--pvn-accent)}
.pvn-dropzone span:last-of-type{font-size:14px;opacity:.8}
.pvn-file-list{
    margin:14px 0 0;
    font-size:14px;
    line-height:1.5;
    word-break:break-word;
}
.pvn-progress{
    height:12px;
    margin:16px 0 0;
    background:#eadadd;
    border-radius:999px;
    overflow:hidden;
}
.pvn-progress-bar{
    width:0;
    height:100%;
    background:var(--pvn-accent);
    transition:width .2s linear;
}
.pvn-button{
    width:100%;
    margin-top:16px;
    padding:15px 20px;
    border:0;
    border-radius:12px;
    background:var(--pvn-accent);
    color:#fff;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
}
.pvn-button:hover{filter:brightness(.92)}
.pvn-button:disabled{opacity:.6;cursor:not-allowed}
.pvn-secondary{background:#6f7d66}
.pvn-status,.pvn-message-status{
    min-height:24px;
    margin-top:14px;
    font-size:15px;
    font-weight:700;
}
.pvn-status.is-success,.pvn-message-status.is-success{color:#47704c}
.pvn-status.is-error,.pvn-message-status.is-error{color:#a03838}
.pvn-separator{
    height:1px;
    margin:34px 0;
    background:linear-gradient(90deg,transparent,#d8bec2,transparent);
}
.pvn-message-form input,.pvn-message-form textarea,.pvn-password{
    width:100%;
    margin:0 0 12px;
    padding:14px;
    border:1px solid #d9c8cb;
    border-radius:11px;
    background:#fff;
    font:inherit;
}
.pvn-message-form textarea{
    min-height:130px;
    resize:vertical;
}
.pvn-gallery{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:10px;
}
.pvn-gallery img,.pvn-gallery video{
    width:100%;
    height:150px;
    object-fit:cover;
    border-radius:10px;
    background:#eee;
}
.pvn-empty{opacity:.7}
.pvn-footer{
    margin-top:28px;
    font-size:12px;
    opacity:.65;
}
@media(max-width:520px){
    .pvn-event-wrap{padding:10px;background:transparent}
    .pvn-event-card{padding:28px 16px;border-radius:18px}
    .pvn-gallery{grid-template-columns:repeat(2,1fr)}
    .pvn-gallery img,.pvn-gallery video{height:130px}
}
