
/* Core CSS override to defeat theme/plugin styling conflicts */
.pdrf-wrap,
.pdrf-wrap * ,
.pdrf-wrap *::before,
.pdrf-wrap *::after{
    box-sizing:border-box !important;
}

.pdrf-wrap{
    max-width:980px !important;
    width:100% !important;
    margin:40px auto !important;
    padding:20px !important;
    display:block !important;
    font-family:Arial, Helvetica, sans-serif !important;
    line-height:1.5 !important;
    color:#0f172a !important;
}

.pdrf-wrap .pdrf-card{
    display:block !important;
    width:100% !important;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border:1px solid #e5e7eb !important;
    border-radius:24px !important;
    box-shadow:0 20px 45px rgba(2,6,23,.08) !important;
    overflow:hidden !important;
}

.pdrf-wrap .pdrf-header{
    padding:32px 32px 18px !important;
    background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%) !important;
    color:#ffffff !important;
}

.pdrf-wrap .pdrf-header h2{
    display:block !important;
    margin:10px 0 8px !important;
    padding:0 !important;
    border:0 !important;
    font-size:34px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    color:#ffffff !important;
    text-align:left !important;
    text-transform:none !important;
    letter-spacing:normal !important;
}

.pdrf-wrap .pdrf-header p{
    margin:0 !important;
    padding:0 !important;
    font-size:15px !important;
    color:rgba(255,255,255,.92) !important;
    max-width:720px !important;
}

.pdrf-wrap .pdrf-badge{
    display:inline-block !important;
    background:rgba(255,255,255,.15) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
    color:#ffffff !important;
}

.pdrf-wrap .pdrf-form{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:30px 32px 34px !important;
    background:transparent !important;
}

.pdrf-wrap .pdrf-section{
    display:block !important;
    margin:0 0 28px 0 !important;
    padding:24px !important;
    border:1px solid #e5e7eb !important;
    border-radius:20px !important;
    background:#ffffff !important;
    box-shadow:none !important;
}

.pdrf-wrap .pdrf-section h3,
.pdrf-wrap .pdrf-section h4{
    display:block !important;
    margin:0 0 16px 0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#0f172a !important;
    font-weight:800 !important;
    text-transform:none !important;
}

.pdrf-wrap .pdrf-section h3{font-size:20px !important;}
.pdrf-wrap .pdrf-section h4{font-size:16px !important; margin-bottom:10px !important;}

.pdrf-wrap .pdrf-grid{
    display:grid !important;
    gap:16px !important;
}
.pdrf-wrap .pdrf-grid.two{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.pdrf-wrap .pdrf-field{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin:0 !important;
}
.pdrf-wrap .pdrf-field.two-col{grid-column:1 / -1 !important;}

.pdrf-wrap .pdrf-field label{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    color:#334155 !important;
}

.pdrf-wrap input[type="text"],
.pdrf-wrap input[type="email"],
.pdrf-wrap input[type="date"],
.pdrf-wrap input[type="datetime-local"],
.pdrf-wrap input[type="number"],
.pdrf-wrap input[type="tel"],
.pdrf-wrap textarea,
.pdrf-wrap select{
    appearance:none !important;
    -webkit-appearance:none !important;
    width:100% !important;
    min-height:52px !important;
    display:block !important;
    margin:0 !important;
    padding:14px 15px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    box-shadow:none !important;
    outline:none !important;
}

.pdrf-wrap textarea{
    min-height:96px !important;
    resize:vertical !important;
}

.pdrf-wrap input:focus,
.pdrf-wrap textarea:focus,
.pdrf-wrap select:focus{
    border-color:#2563eb !important;
    box-shadow:0 0 0 4px rgba(37,99,235,.12) !important;
}

.pdrf-wrap .pdrf-options{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
}

.pdrf-wrap .pdrf-options label{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:16px 18px !important;
    border:1px solid #dbeafe !important;
    border-radius:16px !important;
    background:#f8fbff !important;
    color:#0f172a !important;
    font-size:16px !important;
    font-weight:700 !important;
    cursor:pointer !important;
}

.pdrf-wrap .pdrf-options input[type="radio"],
.pdrf-wrap .pdrf-consent input[type="checkbox"]{
    appearance:auto !important;
    -webkit-appearance:auto !important;
    width:18px !important;
    height:18px !important;
    min-height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:none !important;
    box-shadow:none !important;
    background:initial !important;
    accent-color:#1d4ed8 !important;
    flex:0 0 auto !important;
}

.pdrf-wrap .pdrf-payment-panel{
    background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%) !important;
    border-color:#bfdbfe !important;
}

.pdrf-wrap .pdrf-muted{
    margin:-4px 0 16px 0 !important;
    color:#475569 !important;
    font-size:14px !important;
}

.pdrf-wrap .pdrf-terms{
    margin-top:16px !important;
    padding:18px !important;
    border:1px solid #e2e8f0 !important;
    border-radius:16px !important;
    background:#f8fafc !important;
}

.pdrf-wrap .pdrf-terms ul{
    margin:0 0 12px 18px !important;
    padding:0 !important;
}
.pdrf-wrap .pdrf-terms li{
    margin:0 0 8px 0 !important;
    color:#334155 !important;
}

.pdrf-wrap .pdrf-consent{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
    margin-top:6px !important;
    font-weight:600 !important;
    color:#0f172a !important;
}

.pdrf-wrap .pdrf-actions{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    text-align:right !important;
}

.pdrf-wrap .pdrf-btn,
.pdrf-wrap button.pdrf-btn,
.pdrf-wrap input[type="submit"].pdrf-btn{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-width:190px !important;
    min-height:56px !important;
    margin:0 !important;
    padding:16px 28px !important;
    border:none !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#1d4ed8 0%,#0f172a 100%) !important;
    color:#ffffff !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    text-transform:none !important;
    letter-spacing:normal !important;
    text-decoration:none !important;
    cursor:pointer !important;
    box-shadow:0 12px 30px rgba(29,78,216,.26) !important;
}
.pdrf-wrap .pdrf-btn:hover{transform:translateY(-1px) !important;}

.pdrf-wrap .pdrf-alert{
    display:block !important;
    margin:18px 32px 0 !important;
    padding:14px 16px !important;
    border-radius:14px !important;
    font-size:14px !important;
    font-weight:600 !important;
}
.pdrf-wrap .pdrf-error{background:#fef2f2 !important;color:#991b1b !important;border:1px solid #fecaca !important;}
.pdrf-wrap .pdrf-success{background:#eff6ff !important;color:#1d4ed8 !important;border:1px solid #bfdbfe !important;}

@media (max-width: 780px){
    .pdrf-wrap{padding:12px !important; margin:20px auto !important;}
    .pdrf-wrap .pdrf-grid.two,
    .pdrf-wrap .pdrf-options{grid-template-columns:1fr !important;}
    .pdrf-wrap .pdrf-form{padding:20px !important;}
    .pdrf-wrap .pdrf-header{padding:24px !important;}
    .pdrf-wrap .pdrf-header h2{font-size:28px !important;}
    .pdrf-wrap .pdrf-section{padding:18px !important;}
    .pdrf-wrap .pdrf-actions{justify-content:stretch !important;}
    .pdrf-wrap .pdrf-btn{width:100% !important;}
}
