/* --------------------------------------------------------
   ARA TNA — pbr-members theme override.

   Loaded by the plugin AFTER its default stylesheet, so we mostly
   just remap the plugin's design tokens to the site palette and
   square off the corners. A couple of structural rules line the
   members pages up with the theme's centred content column.
-------------------------------------------------------- */

:root {
    /* Brand → site teal */
    --pbr-accent:        #0E7E94;
    --pbr-accent-hover:  #0B6477;
    --pbr-accent-soft:   #E1F1F4;
    --pbr-accent-ring:   rgba(14, 126, 148, 0.18);

    /* Text */
    --pbr-text:          #23262A;
    --pbr-text-muted:    #54585C;

    /* Surfaces */
    --pbr-bg:            #F1F5F3;
    --pbr-surface:       #FFFFFF;
    --pbr-border:        #E4EAE7;
    --pbr-border-strong: #CBD4D0;

    /* Danger → site terracotta */
    --pbr-danger:        #C0512F;
    --pbr-danger-hover:  #9E3F22;

    /* Square corners to match the theme */
    --pbr-radius:        2px;
    --pbr-radius-sm:     2px;
}

/* Line the members pages up with the theme's ~1100px content column
   (the auth cards keep their own narrow, centred width). */
.pbr-nav,
.pbr-content:not(.pbr-content--narrow) {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    /* include the nav's padding + border in its width so it lines up
       exactly with the content column (which has neither) */
    box-sizing: border-box;
}

/* Headings use the theme display font */
.pbr-content h1,
.pbr-page-head h1 {
    font-family: var(--serif);
    font-weight: 600;
}

/* Spacing */
.pbr-nav {
    margin-top: 7px;
    margin-bottom: 24px;
}

/* The theme's global `label { margin-left:20px }` indents every members-form
   label ("stepped in") — reset it, and size the field labels up from 14px. */
.pbr-content label {
    margin-left: 0;
}
.pbr-field label {
    font-size: 15px;
}

/* Taxonomy groups — shaded box with a larger heading */
.pbr-taxgroup {
    box-sizing: border-box;
    background: var(--pbr-bg);
    border: 1px solid var(--pbr-border);
    border-radius: var(--pbr-radius);
    padding: 20px 22px;
    margin-bottom: 22px;
}
.pbr-taxgroup__head {
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--pbr-text);
    margin-bottom: 14px;
}
.pbr-taxgroup .pbr-choices {
    gap: 10px 20px;
}

/* Companion free-text detail beside the job-type tick boxes */
.pbr-taxgroup__detail {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--pbr-border);
    max-width: 420px;
}
.pbr-taxgroup__detail label {
    display: block;
    font-weight: 600;
    font-size: 15px;
    color: var(--pbr-text);
    margin-bottom: 6px;
}
.pbr-taxgroup__detail input {
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--pbr-radius-sm);
    border: 1px solid var(--pbr-border-strong);
    font-size: 14px;
    color: var(--pbr-text);
    background: var(--pbr-surface);
    box-sizing: border-box;
}

/* Field label row + "Need help?" link next to the description */
.pbr-field-labelrow {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.pbr-help-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--pbr-accent);
    text-decoration: none;
    white-space: nowrap;
}
.pbr-help-link:hover { text-decoration: underline; }

/* Field instructions / hint text */
.pbr-field .pbr-hint,
.pbr-taxgroup__detail .pbr-hint {
    margin: 0 0 8px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--pbr-text-muted);
    font-weight: 400;
}
