#dirpir-form .dirpir-wrap,
.dirpir-wrap {
    max-width: 950px;
    margin: 20px auto;
    padding: 28px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 25px rgba(0,0,0,.06);
    box-sizing: border-box;
}
.dirpir-wrap h2 { margin-top:0; }
.dirpir-section { margin-top:25px; margin-bottom:12px; border-bottom:1px solid #e5e7eb; }
.dirpir-section h3 { margin-bottom:8px; }
.dirpir-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dirpir-full { grid-column:1/-1; }
.dirpir-wrap label { display:block; font-weight:600; margin-bottom:6px; }
.dirpir-wrap input[type=text],
.dirpir-wrap input[type=email],
.dirpir-wrap input[type=tel],
.dirpir-wrap input[type=number],
.dirpir-wrap select,
.dirpir-wrap textarea {
    width:100%;
    padding:11px 12px;
    border:1px solid #d1d5db;
    border-radius:7px;
    box-sizing:border-box;
}
.dirpir-check { display:flex !important; gap:10px; align-items:flex-start; font-weight:400 !important; }
.dirpir-check input { margin-top:4px; }
.dirpir-payment {
    margin:25px 0 15px;
    padding:15px;
    border-radius:8px;
    background:#f3f4f6;
    font-size:18px;
}
#dirpir-pay-button {
    border:0;
    border-radius:7px;
    padding:13px 24px;
    cursor:pointer;
    font-weight:700;
    font-size:16px;
}
#dirpir-pay-button:disabled { opacity:.6; cursor:not-allowed; }
.dirpir-message { margin-bottom:18px; padding:14px; border-radius:7px; }
.dirpir-message.success { background:#ecfdf5; border:1px solid #10b981; }
.dirpir-message.error { background:#fef2f2; border:1px solid #ef4444; }
#dirpir-loading { margin-top:10px; }
@media(max-width:700px) {
    .dirpir-grid { grid-template-columns:1fr; }
    .dirpir-full { grid-column:auto; }
    .dirpir-wrap { padding:18px; }
}
