/* =========================================================
   MATEO TE VEMOS — BUTTONS, FORMS AND MODALS
========================================================= */

.google-login-btn,
.firebase-login-btn,
.login-card button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 11px 24px;

    color: #272727;
    background: rgba(255, 255, 255, 0.95);

    border: 0;
    border-radius: var(--radius-sm);

    font-weight: 650;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.24);

    transition:
        background-color var(--transition-fast),
        transform var(--transition-fast);
}

.google-login-btn:hover,
.firebase-login-btn:hover,
.login-card button:hover {
    color: #272727;
    background: #ffffff;

    transform: translateY(-1px);
}

.wp-button,
.button,
button.wp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 40px;
    padding: 8px 15px;

    color: var(--color-text);
    background: #ffffff;

    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-xs);

    font-size: 14px;
    font-weight: 600;

    transition:
        color var(--transition-fast),
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        transform var(--transition-fast);
}

.wp-button:hover,
.button:hover {
    color: var(--color-primary-dark);
    border-color: var(--color-primary);
}

.wp-button-primary {
    color: #ffffff;
    background: var(--color-primary);
    border-color: var(--color-primary);
}

.wp-button-primary:hover {
    color: #ffffff;
    background: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

.wp-button-danger {
    color: var(--color-danger);
    border-color: #dfa8a9;
}

.wp-button-danger:hover {
    color: #ffffff;
    background: var(--color-danger);
    border-color: var(--color-danger);
}

.wp-button-dark {
    color: #ffffff;
    background: var(--color-header-soft);
    border-color: var(--color-header-soft);
}

.wp-button-dark:hover {
    color: #ffffff;
    background: var(--color-header);
}

label {
    display: block;
    margin-bottom: 6px;

    color: var(--color-text);

    font-size: 13px;
    font-weight: 650;
}

input,
select,
textarea {
    width: 100%;
    min-height: 40px;
    padding: 8px 11px;

    color: var(--color-text);
    background: #ffffff;

    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-xs);

    transition:
        border-color var(--transition-fast),
        box-shadow var(--transition-fast);
}

textarea {
    min-height: 140px;
    resize: vertical;
}

input:hover,
select:hover,
textarea:hover {
    border-color: #8c8f94;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--color-link);

    outline: none;

    box-shadow: 0 0 0 1px var(--color-link);
}

input::placeholder,
textarea::placeholder {
    color: var(--color-text-muted);
}

.modal {
    position: fixed;
    inset: 0;
    z-index: 5000;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background: rgba(0, 0, 0, 0.62);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.modal-content {
    position: relative;

    width: min(100%, 560px);
    max-height: calc(100vh - 48px);
    padding: 24px;

    overflow: auto;

    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);

    box-shadow: var(--shadow-lg);
}

.modal .close {
    position: absolute;
    top: 12px;
    right: 15px;

    color: var(--color-text-secondary);

    font-size: 28px;
    line-height: 1;

    cursor: pointer;
}

.modal .close:hover {
    color: var(--color-text);
}
