/*
 * BAP Online Membership Application v1.4.1
 * STANDALONE REGISTRATION MODULE
 *
 * This stylesheet is loaded only on the confirmed membership application page.
 * It does not style the site header, navigation, directories, profiles, login, or unrelated pages.
 * Every visual rule is confined to .bap-reg-shell on the confirmed
 * registration page.
 */

body.bap-registration-page .bap-reg-shell {
    --reg-navy: var(--bap-navy, #06183f);
    --reg-blue: var(--bap-blue, #0a3b91);
    --reg-gold: var(--bap-gold, #f4b400);
    --reg-red: var(--bap-red, #ce1126);
    --reg-surface: var(--bap-surface, #ffffff);
    --reg-ink: var(--bap-ink, #0b1633);
    --reg-muted: var(--bap-muted, #697386);
    --reg-line: var(--bap-line, #d9dee7);
    position: relative;
    left: 50%;
    width: min(1120px, calc(100vw - 48px));
    max-width: none;
    margin: clamp(28px, 4vw, 58px) 0 52px;
    color: var(--reg-ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    transform: translateX(-50%);
}

body.bap-registration-page .bap-reg-shell,
body.bap-registration-page .bap-reg-shell * {
    box-sizing: border-box;
}

/* Basketball hero: real HTML/CSS only. */
body.bap-registration-page .bap-reg-intro {
    position: relative;
    isolation: isolate;
    min-height: 292px;
    padding: 34px 46px 28px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 84% 30%, rgba(65,170,255,.28), transparent 26%),
        linear-gradient(115deg, #031c5b 0%, #073891 52%, #0a4bc5 100%);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 22px 48px rgba(5,22,64,.18);
}

body.bap-registration-page .bap-reg-intro::before {
    content: "";
    position: absolute;
    z-index: -3;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(244,180,0,.68) 1.15px, transparent 1.65px);
    background-size: 13px 13px;
    background-position: right 34px top 34px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0 56%, #000 72% 100%);
    mask-image: linear-gradient(90deg, transparent 0 56%, #000 72% 100%);
}

body.bap-registration-page .bap-reg-intro::after {
    content: "";
    position: absolute;
    z-index: 8;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--reg-gold) 0 70%, var(--reg-red) 70% 100%);
}

body.bap-registration-page .bap-reg-ribbon {
    position: absolute;
    z-index: -1;
    width: 158px;
    height: 18px;
    pointer-events: none;
    background: linear-gradient(90deg, var(--reg-gold) 0 28%, var(--reg-red) 28% 100%);
}

body.bap-registration-page .bap-reg-ribbon-left {
    left: -70px;
    bottom: 58px;
    transform: rotate(-49deg);
}

body.bap-registration-page .bap-reg-ribbon-right {
    right: -44px;
    top: 54px;
    transform: rotate(-49deg);
}

body.bap-registration-page .bap-reg-ball-art {
    position: absolute;
    z-index: -2;
    top: 25px;
    right: 72px;
    width: 238px;
    height: 238px;
    pointer-events: none;
    border: 3px solid rgba(92,194,255,.78);
    border-radius: 50%;
    box-shadow: 0 0 32px rgba(70,183,255,.38), inset 0 0 25px rgba(70,183,255,.14);
    transform: rotate(17deg);
}

body.bap-registration-page .bap-reg-ball-art::before,
body.bap-registration-page .bap-reg-ball-art::after {
    content: "";
    position: absolute;
    border: 2px solid rgba(92,194,255,.7);
    border-radius: 50%;
}

body.bap-registration-page .bap-reg-ball-art::before { inset: 28px 86px; }
body.bap-registration-page .bap-reg-ball-art::after { inset: 86px 28px; }

body.bap-registration-page .bap-reg-court-art {
    position: absolute;
    z-index: -2;
    left: 18px;
    bottom: 28px;
    width: 210px;
    height: 118px;
    opacity: .2;
    pointer-events: none;
    border: 1px solid rgba(130,194,255,.55);
    border-left: 0;
}

body.bap-registration-page .bap-reg-court-art::before {
    content: "";
    position: absolute;
    top: 25px;
    left: 28px;
    width: 64px;
    height: 64px;
    border: 2px solid rgba(130,194,255,.55);
    border-radius: 50%;
}

body.bap-registration-page .bap-reg-brandline {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

body.bap-registration-page .bap-reg-brand-mark {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 6px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 12px;
}

body.bap-registration-page .bap-reg-brand-mark img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    animation: none !important;
    filter: none !important;
    transform: none !important;
}

body.bap-registration-page .bap-reg-brand-mark span,
body.bap-registration-page .bap-reg-kicker {
    color: #ffd24b;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

body.bap-registration-page .bap-reg-intro h1 {
    position: relative;
    z-index: 3;
    max-width: 760px;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(38px, 4.15vw, 56px) !important;
    font-weight: 850 !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em;
    text-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
    white-space: nowrap;
}

body.bap-registration-page .bap-reg-intro > p {
    position: relative;
    z-index: 3;
    max-width: 670px;
    margin: 13px 0 0 !important;
    color: rgba(255,255,255,.91) !important;
    font-size: 15px;
    line-height: 1.55;
}

body.bap-registration-page .bap-reg-guide {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 26px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.bap-registration-page .bap-reg-guide li {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
    color: rgba(255,255,255,.94) !important;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.25;
    white-space: nowrap;
}

body.bap-registration-page .bap-reg-guide li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: calc(100% - 2px);
    width: 18px;
    height: 2px;
    background: rgba(255,255,255,.34);
}

body.bap-registration-page .bap-reg-guide-number {
    display: inline-grid;
    place-items: center;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    color: #fff;
    background: rgba(3,28,82,.58);
    border: 2px solid rgba(255,255,255,.58);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
}

body.bap-registration-page .bap-reg-guide li.is-current,
body.bap-registration-page .bap-reg-guide li.is-current > span:last-child {
    color: #ffd24b !important;
}

body.bap-registration-page .bap-reg-guide li.is-current .bap-reg-guide-number {
    color: #0c2b6e;
    background: #ffd24b;
    border-color: #ffd24b;
    box-shadow: 0 0 0 4px rgba(255,210,75,.12);
}

/* White form body, aligned exactly with the hero. */
body.bap-registration-page .bap-reg-panel {
    overflow: hidden;
    color: var(--reg-ink);
    background: var(--reg-surface);
    border: 1px solid var(--reg-line);
    border-top: 0;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 18px 42px rgba(8,27,66,.1);
}

body.bap-registration-page .bap-reg-panel-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 38px 20px;
    border-bottom: 1px solid var(--reg-line);
}

body.bap-registration-page .bap-reg-panel-eyebrow {
    color: #d3a20b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}

body.bap-registration-page .bap-reg-panel-head h2 {
    margin: 4px 0 0 !important;
    color: #10275c !important;
    font-size: clamp(28px, 3vw, 39px) !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    letter-spacing: -.03em;
    text-transform: none !important;
    text-shadow: none !important;
}

body.bap-registration-page .bap-reg-required-note {
    color: var(--reg-muted);
    font-size: 13px;
    text-align: right;
}

body.bap-registration-page .bap-reg-form-body {
    padding: 22px 36px 14px;
}

/* Neutralize the old dark registration skin, but only inside this wrapper. */
body.bap-registration-page .bap-reg-shell .um-register,
body.bap-registration-page .bap-reg-shell .um-register .um-form,
body.bap-registration-page .bap-reg-shell .um-register .um-row,
body.bap-registration-page .bap-reg-shell .um-register .um-col-1,
body.bap-registration-page .bap-reg-shell .um-register .um-col-2,
body.bap-registration-page .bap-reg-shell .bap-registration-form,
body.bap-registration-page .bap-reg-shell .bap-member-registration {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--reg-ink) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.bap-registration-page.bap-registration-columns-2 .bap-reg-shell .um-register .um-col-1 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 30px;
}

body.bap-registration-page.bap-registration-columns-1 .bap-reg-shell .um-register .um-col-1 {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 20px;
}

body.bap-registration-page .bap-reg-shell .um-field {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--reg-ink) !important;
    background: transparent !important;
    border: 0 !important;
}

body.bap-registration-page .bap-reg-shell .um-field.bap-field-wide,
body.bap-registration-page .bap-reg-shell .bap-reg-section-heading,
body.bap-registration-page .bap-reg-shell .um-field-block,
body.bap-registration-page .bap-reg-shell .um-field-divider,
body.bap-registration-page .bap-reg-shell .um-field-spacing {
    grid-column: 1 / -1;
}

body.bap-registration-page .bap-reg-section-heading {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 38px;
    margin: 12px 0 6px;
    padding: 12px 0 10px;
    color: #10275c;
    border-bottom: 1px solid var(--reg-line);
    font-size: 16px;
    font-weight: 850;
}

body.bap-registration-page .bap-reg-section-heading > span:last-child {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

body.bap-registration-page .bap-reg-section-index {
    display: inline-grid;
    place-items: center;
    min-width: 36px;
    height: 24px;
    padding: 0 8px;
    color: #10275c;
    background: #e0b22e;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

body.bap-registration-page .bap-reg-section-chapter_documents {
    margin-top: 16px;
}

body.bap-registration-page .bap-reg-shell .um-field-label {
    margin: 0 0 7px !important;
}

body.bap-registration-page .bap-reg-shell .um-field-label,
body.bap-registration-page .bap-reg-shell .um-field-label label,
body.bap-registration-page .bap-reg-shell label,
body.bap-registration-page .bap-reg-shell .um-field-radio-option,
body.bap-registration-page .bap-reg-shell .um-field-checkbox-option {
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: .02em;
}

body.bap-registration-page .bap-reg-shell input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
body.bap-registration-page .bap-reg-shell select,
body.bap-registration-page .bap-reg-shell textarea,
body.bap-registration-page .bap-reg-shell .select2-container .select2-selection--single,
body.bap-registration-page .bap-reg-shell .select2-container .select2-selection--multiple {
    width: 100% !important;
    min-height: 48px !important;
    padding: 11px 14px !important;
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    background: #fff !important;
    border: 1px solid #d7deea !important;
    border-radius: 8px !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body.bap-registration-page .bap-reg-shell textarea {
    min-height: 110px !important;
    resize: vertical;
}

body.bap-registration-page .bap-reg-shell input::placeholder,
body.bap-registration-page .bap-reg-shell textarea::placeholder,
body.bap-registration-page .bap-reg-shell .select2-selection__placeholder {
    color: #808ba0 !important;
    -webkit-text-fill-color: #808ba0 !important;
    opacity: 1 !important;
}

body.bap-registration-page .bap-reg-shell input:focus,
body.bap-registration-page .bap-reg-shell select:focus,
body.bap-registration-page .bap-reg-shell textarea:focus,
body.bap-registration-page .bap-reg-shell .select2-container--focus .select2-selection {
    border-color: #d5aa25 !important;
    box-shadow: 0 0 0 3px rgba(213,170,37,.14) !important;
}

body.bap-registration-page .bap-reg-shell .select2-selection__rendered {
    padding: 0 !important;
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    line-height: 25px !important;
}

body.bap-registration-page .bap-reg-shell .select2-selection__arrow {
    top: 50% !important;
    right: 10px !important;
    transform: translateY(-50%);
}

body.bap-registration-page .bap-location-panel {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px 22px;
    grid-column: 1 / -1;
    margin-top: 8px !important;
    padding: 18px !important;
    background: #fbfcfe !important;
    border: 1px solid var(--reg-line) !important;
    border-radius: 12px !important;
}

body.bap-registration-page .bap-location-panel > * {
    min-width: 0;
}

body.bap-registration-page .bap-location-panel-note,
body.bap-registration-page .bap-location-league {
    grid-column: 1 / -1;
}

body.bap-registration-page .bap-location-region {
    grid-column: 1 / -1;
}

body.bap-registration-page .bap-location-province {
    grid-column: 1 / 7;
}

body.bap-registration-page .bap-location-city {
    grid-column: 7 / -1;
}

body.bap-registration-page .bap-location-panel-note {
    margin: 0 !important;
    color: #d3a20b !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
}

body.bap-registration-page .bap-location-panel .um-field {
    margin: 0 !important;
    align-self: start;
}

body.bap-registration-page .bap-location-city .um-field-label,
body.bap-registration-page .bap-location-city .um-field-label label {
    max-width: 110px;
}

/* Center all button labels horizontally and vertically. */
body.bap-registration-page .bap-reg-shell .um-button,
body.bap-registration-page .bap-reg-shell button,
body.bap-registration-page .bap-reg-shell input[type="submit"],
body.bap-registration-page .bap-reg-shell input[type="button"],
body.bap-registration-page .bap-reg-shell .um-file-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 11px 24px !important;
    text-align: center !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
}

body.bap-registration-page .bap-reg-shell .um-button,
body.bap-registration-page .bap-reg-shell input[type="submit"],
body.bap-registration-page .bap-reg-shell .um-file-button {
    color: #0b2458 !important;
    -webkit-text-fill-color: #0b2458 !important;
    background: linear-gradient(135deg, #e1b42d, #ffd45c) !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(208,161,20,.2) !important;
}

body.bap-registration-page .bap-reg-privacy {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 12px 36px 24px;
    padding-top: 16px;
    color: var(--reg-muted);
    border-top: 1px solid var(--reg-line);
    font-size: 12px;
}

body.bap-registration-page .bap-reg-privacy svg {
    width: 18px;
    height: 18px;
    fill: #d3a20b;
}

/* Dropdown panel belongs to Select2 and may be attached to body. Scope via page class. */
body.bap-registration-page .select2-dropdown {
    color: #14284e !important;
    background: #fff !important;
    border: 1px solid #d7deea !important;
}

body.bap-registration-page .select2-results__option {
    color: #14284e !important;
    background: #fff !important;
}

body.bap-registration-page .select2-results__option--highlighted {
    color: #0b2458 !important;
    background: #ffd45c !important;
}

@media (max-width: 1050px) {
    body.bap-registration-page .bap-reg-shell {
        width: min(960px, calc(100vw - 28px));
    }

    body.bap-registration-page .bap-reg-intro h1 {
        font-size: clamp(34px, 4.7vw, 48px) !important;
    }

    body.bap-registration-page .bap-reg-guide {
        gap: 10px;
    }

    body.bap-registration-page .bap-reg-guide li {
        font-size: 12px;
    }

    body.bap-registration-page .bap-reg-guide li:not(:last-child)::after {
        display: none;
    }
}

@media (max-width: 820px) {
    body.bap-registration-page .bap-reg-intro {
        min-height: 0;
        padding: 28px 24px 26px;
    }

    body.bap-registration-page .bap-reg-intro h1 {
        white-space: normal;
    }

    body.bap-registration-page .bap-reg-ball-art {
        right: 20px;
        width: 170px;
        height: 170px;
        opacity: .55;
    }

    body.bap-registration-page .bap-reg-guide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.bap-registration-page.bap-registration-columns-2 .bap-reg-shell .um-register .um-col-1,
    body.bap-registration-page .bap-location-panel {
        grid-template-columns: 1fr !important;
    }

    body.bap-registration-page .bap-location-region,
    body.bap-registration-page .bap-location-province,
    body.bap-registration-page .bap-location-city,
    body.bap-registration-page .bap-location-league,
    body.bap-registration-page .bap-location-panel-note {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 560px) {
    body.bap-registration-page .bap-reg-shell {
        width: calc(100vw - 16px);
        margin-top: 18px;
    }

    body.bap-registration-page .bap-reg-intro {
        padding: 24px 18px 26px;
        border-radius: 15px 15px 0 0;
    }

    body.bap-registration-page .bap-reg-ball-art,
    body.bap-registration-page .bap-reg-court-art {
        display: none;
    }

    body.bap-registration-page .bap-reg-intro h1 {
        font-size: 31px !important;
    }

    body.bap-registration-page .bap-reg-guide {
        grid-template-columns: 1fr;
    }

    body.bap-registration-page .bap-reg-panel-head {
        display: block;
        padding: 23px 18px 16px;
    }

    body.bap-registration-page .bap-reg-required-note {
        margin-top: 8px;
        text-align: left;
    }

    body.bap-registration-page .bap-reg-form-body {
        padding: 18px;
    }

    body.bap-registration-page .bap-reg-privacy {
        margin: 10px 18px 20px;
    }

    body.bap-registration-page .bap-reg-shell .um-button,
    body.bap-registration-page .bap-reg-shell button,
    body.bap-registration-page .bap-reg-shell input[type="submit"],
    body.bap-registration-page .bap-reg-shell input[type="button"],
    body.bap-registration-page .bap-reg-shell .um-file-button {
        width: 100% !important;
    }
}

/* v1.6.2 — approved PNG registration header with improved chapter/documents layout */
body.bap-registration-page .bap-reg-intro.bap-reg-intro-image {
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #041a4f !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 22px 48px rgba(5,22,64,.18) !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-image::before,
body.bap-registration-page .bap-reg-intro.bap-reg-intro-image::after {
    content: none !important;
    display: none !important;
}

body.bap-registration-page .bap-reg-header-image {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
    filter: none !important;
    transform: none !important;
}

@media (max-width: 767px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-image {
        border-radius: 14px 14px 0 0 !important;
    }

    body.bap-registration-page .bap-reg-header-image {
        width: 100% !important;
        height: auto !important;
    }
}

/* ==================================================================
   BAP OMA v1.2 — UPDATED SEARCHABLE / DEPENDENT DROPDOWNS
   Scoped only to the Online Membership Application page.
================================================================== */
body.bap-registration-page .bap-reg-shell .bap-oma-source-control {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.bap-registration-page .bap-reg-shell .bap-oma-dependent-select,
body.bap-registration-page .bap-reg-shell .bap-oma-managed-nationality select,
body.bap-registration-page .bap-reg-shell .bap-oma-managed-region select,
body.bap-registration-page .bap-reg-shell .bap-oma-managed-province select,
body.bap-registration-page .bap-reg-shell .bap-oma-managed-city select {
    width: 100% !important;
}

body.bap-registration-page .bap-reg-shell select:disabled + .select2-container .select2-selection,
body.bap-registration-page .bap-reg-shell .select2-container--disabled .select2-selection {
    cursor: not-allowed !important;
    color: #8490a4 !important;
    -webkit-text-fill-color: #8490a4 !important;
    background: #f1f4f8 !important;
    border-color: #dce2ec !important;
    opacity: .9 !important;
}

body.bap-registration-page .bap-reg-shell .bap-location-data-note {
    grid-column: 1 / -1;
    margin: -2px 0 0;
    color: #6b7890;
    font-size: 11px;
    font-weight: 650;
    text-align: right;
}

body.bap-registration-page .bap-reg-shell .bap-dropdown-data-error {
    grid-column: 1 / -1;
    padding: 10px 12px;
    color: #8d1724;
    background: #fff1f3;
    border: 1px solid #f1b6bd;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
}

/* Select2 appends the menu to the page body. These selectors intentionally
   use the registration body class so no directory/profile dropdown is touched. */
body.bap-registration-page .select2-container--open {
    z-index: 2147483000 !important;
}

body.bap-registration-page .select2-dropdown,
body.bap-registration-page .select2-dropdown.bap-oma-select2-dropdown {
    z-index: 2147483000 !important;
    overflow: hidden !important;
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    background: #ffffff !important;
    border: 1px solid #cfd8e7 !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 45px rgba(6, 24, 63, .18) !important;
}

body.bap-registration-page .select2-dropdown .select2-search--dropdown {
    display: block !important;
    padding: 8px !important;
    background: #ffffff !important;
}

body.bap-registration-page .select2-dropdown .select2-search__field {
    display: block !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 8px 11px !important;
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    caret-color: #14284e !important;
    background: #ffffff !important;
    border: 1px solid #cfd8e7 !important;
    border-radius: 6px !important;
    outline: none !important;
    opacity: 1 !important;
}

body.bap-registration-page .select2-dropdown .select2-search__field:focus {
    border-color: #d5aa25 !important;
    box-shadow: 0 0 0 3px rgba(213, 170, 37, .14) !important;
}

body.bap-registration-page .select2-dropdown .select2-results {
    background: #ffffff !important;
}

body.bap-registration-page .select2-dropdown .select2-results__options {
    max-height: 280px !important;
    overflow-y: auto !important;
    background: #ffffff !important;
}

body.bap-registration-page .select2-dropdown .select2-results__option,
body.bap-registration-page .select2-dropdown .select2-results__message {
    padding: 9px 12px !important;
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    background: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body.bap-registration-page .select2-dropdown .select2-results__option[aria-selected="true"],
body.bap-registration-page .select2-dropdown .select2-results__option--selected {
    color: #0b2458 !important;
    -webkit-text-fill-color: #0b2458 !important;
    background: #fff4c7 !important;
}

body.bap-registration-page .select2-dropdown .select2-results__option--highlighted,
body.bap-registration-page .select2-dropdown .select2-results__option--highlighted[aria-selected] {
    color: #0b2458 !important;
    -webkit-text-fill-color: #0b2458 !important;
    background: #ffd45c !important;
}

/* ==================================================================
   BAP OMA v1.3 — CLEAN HEADER, NEUTRAL PAGE, RELIABLE NATIVE LOCATIONS
================================================================== */

/* Remove the registration-only blue/red canvas supplied by older design
   layers while leaving the site's actual header/navigation untouched. */
body.bap-registration-page #content,
body.bap-registration-page .site-content,
body.bap-registration-page .ast-container,
body.bap-registration-page .content-area,
body.bap-registration-page main.site-main,
body.bap-registration-page article,
body.bap-registration-page .entry-content,
body.bap-registration-page .elementor-location-single,
body.bap-registration-page .elementor-location-archive {
    background-color: #ffffff !important;
    background-image: none !important;
}

body.bap-registration-page #content::before,
body.bap-registration-page #content::after,
body.bap-registration-page .site-content::before,
body.bap-registration-page .site-content::after,
body.bap-registration-page .entry-content::before,
body.bap-registration-page .entry-content::after {
    background: none !important;
    background-image: none !important;
}

/* Simple form header: no logo, no image, no numbered/static process. */
body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple {
    min-height: 0 !important;
    padding: 30px 38px 26px !important;
    color: #10275c !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid var(--reg-line) !important;
    border-bottom: 4px solid #e0b22e !important;
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 14px 32px rgba(8, 27, 66, .08) !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple::before,
body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple::after {
    content: none !important;
    display: none !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple .bap-reg-kicker {
    display: block !important;
    margin: 0 0 8px !important;
    color: #c99700 !important;
    -webkit-text-fill-color: #c99700 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple h1 {
    max-width: none !important;
    margin: 0 !important;
    color: #10275c !important;
    -webkit-text-fill-color: #10275c !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    line-height: 1.08 !important;
    text-shadow: none !important;
    white-space: normal !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple > p {
    max-width: 760px !important;
    margin: 10px 0 0 !important;
    color: #64718a !important;
    -webkit-text-fill-color: #64718a !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.bap-registration-page .bap-reg-brand-mark,
body.bap-registration-page .bap-reg-guide,
body.bap-registration-page .bap-reg-header-image,
body.bap-registration-page .bap-reg-section-index {
    display: none !important;
}

body.bap-registration-page .bap-reg-section-heading {
    gap: 0 !important;
}

/* Keep Region, Province, and City/Municipality on one connected row. */
body.bap-registration-page .bap-location-panel {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 16px 22px !important;
    padding: 16px !important;
    background: #ffffff !important;
}

body.bap-registration-page .bap-location-region {
    grid-column: 1 / 5 !important;
}

body.bap-registration-page .bap-location-province {
    grid-column: 5 / 9 !important;
}

body.bap-registration-page .bap-location-city {
    grid-column: 9 / -1 !important;
}

body.bap-registration-page .bap-location-league,
body.bap-registration-page .bap-location-panel-note {
    grid-column: 1 / -1 !important;
}

/* The real UM fields remain the submitted source fields, but are hidden.
   Any Select2 wrapper recreated by another plugin is hidden as well. */
body.bap-registration-page .bap-reg-shell .bap-oma-source-control,
body.bap-registration-page .bap-reg-shell .bap-oma-source-control + .select2-container {
    position: absolute !important;
    display: block !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Dedicated native location controls are isolated from the site's dark
   Select2 skin and remain usable even when Select2 is unavailable. */
body.bap-registration-page .bap-reg-shell select.bap-oma-native-location-select,
body.bap-registration-page .bap-reg-shell select.bap-oma-nationality-select:not(.select2-hidden-accessible) {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 9px 38px 9px 13px !important;
    color: #14284e !important;
    -webkit-text-fill-color: #14284e !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid #d7deea !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    opacity: 1 !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    text-indent: 0 !important;
    line-height: 1.25 !important;
}

body.bap-registration-page .bap-reg-shell select.bap-oma-native-location-select option,
body.bap-registration-page .bap-reg-shell select.bap-oma-nationality-select:not(.select2-hidden-accessible) option {
    color: #14284e !important;
    background: #ffffff !important;
}

body.bap-registration-page .bap-reg-shell select.bap-oma-native-location-select:disabled,
body.bap-registration-page .bap-reg-shell select.bap-oma-nationality-select:not(.select2-hidden-accessible):disabled {
    cursor: not-allowed !important;
    color: #8490a4 !important;
    -webkit-text-fill-color: #8490a4 !important;
    background-color: #f1f4f8 !important;
    border-color: #dce2ec !important;
    opacity: 1 !important;
}

@media (max-width: 820px) {
    body.bap-registration-page .bap-location-region,
    body.bap-registration-page .bap-location-province,
    body.bap-registration-page .bap-location-city,
    body.bap-registration-page .bap-location-league,
    body.bap-registration-page .bap-location-panel-note {
        grid-column: 1 / -1 !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-simple {
        padding: 24px 22px 22px !important;
        border-radius: 14px 14px 0 0 !important;
    }
}

/* ==================================================================
   BAP OMA v1.4 — PROFESSIONAL BALL HERO + PHILIPPINES LOCATION MODE
================================================================== */

/* Restore the federation-blue application hero only. The registration page
   canvas and all field surfaces remain clean white. */
body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
    min-height: 282px !important;
    padding: 42px 48px 36px !important;
    overflow: hidden !important;
    color: #ffffff !important;
    background:
        radial-gradient(circle at 78% 20%, rgba(27, 125, 255, .26), transparent 29%),
        linear-gradient(118deg, #03143f 0%, #052b76 48%, #063fa5 100%) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-bottom: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 24px 56px rgba(5, 22, 64, .2) !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::before {
    display: block !important;
    content: "" !important;
    background-image: radial-gradient(circle, rgba(255, 198, 38, .72) 1.2px, transparent 1.7px) !important;
    background-size: 13px 13px !important;
    background-position: right 30px top 30px !important;
    opacity: .92 !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::after {
    display: block !important;
    content: "" !important;
    height: 5px !important;
    background: linear-gradient(90deg, #f4b400 0 69%, #ce1126 69% 100%) !important;
}

body.bap-registration-page .bap-reg-hero-copy {
    position: relative;
    z-index: 6;
    width: min(68%, 720px);
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-kicker {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    margin: 0 0 12px !important;
    padding: 6px 12px !important;
    color: #ffd45c !important;
    -webkit-text-fill-color: #ffd45c !important;
    background: rgba(2, 18, 58, .42) !important;
    border: 1px solid rgba(255, 212, 92, .28) !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(4px);
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
    max-width: 760px !important;
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(38px, 4.5vw, 58px) !important;
    font-weight: 880 !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-shadow: 0 6px 24px rgba(0, 0, 0, .22) !important;
    white-space: normal !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional p {
    max-width: 680px !important;
    margin: 15px 0 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
}

/* The original approved basketball artwork is clipped to its ball side only.
   The logo, title text, and numbered process remain outside the visible area. */
body.bap-registration-page .bap-reg-hero-artwork {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 46%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}

body.bap-registration-page .bap-reg-hero-artwork::before {
    content: "";
    position: absolute;
    top: -24px;
    right: -18px;
    width: 1304px;
    height: 435px;
    background: url("../images/bap-membership-ball-art.png") center center / cover no-repeat;
    filter: saturate(1.08) contrast(1.03);
}

body.bap-registration-page .bap-reg-hero-artwork::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5, 43, 118, 0) 0%, rgba(5, 43, 118, 0) 70%, rgba(5, 43, 118, .92) 96%, #052b76 100%),
        linear-gradient(90deg, #052b76 0%, rgba(5, 43, 118, .9) 20%, rgba(5, 43, 118, .2) 60%, rgba(5, 43, 118, 0) 100%);
}

body.bap-registration-page .bap-reg-guide,
body.bap-registration-page .bap-reg-brand-mark,
body.bap-registration-page .bap-reg-section-index {
    display: none !important;
}

body.bap-registration-page .bap-reg-panel {
    border-color: #dbe3ef !important;
    box-shadow: 0 22px 54px rgba(8, 27, 66, .11) !important;
}

body.bap-registration-page .bap-reg-panel-head {
    padding: 30px 40px 22px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
}

body.bap-registration-page .bap-reg-form-body {
    padding: 26px 38px 18px !important;
    background: #ffffff !important;
}

body.bap-registration-page .bap-reg-section-heading {
    margin-top: 16px !important;
    padding-bottom: 11px !important;
    color: #0b2a66 !important;
    border-bottom-color: #dce4ef !important;
    font-size: 15px !important;
    letter-spacing: -.01em !important;
}

/* Professional field system, including Select2 controls created by UM. */
body.bap-registration-page .bap-reg-shell input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
body.bap-registration-page .bap-reg-shell textarea,
body.bap-registration-page .bap-reg-shell select,
body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--single,
body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--multiple,
body.bap-registration-page .bap-reg-shell .bap-oma-clean-select2-part {
    min-height: 50px !important;
    color: #12264d !important;
    -webkit-text-fill-color: #12264d !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #cfdaea !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(15, 35, 75, .03) !important;
}

body.bap-registration-page .bap-reg-shell input:hover,
body.bap-registration-page .bap-reg-shell textarea:hover,
body.bap-registration-page .bap-reg-shell select:hover,
body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--single:hover {
    border-color: #aebcd1 !important;
}

body.bap-registration-page .bap-reg-shell input:focus,
body.bap-registration-page .bap-reg-shell textarea:focus,
body.bap-registration-page .bap-reg-shell select:focus,
body.bap-registration-page .bap-reg-shell .select2-container--open .select2-selection--single,
body.bap-registration-page .bap-reg-shell .select2-container--focus .select2-selection--single {
    border-color: #d7a713 !important;
    box-shadow: 0 0 0 4px rgba(215, 167, 19, .14) !important;
}

body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--single .select2-selection__rendered,
body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--single .select2-selection__placeholder,
body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: #12264d !important;
    -webkit-text-fill-color: #12264d !important;
    background: #ffffff !important;
    line-height: 27px !important;
}

body.bap-registration-page .bap-reg-shell .select2-container--default .select2-selection--single .select2-selection__arrow {
    background: #ffffff !important;
}

body.bap-registration-page .bap-reg-shell select.bap-oma-native-location-select,
body.bap-registration-page .bap-reg-shell select.bap-oma-nationality-select {
    height: 50px !important;
    padding: 10px 42px 10px 14px !important;
    color: #12264d !important;
    -webkit-text-fill-color: #12264d !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230b2a66' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m7 10 5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 13px center !important;
    background-size: 18px 18px !important;
    border: 1px solid #cfdaea !important;
    border-radius: 10px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
}

body.bap-registration-page .bap-reg-shell select.bap-oma-native-location-select optgroup {
    color: #0b2a66 !important;
    background: #f4f7fb !important;
    font-weight: 800 !important;
}

body.bap-registration-page .bap-reg-shell select.bap-oma-native-location-select option,
body.bap-registration-page .bap-reg-shell select.bap-oma-nationality-select option {
    color: #12264d !important;
    background: #ffffff !important;
    font-weight: 500 !important;
}

/* Location card: clean, connected, and visually distinct without adding a
   blue background behind the input fields. */
body.bap-registration-page .bap-location-panel {
    position: relative;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 15px 22px !important;
    margin-top: 10px !important;
    padding: 20px 20px 18px !important;
    background: linear-gradient(180deg, #fcfdff 0%, #ffffff 100%) !important;
    border: 1px solid #d8e1ed !important;
    border-top: 3px solid #e1b42d !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(9, 35, 83, .05) !important;
}

body.bap-registration-page .bap-location-panel-note {
    margin-bottom: 1px !important;
    color: #b68100 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.bap-registration-page .bap-location-region {
    grid-column: 1 / 5 !important;
}

body.bap-registration-page .bap-location-province {
    grid-column: 5 / 9 !important;
}

body.bap-registration-page .bap-location-city {
    grid-column: 9 / -1 !important;
}

body.bap-registration-page .bap-location-smart-hint {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 1px;
    padding: 10px 12px;
    color: #52627b;
    background: #f6f8fc;
    border: 1px solid #e1e7f0;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.45;
}

body.bap-registration-page .bap-location-smart-hint::before {
    content: "i";
    display: inline-grid;
    place-items: center;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: #ffffff;
    background: #0b3a8d;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 900;
    font-family: Georgia, serif;
}

body.bap-registration-page .bap-reg-shell .um-button,
body.bap-registration-page .bap-reg-shell input[type="submit"],
body.bap-registration-page .bap-reg-shell .um-file-button {
    min-height: 50px !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 24px rgba(208, 161, 20, .22) !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.bap-registration-page .bap-reg-shell .um-button:hover,
body.bap-registration-page .bap-reg-shell input[type="submit"]:hover,
body.bap-registration-page .bap-reg-shell .um-file-button:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.02) !important;
    box-shadow: 0 14px 30px rgba(208, 161, 20, .28) !important;
}

@media (max-width: 980px) {
    body.bap-registration-page .bap-reg-hero-copy {
        width: 72%;
    }

    body.bap-registration-page .bap-reg-hero-artwork {
        width: 43%;
        opacity: .86;
    }
}

@media (max-width: 820px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
        min-height: 250px !important;
        padding: 34px 28px 30px !important;
        border-radius: 15px 15px 0 0 !important;
    }

    body.bap-registration-page .bap-reg-hero-copy {
        width: 100%;
        padding-right: 12%;
    }

    body.bap-registration-page .bap-reg-hero-artwork {
        width: 55%;
        opacity: .38;
    }

    body.bap-registration-page .bap-location-region,
    body.bap-registration-page .bap-location-province,
    body.bap-registration-page .bap-location-city,
    body.bap-registration-page .bap-location-league,
    body.bap-registration-page .bap-location-panel-note,
    body.bap-registration-page .bap-location-smart-hint {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 560px) {
    body.bap-registration-page .bap-reg-shell {
        width: min(100% - 20px, 1120px) !important;
        margin-top: 16px !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
        min-height: 230px !important;
        padding: 28px 20px 26px !important;
    }

    body.bap-registration-page .bap-reg-hero-copy {
        padding-right: 0;
    }

    body.bap-registration-page .bap-reg-hero-artwork {
        width: 70%;
        opacity: .22;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
        font-size: clamp(31px, 10vw, 42px) !important;
    }

    body.bap-registration-page .bap-reg-panel-head,
    body.bap-registration-page .bap-reg-form-body {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.bap-registration-page .bap-location-panel {
        padding: 16px !important;
    }
}


/* ==================================================================
   BAP OMA v1.4.1 — CLEAN PROFESSIONAL FORM HEADER
   Header-only refinement. Registration fields, location logic, and
   Member Master Record synchronization are unchanged.
================================================================== */
body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
    display: flex !important;
    align-items: center !important;
    min-height: 260px !important;
    padding: 38px 44px 34px !important;
    background:
        radial-gradient(circle at 76% 26%, rgba(36, 134, 255, .22), transparent 28%),
        linear-gradient(116deg, #03143f 0%, #052b76 52%, #073f9d 100%) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-bottom: 0 !important;
    box-shadow: 0 22px 52px rgba(5, 22, 64, .18) !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::before {
    right: 20px !important;
    left: auto !important;
    width: 42% !important;
    background-image: radial-gradient(circle, rgba(255, 202, 45, .72) 1.1px, transparent 1.65px) !important;
    background-size: 14px 14px !important;
    background-position: right 18px top 18px !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 34%, #000 70%) !important;
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 34%, #000 70%) !important;
    opacity: .55 !important;
}

body.bap-registration-page .bap-reg-hero-copy {
    position: relative !important;
    z-index: 8 !important;
    width: min(65%, 700px) !important;
    padding-right: 24px !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-kicker {
    min-height: 28px !important;
    margin: 0 0 14px !important;
    padding: 6px 11px !important;
    background: rgba(2, 18, 58, .34) !important;
    border-color: rgba(255, 212, 92, .34) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
    font-size: 10.5px !important;
    letter-spacing: .13em !important;
    backdrop-filter: blur(5px) !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
    max-width: 700px !important;
    margin: 0 !important;
    font-size: clamp(40px, 4.15vw, 54px) !important;
    font-weight: 850 !important;
    line-height: 1.04 !important;
    letter-spacing: -.038em !important;
    text-wrap: balance !important;
    text-shadow: 0 5px 20px rgba(0, 0, 0, .2) !important;
}

body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional p {
    max-width: 620px !important;
    margin: 14px 0 0 !important;
    font-size: 14.5px !important;
    font-weight: 550 !important;
    line-height: 1.55 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.12) !important;
}

/* This asset contains only the basketball and decorative accents. It has no
   logo, title, subtitle, or static process text, so duplicate/ghost text cannot
   appear behind the live header content. */
body.bap-registration-page .bap-reg-hero-artwork {
    top: 0 !important;
    right: 0 !important;
    width: 43% !important;
    height: 100% !important;
    opacity: .98 !important;
    overflow: hidden !important;
}

body.bap-registration-page .bap-reg-hero-artwork::before {
    top: -36% !important;
    right: -2% !important;
    width: 100% !important;
    height: 172% !important;
    background: url("../images/bap-membership-ball-art.png") center center / cover no-repeat !important;
    filter: saturate(1.05) contrast(1.02) !important;
}

body.bap-registration-page .bap-reg-hero-artwork::after {
    inset: 0 !important;
    background:
        linear-gradient(90deg, #052b76 0%, rgba(5,43,118,.92) 12%, rgba(5,43,118,.34) 34%, rgba(5,43,118,0) 64%),
        linear-gradient(180deg, rgba(5,43,118,.08) 0%, rgba(5,43,118,0) 68%, rgba(5,43,118,.78) 100%) !important;
}

body.bap-registration-page .bap-reg-court-art {
    display: none !important;
}

@media (min-width: 1081px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
        white-space: nowrap !important;
    }
}

@media (max-width: 1080px) {
    body.bap-registration-page .bap-reg-hero-copy {
        width: 66% !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
        font-size: clamp(38px, 5vw, 50px) !important;
        white-space: normal !important;
    }

    body.bap-registration-page .bap-reg-hero-artwork {
        width: 42% !important;
    }
}

@media (max-width: 820px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
        min-height: 240px !important;
        padding: 32px 28px 29px !important;
    }

    body.bap-registration-page .bap-reg-hero-copy {
        width: 75% !important;
        padding-right: 0 !important;
    }

    body.bap-registration-page .bap-reg-hero-artwork {
        width: 52% !important;
        opacity: .42 !important;
    }
}

@media (max-width: 560px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
        min-height: 225px !important;
        padding: 27px 20px 25px !important;
    }

    body.bap-registration-page .bap-reg-hero-copy {
        width: 100% !important;
    }

    body.bap-registration-page .bap-reg-hero-artwork {
        width: 72% !important;
        opacity: .2 !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
        font-size: clamp(32px, 10vw, 42px) !important;
        line-height: 1.06 !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional p {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }
}

/* ==================================================================
   BAP OMA v1.4.2 — REDESIGNED PROFESSIONAL FORM HEADER
   Presentation-only update. Registration processing, validation,
   dependent dropdowns, and Member Master Record synchronization are
   intentionally unchanged.
================================================================== */
@media (min-width: 641px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 2195 / 663 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background-color: #03143f !important;
        background-image: url("../images/bap-membership-registration-banner.png") !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: 100% 100% !important;
        border: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        box-shadow: 0 22px 52px rgba(5, 22, 64, .16) !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::before,
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::after,
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-hero-artwork {
        display: none !important;
        content: none !important;
    }

    /* Keep the semantic heading and description available to assistive
       technology while the approved banner supplies the visual typography. */
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-hero-copy {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}

/* On narrow phones, use live responsive typography and the restored blue
   basketball artwork so the title remains readable instead of shrinking into
   a desktop banner image. */
@media (max-width: 640px) {
    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional {
        display: flex !important;
        align-items: center !important;
        min-height: 230px !important;
        aspect-ratio: auto !important;
        padding: 28px 20px 25px !important;
        overflow: hidden !important;
        background:
            radial-gradient(circle at 82% 22%, rgba(36, 134, 255, .22), transparent 34%),
            linear-gradient(116deg, #03143f 0%, #052b76 58%, #073f9d 100%) !important;
        border-radius: 16px 16px 0 0 !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::before {
        display: block !important;
        content: "" !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional::after {
        display: block !important;
        content: "" !important;
        height: 4px !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-hero-copy {
        position: relative !important;
        z-index: 8 !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        white-space: normal !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-hero-artwork {
        display: block !important;
        top: 0 !important;
        right: 0 !important;
        width: 78% !important;
        height: 100% !important;
        opacity: .18 !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-hero-artwork::before {
        top: -24% !important;
        right: -20% !important;
        width: 125% !important;
        height: 150% !important;
        background: url("../images/bap-membership-ball-art.png") center center / cover no-repeat !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional .bap-reg-hero-artwork::after {
        background: linear-gradient(90deg, #052b76 0%, rgba(5,43,118,.88) 24%, rgba(5,43,118,.08) 100%) !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional h1 {
        font-size: clamp(31px, 10vw, 42px) !important;
        line-height: 1.06 !important;
        white-space: normal !important;
    }

    body.bap-registration-page .bap-reg-intro.bap-reg-intro-professional p {
        max-width: 92% !important;
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }
}
/* v1.5.0 dual Philippines / International location workflow */
.bap-dual-original-hidden{display:none!important}.bap-dual-location{grid-column:1/-1;border:1px solid #c8d8f0;border-radius:14px;padding:18px;background:#f8fbff;margin:8px 0 18px}.bap-dual-head strong{display:block;color:var(--bap-navy,#06183f);font-size:18px}.bap-dual-head small{color:#68758b}.bap-dual-mode{display:flex;gap:24px;flex-wrap:wrap;margin:16px 0;padding:12px 14px;background:#fff;border-radius:10px;border:1px solid #dde6f3}.bap-dual-mode label,.bap-dual-check{display:flex;align-items:center;gap:8px;font-weight:700;color:#10254a}.bap-dual-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.bap-dual-field{display:flex;flex-direction:column;gap:7px}.bap-dual-label{font-size:12px;font-weight:800;text-transform:uppercase;color:#10254a}.bap-dual-field select,.bap-dual-field input{width:100%;min-height:48px;border:1px solid #cbd7e8!important;border-radius:9px!important;background:#fff!important;color:#14284e!important;padding:0 13px!important}.bap-dual-options{display:flex;gap:24px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #dbe5f2}.bap-dual-note{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#edf4ff;color:#1c4f96}.bap-dual-field select:disabled{opacity:.85;background:#f2f5f9!important}@media(max-width:1050px){.bap-dual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.bap-dual-grid{grid-template-columns:1fr}.bap-dual-location{padding:14px}.bap-dual-mode{gap:12px;flex-direction:column}}

/* v1.5.2 dual-location layout fix: force full-width panel and resilient grid */
body.bap-registration-page .bap-dual-location,
body.bap-registration-page .um .bap-dual-location,
body.bap-registration-page .um-register .bap-dual-location {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    margin: 12px 0 24px !important;
}

body.bap-registration-page .bap-dual-location * {
    box-sizing: border-box;
}

body.bap-registration-page .bap-dual-head,
body.bap-registration-page .bap-dual-mode,
body.bap-registration-page .bap-dual-grid,
body.bap-registration-page .bap-dual-options,
body.bap-registration-page .bap-dual-note {
    width: 100% !important;
    max-width: none !important;
}

body.bap-registration-page .bap-dual-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
}

body.bap-registration-page .bap-dual-field {
    min-width: 0 !important;
    width: 100% !important;
}

body.bap-registration-page .bap-dual-field select,
body.bap-registration-page .bap-dual-field input {
    width: 100% !important;
}

body.bap-registration-page .bap-dual-options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 24px !important;
    align-items: center !important;
}

body.bap-registration-page .bap-dual-options .bap-dual-check {
    flex: 1 1 280px;
    min-width: 240px;
}

body.bap-registration-page .bap-dual-original-hidden {
    display: none !important;
}

@media (max-width: 1200px) {
    body.bap-registration-page .bap-dual-grid {
        grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body.bap-registration-page .bap-dual-grid {
        grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body.bap-registration-page .bap-dual-grid {
        grid-template-columns: 1fr !important;
    }

    body.bap-registration-page .bap-dual-options .bap-dual-check {
        flex: 1 1 100%;
        min-width: 0;
    }
}

/* ==================================================================
   BAP OMA v1.5.3 — FULL-WIDTH DUAL LOCATION + SEPARATE INTERNATIONAL
   REGION AND PROVINCE FIELDS
================================================================== */
body.bap-registration-page .um-row > .bap-dual-location-host,
body.bap-registration-page .bap-reg-shell .bap-dual-location-host {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: 1 / -1 !important;
    margin: 12px 0 24px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.bap-registration-page .bap-dual-location-host > .bap-dual-old-note-hidden {
    display: none !important;
}

body.bap-registration-page .bap-dual-location-host > .bap-dual-location {
    position: relative !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 22px !important;
    overflow: visible !important;
    color: #10254a !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    border: 1px solid #cad8eb !important;
    border-top: 4px solid #e1b42d !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(7, 31, 77, .07) !important;
    box-sizing: border-box !important;
}

body.bap-registration-page .bap-dual-location,
body.bap-registration-page .bap-dual-location * {
    box-sizing: border-box !important;
}

body.bap-registration-page .bap-dual-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
}

body.bap-registration-page .bap-dual-head strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #08285f !important;
    font-size: 19px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

body.bap-registration-page .bap-dual-head small {
    display: block !important;
    color: #63728a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}

body.bap-registration-page .bap-dual-status {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 6px 11px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.bap-registration-page .bap-dual-status-ph {
    color: #7b5600 !important;
    background: #fff4c9 !important;
    border: 1px solid #eed27a !important;
}

body.bap-registration-page .bap-dual-status-intl {
    color: #064b9b !important;
    background: #eaf4ff !important;
    border: 1px solid #b7d7fb !important;
}

body.bap-registration-page .bap-dual-mode {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 18px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.bap-registration-page .bap-dual-mode label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    color: #10254a !important;
    background: #ffffff !important;
    border: 1px solid #d7e1ef !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.bap-registration-page .bap-dual-mode label:has(input:checked) {
    color: #073883 !important;
    background: #f0f6ff !important;
    border-color: #83afe9 !important;
    box-shadow: 0 0 0 3px rgba(38, 106, 205, .09) !important;
}

body.bap-registration-page .bap-dual-mode input[type="radio"],
body.bap-registration-page .bap-dual-options input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 17px !important;
    height: 17px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #1261c9 !important;
}

body.bap-registration-page .bap-dual-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 15px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.bap-registration-page .bap-dual-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
}

body.bap-registration-page .bap-dual-label {
    display: block !important;
    min-height: 30px !important;
    color: #10254a !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    letter-spacing: .01em !important;
    text-transform: uppercase !important;
}

body.bap-registration-page .bap-dual-field select,
body.bap-registration-page .bap-dual-field input[type="text"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 10px 40px 10px 13px !important;
    color: #12264d !important;
    -webkit-text-fill-color: #12264d !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd8e9 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(15, 35, 75, .03) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

body.bap-registration-page .bap-dual-field input[type="text"] {
    padding-right: 13px !important;
}

body.bap-registration-page .bap-dual-field select:focus,
body.bap-registration-page .bap-dual-field input[type="text"]:focus {
    outline: none !important;
    border-color: #d7a713 !important;
    box-shadow: 0 0 0 4px rgba(215, 167, 19, .14) !important;
}

body.bap-registration-page .bap-dual-field select:disabled {
    opacity: 1 !important;
    color: #53647e !important;
    -webkit-text-fill-color: #53647e !important;
    background-color: #f3f6fa !important;
}

body.bap-registration-page .bap-dual-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 17px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #dce5f1 !important;
}

body.bap-registration-page .bap-dual-check {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    color: #10254a !important;
    background: #ffffff !important;
    border: 1px solid #dbe4f0 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
}

body.bap-registration-page .bap-dual-check span {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}

body.bap-registration-page .bap-dual-check strong {
    color: #10254a !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

body.bap-registration-page .bap-dual-check small {
    color: #69778d !important;
    font-size: 11px !important;
    font-weight: 550 !important;
    line-height: 1.35 !important;
}

body.bap-registration-page .bap-dual-note {
    display: block !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 11px 13px !important;
    color: #1d4f92 !important;
    background: #edf5ff !important;
    border: 1px solid #cfe2fb !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
}

body.bap-registration-page .bap-dual-original-hidden {
    display: none !important;
}

body.bap-registration-page .bap-dual-location-host .bap-location-league {
    display: block !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
    margin-top: 18px !important;
}

@media (max-width: 1080px) {
    body.bap-registration-page .bap-dual-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.bap-registration-page .bap-dual-mode,
    body.bap-registration-page .bap-dual-options,
    body.bap-registration-page .bap-dual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.bap-registration-page .bap-dual-location-host > .bap-dual-location {
        padding: 16px !important;
    }

    body.bap-registration-page .bap-dual-head {
        flex-direction: column !important;
        gap: 10px !important;
    }

    body.bap-registration-page .bap-dual-mode,
    body.bap-registration-page .bap-dual-options,
    body.bap-registration-page .bap-dual-grid {
        grid-template-columns: 1fr !important;
    }

    body.bap-registration-page .bap-dual-label {
        min-height: 0 !important;
    }
}
body.bap-registration-page .bap-dual-field [hidden] {
    display: none !important;
}

body.bap-registration-page .bap-dual-location-host > .bap-location-smart-hint,
body.bap-registration-page .bap-dual-location-host > .bap-dropdown-data-error,
body.bap-registration-page .bap-dual-location-host > .bap-dual-old-note-hidden {
    display: none !important;
}
body.bap-registration-page .bap-dual-field input[hidden],
body.bap-registration-page .bap-dual-field select[hidden] {
    display: none !important;
}
