/* ─── Dialog ─────────────────────────────────────────────────────────────── */

#sponsorship-dialog {
    /* override inline styles from PHP */
    position:      fixed !important;
    top:           50% !important;
    left:          50% !important;
    transform:     translate(-50%, -50%) !important;
    background:    white !important;
    border:        none !important;
    border-radius: 10px !important;
    padding:       28px 32px !important;
    z-index:       9999 !important;
    min-width:     340px !important;
    max-width:     420px;
    width:         90vw;
    box-shadow:    0 8px 32px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.10);
    font-family:   var(--sp-font-ui);
}

/* Backdrop */
#sp-dialog-backdrop {
    position:   fixed;
    inset:      0;
    background: rgba(44, 42, 38, .45);
    z-index:    9998;
    backdrop-filter: blur(2px);
}

#sponsorship-dialog h3 {
    font-family:   var(--sp-font-display);
    font-size:     20px;
    font-weight:   600;
    color:         var(--sp-ink);
    margin:        0 0 18px;
    padding:       0;
    border:        none;
}

#sponsorship-dialog p {
    font-size:  14px;
    color:      var(--sp-ink);
    margin:     0 0 10px;
    line-height: 1.5;
}

#sponsorship-dialog strong {
    color:       var(--sp-ink-muted);
    font-weight: 500;
    font-size:   11px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

#sponsorship-dialog #dialog-title,
#sponsorship-dialog #dialog-price {
    font-size:   15px;
    font-weight: 600;
    color:       var(--sp-ink);
}

/* Radio group */
#sponsorship-dialog label {
    display:     flex;
    align-items: center;
    gap:         8px;
    font-size:   14px;
    color:       var(--sp-ink);
    margin:      6px 0;
    cursor:      pointer;
}

#sponsorship-dialog input[type="radio"]:disabled + span,
#sponsorship-dialog label:has(input:disabled) {
    color:  var(--sp-ink-muted);
    cursor: not-allowed;
}

/* Input fields */
#sponsorship-dialog input[type="text"],
#sponsorship-dialog input[type="email"] {
    width:         100% !important;
    box-sizing:    border-box;
    border:        1px solid var(--sp-border-strong);
    border-radius: 5px;
    padding:       7px 10px;
    font-family:   var(--sp-font-ui);
    font-size:     14px;
    color:         var(--sp-ink);
    background:    var(--sp-bg);
    transition:    border-color .15s, box-shadow .15s;
    margin-top:    4px;
}

#sponsorship-dialog input[type="text"]:focus,
#sponsorship-dialog input[type="email"]:focus {
    outline:    none;
    border-color: #4A6FA5;
    box-shadow: 0 0 0 3px rgba(74,111,165,.15);
}

#sponsorship-dialog label > span {
    font-size:   12px;
    font-weight: 500;
    color:       var(--sp-ink-muted);
    display:     block;
    margin-bottom: 2px;
}

/* Buttons */
#sponsorship-dialog .button,
#sponsorship-dialog .button-primary {
    border-radius: 5px !important;
    font-family:   var(--sp-font-ui) !important;
    font-size:     13px !important;
    font-weight:   500 !important;
    padding:       7px 18px !important;
    height:        auto !important;
    line-height:   1.4 !important;
    transition:    background .15s, box-shadow .15s !important;
    cursor:        pointer !important;
}

#sponsorship-dialog .button-primary {
    background:  var(--sp-ink) !important;
    border-color: var(--sp-ink) !important;
    color:       #fff !important;
    box-shadow:  none !important;
}

#sponsorship-dialog .button-primary:hover {
    background:  #1a1814 !important;
    box-shadow:  0 2px 8px rgba(0,0,0,.18) !important;
}

#sponsorship-dialog .button:not(.button-primary) {
    background:  transparent !important;
    border:      1px solid var(--sp-border-strong) !important;
    color:       var(--sp-ink-muted) !important;
}

#sponsorship-dialog .button:not(.button-primary):hover {
    border-color: var(--sp-ink) !important;
    color:        var(--sp-ink) !important;
}

/* Button row */
.sp-dialog-actions {
    display:         flex;
    gap:             8px;
    margin-top:      20px;
    justify-content: flex-end;
}

/* Field group spacing */
#dialog-step2 p {
    margin-bottom: 8px;
}

/* ─── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
    #sponsorship-dialog {
        padding: 20px 18px !important;
        min-width: unset !important;
    }
}