/* WeKit Integration – form styles
   CSS custom properties let the active theme override colours without touching this file. */

:root {
    --wekit-primary:      #2563eb;
    --wekit-primary-dark: #1d4ed8;
    --wekit-danger:       #dc2626;
    --wekit-success:      #16a34a;
    --wekit-border:       #d1d5db;
    --wekit-bg:           #f9fafb;
    --wekit-radius:       6px;
    --wekit-font:         inherit;
}

/* Container */
.wekit-form-wrap {
    max-width: 480px;
    font-family: var(--wekit-font);
}

/* Two-column row */
.wekit-row {
    display: flex;
    gap: 16px;
}
.wekit-row .wekit-field {
    flex: 1 1 0;
}
.wekit-row:first-of-type .wekit-field:first-of-type {
    margin-top: 0;
}
@media screen and (min-width: 481px) {
    .wekit-row:first-of-type .wekit-field {
        margin-top: 0;
    }    
}


/* Field group */
.wekit-field {
    margin-top: 16px;
}

.wekit-field label {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    margin-bottom: 4px;
    color: #374151;
}

.wekit-field input[type="text"],
.wekit-field input[type="email"],
.wekit-field input[type="password"],
.wekit-field input[type="date"],
.wekit-field select,
.wekit-field textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--wekit-border);
    border-radius: var(--wekit-radius);
    background: #fff;
    font-size: 1rem;
    line-height: 1.5;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.wekit-field input:focus,
.wekit-field select:focus,
.wekit-field textarea:focus {
    outline: none;
    border-color: var(--wekit-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* Privacy checkboxes */
.wekit-privacy {
    margin-top: 20px;
    margin-bottom: 20px;
}

.wekit-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.875rem;
    color: #4b5563;
    margin-bottom: 8px;
    cursor: pointer;
}

.wekit-checkbox input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--wekit-primary);
}

/* Actions row: button + text link side by side */
.wekit-form-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}

/* Text-style link button (e.g. "Password dimenticata?", "Torna al login") */
.wekit-link-btn {
    background: none;
    border: none;
    padding: 0;
    color: var(--wekit-primary);
    font-size: 0.875rem;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.wekit-link-btn:hover {
    color: var(--wekit-primary-dark);
}

/* Submit button */
.wekit-btn {
    display: inline-block;
    padding: 10px 24px;
    background: var(--wekit-primary);
    color: #fff;
    border: none;
    border-radius: var(--wekit-radius);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.wekit-btn:hover:not(:disabled) {
    background: var(--wekit-primary-dark);
}

.wekit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Message area */
.wekit-message {
    padding: 10px 14px;
    border-radius: var(--wekit-radius);
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.wekit-message:empty {
    display: none;
}

.wekit-message.error {
    background: #fee2e2;
    color: var(--wekit-danger);
    border: 1px solid #fca5a5;
}

.wekit-message.success {
    background: #dcfce7;
    color: var(--wekit-success);
    border: 1px solid #86efac;
}

/* Responsive */
@media (max-width: 480px) {
    .wekit-row {
        flex-direction: column;
        gap: 0;
    }
}
