/* Warners Subscription Gating — front-end styles */

.warners-login-wrap {
    max-width: 420px;
    margin: 0 auto;
}

.warners-login-form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.warners-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.warners-field label {
    font-size: 0.9rem;
    font-weight: 600;
}

.warners-field input {
    padding: 0.6rem 0.75rem;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
    box-sizing: border-box;
}

.warners-field input:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.25);
}

.warners-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.65rem 1.4rem;
    font-size: 1rem;
    font-weight: 600;
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s ease;
    align-self: flex-start;
}

.warners-btn:hover {
    background: #005a87;
}

.warners-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Spinner */
.warners-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: warners-spin 0.6s linear infinite;
}

@keyframes warners-spin {
    to { transform: rotate(360deg); }
}

/* Messages */
.warners-message {
    font-size: 0.9rem;
    padding: 0.6rem 0.9rem;
    border-radius: 4px;
    display: none;
}

.warners-message.warners-success {
    background: #edfaed;
    border: 1px solid #5cb85c;
    color: #2d6a2d;
    display: block;
}

.warners-message.warners-error {
    background: #fdf2f2;
    border: 1px solid #d9534f;
    color: #7b2020;
    display: block;
}

.warners-logout-link {
    font-size: 0.9rem;
}

.warners-already-logged-in {
    font-style: italic;
    color: #555;
}
