/* ============================================================
   GD theme - GetDefensive (sitedata "gd", WebsiteID 1).
   BrandTheme loads this after member-v2.css in all three V2 masters.
   Colors follow the supplied public-site reference: navy, red, white.
   Scoped to GD; existing content layouts and controls are retained.
   ============================================================ */

body.mv2.brand-gd {
    --mv2-bg:          #f5f7fa;
    --mv2-surface:     #ffffff;
    --mv2-ink:         #17334f;
    --mv2-ink-2:       #4b5968;
    --mv2-ink-3:       #626e7b;
    --mv2-border:      #cad5e1;
    --mv2-border-soft: #dfe6ee;
    --mv2-primary:     #034880;
    --mv2-primary-dk:  #023763;
    --mv2-primary-soft:#edf4fa;
    /* A slightly deeper red keeps small labels and white button text legible. */
    --mv2-brand:       #e21e26;
    --gd-red:          #ed2024;
    --gd-red-dark:     #bd1820;
    --gd-red-soft:     #fff1f2;
    --mv2-radius:      10px;
    --mv2-radius-lg:   12px;
    --mv2-shadow:      0 1px 3px rgba(3, 72, 128, .06);
    --mv2-shadow-sm:   0 1px 2px rgba(3, 72, 128, .05);
}

/* White header and fine divider, matching the other partner facelifts.
   Clipped shadows extend the white band without adding horizontal overflow. */
body.mv2.brand-gd .mv2-header {
    background: var(--mv2-surface);
    border: 0;
    border-radius: 0;
    padding: 18px 6px;
    gap: 20px;
    box-shadow: 0 0 0 100vmax #fff, 0 1px 0 100vmax var(--mv2-border-soft);
    clip-path: inset(-120px -100vmax -1px -100vmax);
    position: sticky;
    top: 0;
    z-index: 60;
    margin-bottom: 26px;
}

body.mv2.brand-gd .mv2-logo img { max-height: 56px; }
body.mv2.brand-gd .mv2-nav { gap: 4px; }
body.mv2.brand-gd .mv2-nav a {
    color: var(--mv2-primary);
    font-weight: 500;
    border-radius: 6px;
    padding: 10px 12px;
}
body.mv2.brand-gd .mv2-nav a:hover {
    background: var(--mv2-primary-soft);
    color: var(--mv2-primary-dk);
}
body.mv2.brand-gd .mv2-nav li.active a,
body.mv2.brand-gd .mv2-nav a.active {
    background: var(--mv2-primary-soft);
    color: var(--mv2-primary);
    box-shadow: inset 0 -3px var(--gd-red);
    font-weight: 700;
}
body.mv2.brand-gd .mv2-header-right { gap: 16px; }
body.mv2.brand-gd .mv2-phone {
    color: var(--mv2-primary);
    font-size: 15px;
    padding-right: 16px;
    border-right: 1px solid var(--mv2-border);
}
body.mv2.brand-gd .mv2-signout { font-size: 14px; font-weight: 700; }

body.mv2.brand-gd .mv2-footer {
    background: var(--mv2-primary);
    border-top: 3px solid var(--gd-red);
    color: #fff;
    padding: 26px 24px;
}
body.mv2.brand-gd .mv2-footer a { color: #fff; text-decoration: underline; }

/* Navy headings and quiet form surfaces. */
body.mv2.brand-gd .mv2-page-head h1,
body.mv2.brand-gd .mv2-section-head h2,
body.mv2.brand-gd .mv2-profile-id h3,
body.mv2.brand-gd .mv2-upcard-body h3,
body.mv2.brand-gd .mv2-apppromo .mv2-app-txt h3 { color: var(--mv2-primary); }

body.mv2.brand-gd .mv2-tabs a { color: var(--mv2-ink-3); }
body.mv2.brand-gd .mv2-tabs a:hover,
body.mv2.brand-gd .mv2-tabs a.active { color: var(--mv2-primary); }

body.mv2.brand-gd a:focus-visible,
body.mv2.brand-gd button:focus-visible,
body.mv2.brand-gd input[type="submit"]:focus-visible {
    outline: 2px solid var(--mv2-primary);
    outline-offset: 3px;
}

body.mv2.brand-gd .mv2-current-chapter { background: var(--mv2-primary-soft); }
body.mv2.brand-gd .mv2-ring .mv2-ring-bg { stroke: #dfe8f1; }
body.mv2.brand-gd .mv2-progress-bar { background: #dfe8f1; }
body.mv2.brand-gd .mv2-profile-cta a,
body.mv2.brand-gd .mv2-viewall {
    background: var(--mv2-primary-soft);
    border-color: var(--mv2-border-soft);
    color: var(--mv2-primary);
    border-radius: var(--mv2-radius);
}
body.mv2.brand-gd .mv2-profile-cta a:hover,
body.mv2.brand-gd .mv2-viewall:hover { background: #dfeaf5; }

/* Accent cards use red; standard actions and progress inherit navy tokens.
   Exclude unavailable links so their existing disabled styling still wins. */
body.mv2.brand-gd .mv2-upcard.accent { border-top-color: var(--gd-red); }
body.mv2.brand-gd .mv2-upcard.accent .mv2-upcard-media { background: var(--gd-red-soft); }
body.mv2.brand-gd .mv2-upcard.accent .mv2-upcard-foot a:not(.disabled):not(.aspNetDisabled):hover {
    background: var(--gd-red-dark);
}

/* Referral band echoes the public site's navy strip with a red accent. */
body.mv2.brand-gd .mv2-refer {
    background: var(--mv2-primary);
    border-left: 4px solid var(--gd-red);
}
body.mv2.brand-gd .mv2-refer .mv2-btn-white { color: var(--mv2-primary); }
body.mv2.brand-gd .mv2-refer .mv2-btn-white:hover { background: var(--mv2-primary-soft); }
body.mv2.brand-gd .mv2-raf-step-ico {
    background: var(--mv2-primary);
    box-shadow: 0 6px 18px -6px rgba(3, 72, 128, .3);
}
body.mv2.brand-gd .mv2-raf-step-num {
    background: var(--mv2-brand);
    box-shadow: 0 4px 10px -3px rgba(226, 30, 38, .25);
}
body.mv2.brand-gd .mv2-raf-copy { background: var(--mv2-primary); }
body.mv2.brand-gd .mv2-raf-copy:hover { background: var(--mv2-primary-dk); }
body.mv2.brand-gd .mv2-raf-stat.is-perref {
    background: var(--mv2-primary-soft);
    border-color: var(--mv2-border);
}
body.mv2.brand-gd .mv2-raf-avatar { background: var(--mv2-primary); }

/* Lesson accents; semantic success, warning and error styles are retained. */
body.mv2.brand-gd .mv2-lesson-avatar {
    background: var(--mv2-primary-soft);
    color: var(--mv2-primary);
}
body.mv2.brand-gd .mv2-ef-prepcard { background: var(--gd-red-soft); }

/* Replace the embedded cyan upload icon, including its hover variant. */
body.mv2.brand-gd .mv2-upl-btn,
body.mv2.brand-gd .mv2-upl-btn:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23034880' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14.9A7 7 0 1 1 15.7 8h1.8a4.5 4.5 0 0 1 2.5 8.2'/%3E%3Cpolyline points='16 16 12 12 8 16'/%3E%3Cline x1='12' y1='12' x2='12' y2='21'/%3E%3C/svg%3E");
}
body.mv2.brand-gd .mv2-upl-btnwrap.mv2-btn-loading .mv2-upl-btn { background-image: none; }
body.mv2.brand-gd .mv2-upl-spinner {
    border-color: rgba(3, 72, 128, .3);
    border-top-color: var(--mv2-primary);
}

/* Keep the full GD lockup and navigation comfortable at narrower widths. */
@media (max-width: 1100px) {
    body.mv2.brand-gd .mv2-header { flex-wrap: wrap; position: static; }
    body.mv2.brand-gd .mv2-header-right { margin-left: auto; }
    body.mv2.brand-gd .mv2-nav {
        order: 3;
        width: 100%;
        justify-content: center;
        margin: 6px 0 0;
    }
}
@media (max-width: 720px) {
    body.mv2.brand-gd .mv2-header { padding: 14px 0; gap: 14px; }
    body.mv2.brand-gd .mv2-logo img { max-height: 46px; }
    body.mv2.brand-gd .mv2-phone { border-right: 0; padding-right: 0; font-size: 14px; }
    body.mv2.brand-gd .mv2-nav a { padding: 9px 11px; font-size: 14px; }
}
@media (max-width: 540px) {
    body.mv2.brand-gd .mv2-header-right { width: 100%; justify-content: space-between; }
}
