/**
 * Styles for /local/trialsignup/signup.php
 *
 * Targets only the trial signup page; doesn't affect anything else.
 */

/* ---------- Page-level wrapper ---------- */
body.path-local-trialsignup #region-main {
    max-width: 960px;
    margin: 2rem auto;
    padding: 2.5rem;
    background: var(--white, #fff);
    border-radius: 0.75rem;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* Hide the redundant "Sign up for your free trial" page header
   since the form has its own centered title block. */
body.path-local-trialsignup #page-header,
body.path-local-trialsignup .page-header-headings {
    display: none;
}

/* ---------- Title + subtitle ---------- */
.local-trialsignup-title {
    font-weight: 700;
    color: var(--body-color, #1d2125);
    margin: 0 0 0.5rem;
}

.local-trialsignup-subtitle {
    color: var(--gray-700, #495057);
    font-size: 1rem;
}

.local-trialsignup-subtitle strong {
    color: var(--primary, #0f6cbf);
    font-weight: 600;
}

/* ---------- Form layout ---------- */
.local-trialsignup-form .row {
    margin-left: -1rem;
    margin-right: -1rem;
}

/* Form field spacing */
.local-trialsignup-form .fitem {
    margin-bottom: 1rem;
}

.local-trialsignup-form .col-form-label,
.local-trialsignup-form label {
    font-weight: 600;
    color: var(--body-color, #1d2125);
    margin-bottom: 0.4rem;
}

/* Input styling */
.local-trialsignup-form input[type="text"],
.local-trialsignup-form input[type="email"],
.local-trialsignup-form input[type="password"],
.local-trialsignup-form select {
    border: 1px solid var(--gray-400, #ced4da);
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
}

.local-trialsignup-form input:focus,
.local-trialsignup-form select:focus {
    border-color: var(--primary, #0f6cbf);
    box-shadow: 0 0 0 3px rgba(15, 108, 191, 0.15);
    outline: none;
}

/* Required asterisks */
.local-trialsignup-form .req {
    color: var(--danger, #ca3120);
    font-size: 0.85em;
}

/* ---------- Submit button ---------- */
.local-trialsignup-actions .submit,
.local-trialsignup-actions input[type="submit"],
.local-trialsignup-actions button[type="submit"] {
    padding: 0.65rem 2.5rem;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 0.375rem;
}

/* Hide cancel button if it ever shows up */
.local-trialsignup-actions input[name="cancel"],
.local-trialsignup-actions button[name="cancel"] {
    display: none;
}

/* ---------- Confirmation page ---------- */
.local-trialsignup-confirm h2 {
    color: var(--success, #357a32);
    font-weight: 700;
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
    body.path-local-trialsignup #region-main {
        margin: 0.5rem;
        padding: 1.25rem;
        border-radius: 0.5rem;
    }
}
/* ---------- Center & constrain the whole form on the page ---------- */
body.path-local-trialsignup #region-main {
    max-width: 880px;
    margin: 2rem auto;
}

/* ---------- Make password policy text more compact ---------- */
.local-trialsignup-form #fitem_passwordpolicyinfo small,
.local-trialsignup-form [id*="passwordpolicyinfo"] small {
    font-size: 0.7rem;
    line-height: 1.3;
    color: var(--gray-600, #6c757d);
}

/* ---------- Align column tops so uneven heights don't push fields ---------- */
.local-trialsignup-form .row {
    align-items: flex-start;
}

/* ---------- Form labels: stack above field instead of beside it ---------- */
.local-trialsignup-form .fitem {
    flex-direction: column;
    align-items: stretch;
}

.local-trialsignup-form .fitem .col-form-label,
.local-trialsignup-form .fitem .fitemtitle {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    padding: 0;
    margin-bottom: 0.4rem;
    text-align: left;
}

.local-trialsignup-form .fitem .felement,
.local-trialsignup-form .fitem .form-inline {
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
    padding: 0;
}

/* ---------- Required asterisk position ---------- */
.local-trialsignup-form .fitem .col-form-label .req,
.local-trialsignup-form .fitem .fitemtitle .req {
    display: inline-block;
    margin-left: 0.25rem;
    vertical-align: middle;
}