.subscription-form-title {
    font-size:28px;
    font-weight:bold;
    margin-bottom:10px;
}

#payment_form {
    font-size:16px;
}

.subscription-form-description {
    margin-bottom:10px;
}

div.submit {
    text-align:right;
}


/* Plan selector */
.plan-selector { padding:8px 10px; }
.plan-group { margin-bottom:8px; }
.plan-group-name { font-weight:600; font-size:15px; margin-bottom:4px; color:#222; }
.plan-group-name a { font-size:13px; cursor:pointer; }
.plan-group-options { display:flex; gap:6px; }
.plan-option {
    flex:1;
    display:flex;
    flex-direction:column;
    border:2px solid var(--border-subtle);
    border-radius:5px;
    padding:7px 10px;
    cursor:pointer;
    transition:border-color 0.15s, background-color 0.15s;
}
.plan-option:hover { border-color:#999; }
.plan-option:has(input:checked) { border-color:#2a7d2a; background-color:#f0f9f0; }
.plan-option-main { display:flex; align-items:center; gap:6px; }
.plan-option-main input[type="radio"] { margin:0; flex-shrink:0; }
.plan-option-price { font-size:13px; font-weight:600; color:#222; }
.plan-option-note { font-size:11px; color:#2a7d2a; font-weight:500; margin-left:20px; }

#payment_form .plan-option-main input[type="radio"]:disabled + .plan-option-price { color:#AAA; }

.cc_spinner {
    width:56px;
    display:none;
}

#cc_button, #paypal_next_button {
    border:1px solid #444;
    padding: 5px 10px;
    font-weight:bold;
    margin-bottom:10px;
    background-color:#a7eca7;
    border-radius:5px;
    width:130px;
}

div.footer-note {
  font-size: 12px;
  font-style:italic;
}


img {display:inline;}

[type=text] {font-size:14px;}

.table {text-align:left;}


.error_message {
    background-color:#FFA4A4;
    padding: 5px 10px;
    font-style: italic;
    margin:5px;
    border-radius:5px;
    opacity: 0;
    visibility: hidden;
}

.error_message.visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s, visibility 0.5s;
}

.credit-amount {
    font-size:14px;
    padding:10px 0;
}

#top_errors {
    padding: 20px;
    background-color: #FDD;
    border-radius: 5px;
    margin: 5px;
    border:1px solid #000;
}