.form-help { margin-top:10px; font-size:0.9rem; color:#555; }
.form-error { margin-top:10px; color:#a00035; }
.faq-question span { margin-left:12px; flex-shrink:0; }

@media (max-width:480px) {
    .logo { width:100%; }
    .steps { padding-left:28px; }
}

.logo { max-width:300px; }

.btn.submit {
    padding: 12px 28px;
    font-size: 0.875rem;
    width: auto;
    min-width: 200px;
    max-width: 400px;
    margin: 1.5rem auto 0;
    display: block;
}

label { margin-bottom:5px; display:block; font-weight:bold; }

input {
    font-family: urbane, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    padding: 12px;
    text-align: center;
    font-size: 1.4em;
    font-weight: 700;
    width: 100%;
    background-color: #fff;
    border: 2px solid #4B5563;
    border-radius: 0.75rem;
    max-width: 400px;
    margin-bottom: 1.25rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.responsive { width:80%; max-width:550px; }

p { max-width:600px; margin:0 auto; }

/* Section heading */
.section-heading {
    margin:40px auto 20px;
    font-size:1.4rem;
    font-weight:700;
    max-width:600px;
    text-align:left;
}

/* How it works */
.steps {
    max-width:600px;
    margin:20px auto;
    text-align:left;
    padding-left:52px;
}
.steps li {
    margin-bottom:14px;
    line-height:1.45;
}

/* FAQ styles */
.faq-accordion {
    max-width:600px;
    margin:40px auto;
    text-align:left;
}

.faq-subheading {
    font-size:1rem;
    font-weight:700;
    margin:60px 0 8px;
}

.faq-item {
    margin-bottom:12px;
}

.faq-question {
    width:100%;
    text-align:left;
    padding:0.9rem 1rem;
    border:1px solid #ddd;
    border-radius:10px;
    background:#f8f8f8;
    font-weight:600;
    font-size:0.95rem;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
}

.faq-answer {
    border:1px solid #ddd;
    border-top:none;
    border-radius:0 0 10px 10px;
    background:#fff;
    padding:0.9rem 1rem;
}

/* Gateway logo and controls use the same sizing as m.buzzpay.co.uk. */
.wrapper > .gateway-brand { margin:0; padding:0; max-width:none; }
.wrapper > .gateway-brand .logo { width:320px; max-width:100%; height:auto; margin:20px auto; display:block; }
.wrapper .btn.submit { display:flex; font-family:inherit; font-size:14px; line-height:20px; padding:12px 28px; min-height:44px; }
.wrapper input[type="text"] { font-size:16px; line-height:24px; padding:16px; min-height:60px; }

/* Preserve the visible tagline styling when used as the main heading. */
main .home-heading { margin:0 auto 24px; font-size:1.5em; font-weight:bold; line-height:normal; }
