/* Ultimate Member's post-activation destination. */
.ptum-activation { max-width: 800px; margin-inline: auto; }
.ptum-activation-heading { max-width: 640px; margin: 0 auto 24px; text-align: center; }
.ptum-activation-heading h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.2; margin: 18px 0 12px; }
.ptum-activation-heading p { color: #bacbe2; line-height: 1.7; }
.ptum-activation-icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #103b3d; border: 1px solid #45958a; color: #a5f3fc; font-size: 28px; }
.ptum-activation-actions { text-align: center; }
.ptum-activation-button { display: inline-block; max-width: 100%; box-sizing: border-box; border-radius: 10px; padding: 14px 24px; background: #67e8f9; color: #071528; font-weight: 700; text-decoration: none; }
.ptum-activation-button:hover { background: #a5f3fc; }
.ptum-activation-button:focus-visible { outline: 2px solid #67e8f9; outline-offset: 4px; }
/* Scoped to Ultimate Member. Native form behavior remains intact. */
body .um {
 --ptum-panel: #10233d;
 --ptum-input: #0a1a30;
 --ptum-line: #58708e;
 --ptum-ink: #f0f6ff;
 --ptum-muted: #bacbe2;
 --ptum-accent: #67e8f9;
 --ptum-error: #ffb4b4;
 color: var(--ptum-ink);
 font-family: Inter, 'IBM Plex Sans', Arial, sans-serif;
 font-size: 15px;
 line-height: 1.6;
 text-align: start;
}
body .um.um-register, body .um.um-login, body .um.um-password {
 width: 100% !important;
 max-width: 640px !important;
 margin: 24px auto !important;
}
body .um.um-register .um-form,
body .um.um-login .um-form,
body .um.um-password .um-form,
body .um.um-account,
body .um.um-profile {
 background: linear-gradient(145deg, #142d4b, #0e2039);
 border: 1px solid #385675;
 border-radius: 20px;
 padding: clamp(22px, 4vw, 40px);
 box-shadow: 0 20px 56px #00000030;
}
body .join-panel .um.um-register { max-width: none !important; margin: 0 !important; }
body .join-panel .um.um-register .um-form { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body .um .um-field { padding: 0 0 22px; }
/* Pair short fields in existing single-column registration rows only.
   Use the available form width, including inside the homepage panel. */
body .um.um-register .um-form { container-type: inline-size; container-name: ptum-register; }
body .um.um-register .um-field { padding-bottom: 14px; }
body .um.um-register .um-field-label { margin-bottom: 6px; }
body .um.um-register .um-col-1 {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 column-gap: 18px;
}
body .um.um-register .um-col-1 > * { min-width: 0; grid-column: 1 / -1; }
body .um.um-register .um-col-1 > .um-clear { display: none; }
@container ptum-register (min-width: 460px) {
 body .um.um-register .um-col-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 body .um.um-register .um-col-1 > :is(.um-field-text, .um-field-url, .um-field-password, .um-field-number, .um-field-tel, .um-field-date) { grid-column: auto; }
 /* UM's built-in email may use um-field-text; identify it by its meta key. */
 body .um.um-register .um-col-1 > .um-field[data-key='user_email'],
 body .um.um-register .um-col-1 > .um-field-email,
 body .um.um-register .um-col-1 > .um-field:has(input[type='email']) { grid-column: 1 / -1; }
 /* Start a new row for the password pair, regardless of preceding short fields. */
 body .um.um-register .um-col-1 > .um-field[data-key='user_password'] { grid-column: 1; }
 body .um.um-register .um-col-1 > .um-field[data-key='confirm_user_password'] { grid-column: 2; }
 /* The existing WPCode snippet inserts its requirements panel between these
    fields. Keep confirmation beside password and show the panel below both.
    Keep subsequent content after the panel in its original relative order. */
 body .um.um-register .um-col-1:has(> [id^='pt-password-checks-'] + [data-key='confirm_user_password']) > [id^='pt-password-checks-'],
 body .um.um-register .um-col-1:has(> [id^='pt-password-checks-'] + [data-key='confirm_user_password']) > [id^='pt-password-checks-'] ~ * { order: 1; }
 body .um.um-register .um-col-1:has(> [id^='pt-password-checks-'] + [data-key='confirm_user_password']) > [id^='pt-password-checks-'] + [data-key='confirm_user_password'] { order: 0; }
 /* Add this CSS class in the form builder when a short field needs a whole row. */
 body .um.um-register .um-col-1 > .um-field.ptum-full-width { grid-column: 1 / -1; }
}
body .um .um-field-label { margin: 0 0 9px; color: var(--ptum-ink); }
body .um .um-field-label label,
body .um .um-field-label .um-field-label-icon {
 display: inline;
 color: var(--ptum-ink) !important;
 font-size: 14px !important;
 font-weight: 600 !important;
 line-height: 1.6 !important;
}
body .um .um-field-area { min-width: 0; }
body .um .um-field-area input[type='text'],
body .um .um-field-area input[type='password'],
body .um .um-field-area input[type='email'],
body .um .um-field-area input[type='tel'],
body .um .um-field-area input[type='url'],
body .um .um-field-area input[type='number'],
body .um .um-field-area input[type='date'],
body .um .um-field-area select,
body .um .um-field-area textarea {
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
 min-height: 50px;
 background: var(--ptum-input) !important;
 border: 1px solid var(--ptum-line) !important;
 border-radius: 10px !important;
 color: var(--ptum-ink) !important;
 padding: 12px 15px !important;
 box-shadow: none !important;
 font: inherit !important;
 font-size: 16px !important;
 line-height: 1.5 !important;
 transition: border-color .15s ease, box-shadow .15s ease;
}
/* Room for Ultimate Member's password visibility control. */
body .um .um-field-password input { padding-inline-end: 48px !important; }
body .um .um-field-area textarea { min-height: 130px; resize: vertical; }
body .um .um-field-area input::placeholder,
body .um .um-field-area textarea::placeholder { color: #a2b6d1 !important; opacity: 1; }
body .um .um-field-area input:focus,
body .um .um-field-area select:focus,
body .um .um-field-area textarea:focus {
 border-color: var(--ptum-accent) !important;
 outline: 2px solid var(--ptum-accent);
 outline-offset: 2px;
}
body .um .um-field-description,
body .um .um-field-block,
body .um .um-field-checkbox-option,
body .um .um-field-radio-option,
body .um .um-field-value,
body .um .um-account-meta-img-b,
body .um .um-account-name,
body .um .um-profile-body,
body .um .um-meta-text { color: var(--ptum-muted) !important; }
body .um .um-field-checkbox,
body .um .um-field-radio {
 display: block;
 color: var(--ptum-muted);
 font-weight: 400;
 line-height: 1.65;
}
body .um .um-field-checkbox-option,
body .um .um-field-radio-option { hyphens: none; word-break: normal; font-size: 14px; }
body .um .um-field-checkbox-state i,
body .um .um-field-radio-state i,
body .um .um-toggle-password { color: var(--ptum-accent) !important; }
body .um input[type='checkbox'], body .um input[type='radio'] { accent-color: #22d3ee; }
body .um a.um-link,
body .um .um-field-block a,
body .um .um-field-description a,
body .um .um-col-alt-b a,
body .um .um-account-meta a { color: var(--ptum-accent) !important; text-decoration: underline !important; text-underline-offset: 3px; }
body .um a:focus-visible,
body .um button:focus-visible,
body .um input[type='submit']:focus-visible,
body .um [tabindex]:focus-visible { outline: 2px solid var(--ptum-accent) !important; outline-offset: 4px; }
body .um input[type='submit'].um-button,
body .um input[type='button'].um-button,
body .um a.um-button,
body .um button.um-button {
 background: #67e8f9 !important;
 color: #071528 !important;
 border: 1px solid transparent !important;
 border-radius: 10px !important;
 box-shadow: none !important;
 min-height: 50px;
 padding: 13px 22px !important;
 font: inherit !important;
 font-weight: 700 !important;
 line-height: 1.5 !important;
 text-decoration: none !important;
 text-align: center;
 cursor: pointer;
}
body .um .um-button:hover { background: #a5f3fc !important; color: #071528 !important; }
body .um .um-button.um-alt {
 background: transparent !important;
 border: 1px solid var(--ptum-line) !important;
 color: var(--ptum-ink) !important;
}
body .um .um-button.um-alt:hover { background: #203b59 !important; }
body .um .um-button:disabled,
body .um .um-button.disabled { opacity: .55; cursor: wait; }
body .um .um-col-alt { padding-top: 6px; margin-top: 0; }
body .um .um-col-alt-b { margin-top: 18px; }
body .um .um-field-error {
 background: #421f32 !important;
 border: 1px solid #b5647b;
 border-radius: 8px;
 color: var(--ptum-error) !important;
 padding: 10px 13px;
 margin-top: 10px;
 font-size: 14px;
 line-height: 1.5;
}
body .um .um-field-arrow { color: #421f32 !important; }
body .um .um-field-area .um-form-field.um-error,
body .um .um-field-area [aria-invalid='true'] { border-color: var(--ptum-error) !important; }
body .um .um-notice { border-radius: 10px; padding: 16px 20px; }
body .um .um-notice.success,
body .um .um-postmessage { background: #103b3d; color: #d6ffed; border: 1px solid #45958a; border-radius: 12px; padding: 20px; }
body .um .um-notice.err { background: #421f32; color: #ffced5; border: 1px solid #b5647b; }
/* Free-text registration and profile skills. */
body .um .ptum-skill-tags { display: flex; flex-wrap: wrap; gap: 8px; }
body .um .ptum-skill-tag { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin-bottom: 8px; padding: 4px 10px; border: 1px solid #385675; border-radius: 16px; background: #183b57; color: #a5f3fc; }
body .um .ptum-skill-tag > span { min-width: 0; overflow-wrap: anywhere; }
body .um .ptum-skill-entry { display: flex; gap: 8px; }
body .um .ptum-skill-entry input { min-width: 0; flex: 1; }
body .um .ptum-skill-add, body .um .ptum-skill-remove { border: 1px solid #58708e; border-radius: 8px; background: #183b57; color: #a5f3fc; cursor: pointer; font: inherit; padding: 6px 12px; }
body .um .ptum-skill-remove { border: 0; padding: 0 5px; font-size: 22px; line-height: 1.2; }
body .um .ptum-skill-add[hidden] { display: none; }
body .um .ptum-skills button:focus-visible { outline: 2px solid #67e8f9; outline-offset: 2px; }
/* Multi-select profile fields, including selected chips and search text. */
body .um .um-field .select2-container { width: 100% !important; max-width: 100%; }
body .um .um-field .select2-container .select2-selection {
 background: var(--ptum-input) !important;
 border: 1px solid var(--ptum-line) !important;
 border-radius: 8px !important;
 min-height: 46px;
 color: var(--ptum-ink) !important;
 box-sizing: border-box;
 height: auto !important;
 box-shadow: none !important;
 font: inherit !important;
}
body .um .select2-container .select2-selection--single .select2-selection__rendered { color: var(--ptum-ink) !important; line-height: 48px !important; padding-inline-start: 15px; }
body .um .select2-container .select2-selection__placeholder { color: #a2b6d1 !important; }
body .um .select2-container .select2-selection__arrow { top: 12px !important; }
body .um .um-field .select2-container .select2-selection.select2-selection--multiple { padding: 5px 8px !important; background-image: none !important; }
body .um .um-field .select2-container .select2-selection--multiple .select2-selection__rendered {
 display: flex !important;
 flex-wrap: wrap;
 align-items: center;
 gap: 4px;
 width: 100%;
 box-sizing: border-box;
 padding: 0 !important;
 margin: 0 !important;
 list-style: none;
}
body .um .um-field .select2-container .select2-selection--multiple .select2-selection__choice {
 background: #153f53 !important;
 border: 1px solid #3f8293 !important;
 border-radius: 6px !important;
 color: #d5faff !important;
 padding: 3px 8px !important;
 margin: 4px !important;
 font-size: 14px;
 max-width: 100%;
 max-height: none;
 box-sizing: border-box;
 white-space: normal;
 overflow-wrap: anywhere;
}
body .um .select2-container .select2-selection__choice__remove { color: #a5f3fc !important; margin-inline-end: 7px; }
body .um .um-field .select2-container .select2-search--inline { flex: 1 1 120px; min-width: 0; max-width: 100%; }
body .um .um-field .select2-container .select2-search--inline .select2-search__field {
 background: transparent !important;
 color: var(--ptum-ink) !important;
 border: 0 !important;
 border-radius: 0 !important;
 width: 100% !important;
 height: 32px !important;
 min-height: 32px !important;
 max-height: none !important;
 margin: 0 !important;
 padding: 4px !important;
 box-shadow: none !important;
 outline: none !important;
 resize: none;
 font: inherit !important;
 line-height: 24px !important;
}
body .um .um-field .select2-container--focus .select2-selection,
body .um .um-field .select2-container--open .select2-selection { border-color: var(--ptum-accent) !important; outline: 2px solid var(--ptum-accent); outline-offset: 2px; }
/* UM attaches its dropdown to the document body, outside the form. */
body .ptum-dropdown .select2-dropdown { background: #10233d; border: 1px solid #58708e; color: #f0f6ff; border-radius: 10px; overflow: hidden; }
body .ptum-dropdown .select2-search--dropdown input { background: #0a1a30; border: 1px solid #58708e; color: #f0f6ff; border-radius: 6px; }
body .ptum-dropdown .select2-results__option { color: #f0f6ff; }
body .ptum-dropdown .select2-results__option[aria-selected='true'] { background: #234560; }
body .ptum-dropdown .select2-results__option--highlighted { background: #176077 !important; color: #fff !important; }
/* The native member directory retains UM's layout, controls, and field privacy. */
body .ptum-community-directory .um { max-width: 100% !important; }
body .ptum-community-directory .um-member {
 background: #10233d !important;
 border: 1px solid #385675 !important;
 border-radius: 16px !important;
 box-shadow: 0 14px 32px #00000026;
}
body .ptum-community-directory .um-member-cover {
 background: linear-gradient(135deg, #183b57, #0a263d) !important;
 border-radius: 15px 15px 0 0;
 overflow: hidden;
}
body .ptum-community-directory .um-member-photo a img {
 border-color: #10233d !important;
 background-color: #183b57 !important;
}
body .ptum-community-directory .um-member-card,
body .ptum-community-directory .um-member-meta { background: transparent !important; border-color: #385675 !important; }
body .ptum-community-directory .um-member-name a { color: #f0f6ff !important; }
body .ptum-community-directory .um-member-name a:hover { color: #67e8f9 !important; }
body .ptum-community-directory .um-member-tagline,
body .ptum-community-directory .um-member-metaline,
body .ptum-community-directory .um-members-total,
body .ptum-community-directory .um-members-none { color: #bacbe2 !important; }
body .ptum-community-directory .um-member-metaline strong,
body .ptum-community-directory .um-member-more a,
body .ptum-community-directory .um-member-less a { color: #67e8f9 !important; }
body .ptum-community-directory .um-members-edit-btn { height: auto !important; margin: 12px 0 6px !important; }
body .ptum-community-directory .um a.um-edit-profile-btn.um-button {
 background: #17344e !important;
 border: 1px solid #58708e !important;
 color: #67e8f9 !important;
 min-height: 40px !important;
 line-height: 20px !important;
}
body .ptum-community-directory .um a.um-edit-profile-btn.um-button:hover { background: #234560 !important; }
body .ptum-community-directory a.um-edit-profile-btn::before { color: inherit !important; }
/* Both searches use the same fixed border-box height, even in stretched rows. */
body #events #eventSearch,
body .ptum-community-directory .um-search-line {
 box-sizing: border-box !important;
 background: rgba(255,255,255,0.08) !important;
 border: 1px solid var(--line) !important;
 color: var(--white) !important;
 border-radius: 8px !important;
 min-height: 46px !important;
 height: 46px !important;
 padding: 0 14px !important;
 font: inherit !important;
 box-shadow: none !important;
 outline: none;
}
#events .controls input::placeholder,
body .ptum-community-directory .um-search-line::placeholder { color: #a2b6d1 !important; opacity: 1; }
#events .controls input:focus-visible,
body .ptum-community-directory .um-search-line:focus-visible { outline: 2px solid #67e8f9; outline-offset: 2px; }
body #events .ptum-event-search-button,
body .ptum-community-directory .um-do-search {
 background: #67e8f9 !important;
 color: #071528 !important;
 border: 1px solid #67e8f9 !important;
 border-radius: 8px !important;
 min-height: 46px;
}
/* Full-width native search row: flexible input and compact submit button. */
body .ptum-community-directory .um-member-directory-search-line { width: 100% !important; gap: 12px; }
body .ptum-community-directory .um-member-directory-search-line label { flex: 1 1 0 !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; }
body .ptum-community-directory .um-member-directory-search-line .um-search-line { width: 100% !important; }
body .ptum-community-directory .um-member-directory-search-line .um-do-search { flex: 0 0 auto; width: auto !important; min-width: 90px !important; padding-inline: 20px !important; }
/* Card hook is shared by UM; display the compact details only in this embed. */
.ptum-card-details { display: none; }
body .ptum-community-directory .ptum-card-details { display: grid; gap: 6px; margin: 10px 16px 4px; text-align: left; }
body .ptum-community-directory .ptum-card-detail { display:flex; align-items:flex-start; gap:8px; margin: 0 !important; color: #f0f6ff !important; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
body .ptum-community-directory .ptum-card-detail > span { color: #bacbe2; font-size: 12px; margin-right: 5px; }
body .ptum-community-directory .ptum-card-skills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 3px; }
body .ptum-community-directory .ptum-card-skills > span { background: #183b57; border: 1px solid #385675; border-radius: 999px; color: #a5f3fc; padding: 3px 9px; font-size: 12px; line-height: 1.4; max-width: 100%; overflow-wrap: anywhere; }
body .ptum-community-directory :is(.um-member-tagline-area_of_interest, .um-member-tagline-company, .um-member-tagline-skills, .um-member-metaline-area_of_interest, .um-member-metaline-company, .um-member-metaline-skills) { display: none !important; }
body .ptum-community-directory .ptum-card-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 5px; }
body .ptum-community-directory .ptum-card-socials a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid #385675; border-radius: 50%; background: #183b57; color: #a5f3fc !important; text-decoration: none; font-size: 16px; }
body .ptum-community-directory .ptum-card-socials a:hover { background: #234560; border-color: #67e8f9; color: #fff !important; }
body .ptum-community-directory .ptum-card-socials a:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
/* Contact channels: full-card links with icons that need no external font. */
.ptum-contact-panel { padding: clamp(24px, 4vw, 48px); border: 1px solid #385675; border-radius: 24px; background: radial-gradient(ellipse at top right, #17536455, transparent 65%), #0e2039; }
.ptum-contact-heading { max-width: 620px; margin-bottom: 30px; }
.ptum-contact-heading h2 { color: #f0f6ff; margin: 8px 0 14px; font-size: clamp(30px, 4vw, 44px); line-height: 1.15; }
.ptum-contact-heading > p:last-child { color: #bacbe2; line-height: 1.7; margin: 0; }
.ptum-contact-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ptum-contact-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 24px; border: 1px solid #385675; border-radius: 16px; background: #102b44; color: #f0f6ff; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.ptum-contact-card:hover { border-color: #67e8f9; background: #16364e; }
.ptum-contact-card:focus-visible { outline: 3px solid #67e8f9; outline-offset: 4px; }
.ptum-contact-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: #20465d; color: #67e8f9; }
.ptum-contact-icon svg { display: block; width: 25px; height: 25px; }
.ptum-contact-label { font-size: 19px; font-weight: 700; line-height: 1.4; }
.ptum-contact-address { display: block; margin-top: 5px; font-size: 14px; font-weight: 400; color: #a5f3fc; overflow-wrap: anywhere; }
.ptum-contact-description { color: #bacbe2; font-size: 13px; line-height: 1.6; margin-top: auto; }
.ptum-contact-arrow { position: absolute; top: 23px; right: 23px; font-size: 23px; color: #8db0c9; }
.ptum-contact-form { margin-top: 28px; padding-top: 28px; border-top: 1px solid #385675; }
@media (max-width: 800px) { .ptum-contact-channels { grid-template-columns: minmax(0, 1fr); } .ptum-contact-card { gap: 14px; } }
@media (prefers-reduced-motion: reduce) { .ptum-contact-card { transition: none; } }
/* Account navigation and profile editing. */
/* Keep the duplicate page heading, display-name row and unused tabs hidden; render the full name beside the photo. */
body.ptum-profile-page #main-content > article > .section-heading,
body .um.um-profile .um-name,
body .um.um-profile .um-profile-nav { display: none !important; }
body .um .ptum-profile-actions { display: flex; justify-content: flex-end; clear: both; margin: 16px 0; }
body .um .ptum-profile-actions .um-button {
 display: inline-block;
 width: auto !important;
 min-height: 36px;
 padding: 7px 14px !important;
 font-size: 13px !important;
 line-height: 20px !important;
}
body .um .um-account-side { background: transparent; }
body .um .um-account-side li a { background: transparent; color: var(--ptum-muted); border-radius: 8px; }
body .um .um-account-side li a.current,
body .um .um-account-side li a:hover { background: #203b59; color: var(--ptum-accent); }
body .um .um-account-heading,
body .um .um-name a,
body .um .um-profile-edit-a { color: var(--ptum-ink) !important; }
body .um .um-account-heading { border-bottom: 1px solid #385675; padding-bottom: 16px; margin-bottom: 24px; }
body .um .um-profile-nav { background: #0a1a30; border-radius: 10px; }
body .um .um-profile-nav-item a { color: var(--ptum-muted); }
body .um .um-profile-nav-item.active a,
body .um .um-profile-nav-item a:hover { background: #203b59; color: var(--ptum-accent); }
body .um .um-header { border-color: #385675; }
@media (max-width: 600px) {
 body .um.um-register, body .um.um-login, body .um.um-password { margin-block: 12px !important; }
 body .um .um-col-121, body .um .um-col-122 { float: none !important; width: 100% !important; }
 body .um .um-left, body .um .um-right { float: none !important; width: 100% !important; }
 body .um .um-right { margin-top: 12px; }
 body .um .um-button { width: 100% !important; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
 body .um .um-field-area input, body .um .um-field-area textarea, body .um .um-field-area select { transition: none; }
}

.site-footer .ptum-footer-logo { width: 44px; height: 44px; object-fit: contain; flex: 0 0 44px; }

body .um.um-profile .ptum-profile-full-name {
 color: #f0f6ff; font-size: clamp(22px, 3vw, 30px); line-height: 1.3;
 margin: 12px 0; font-weight: 700; overflow-wrap: anywhere;
}

/* Backend event highlights in the homepage hero. */
.hero-panel.ptum-upcoming-events { align-self: start; }
.ptum-upcoming-events > h2 { font-size: clamp(24px, 3vw, 32px); margin: 8px 0 20px; }
.ptum-upcoming-list { display: grid; gap: 16px; max-height: 520px; overflow-y: auto; padding: 2px 6px 4px 2px; }
.ptum-upcoming-list .event-card { margin: 0; padding: 20px; min-width: 0; }
.ptum-upcoming-list h3 { font-size: 21px; line-height: 1.35; margin: 0 0 12px; overflow-wrap: anywhere; }
.ptum-upcoming-list h3 a { color: #f0f6ff; text-decoration: none; }
.ptum-upcoming-list p { color: #bacbe2; margin: 0 0 16px; }
.ptum-upcoming-events a:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }

body #events #eventSearchForm { display: flex; gap: 12px; width: 100%; }
body #events #eventSearch { flex: 1 1 0; min-width: 0; width: auto; }
body #events .ptum-event-search-button {
 flex: 0 0 auto;
 min-width: 90px;
 height: 46px;
 padding: 0 20px;
 font: inherit;
 font-weight: 600;
 cursor: pointer;
}
body #events .ptum-event-search-button:hover { background: #a5f3fc !important; }
body #events .ptum-event-search-button:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }

/* Eventin speaker records, independent of Ultimate Member's AJAX directories. */
.ptum-speaker-grid { --ptum-speaker-columns:4; --ptum-speaker-gap:24px; display:flex; flex-wrap:wrap; justify-content:center; gap:var(--ptum-speaker-gap); }
.ptum-speaker-grid > .ptum-eventin-speaker { flex:0 0 calc((100% - (var(--ptum-speaker-columns) - 1) * var(--ptum-speaker-gap)) / var(--ptum-speaker-columns)); width:calc((100% - (var(--ptum-speaker-columns) - 1) * var(--ptum-speaker-gap)) / var(--ptum-speaker-columns)); min-width:0; box-sizing:border-box; }
.ptum-eventin-speaker { overflow: hidden; padding: 0 0 24px; border: 1px solid #30465e; border-radius: 12px; background: #102238; text-align: center; }
.ptum-speaker-cover { height: 110px; background: linear-gradient(120deg, #17344e, #23506a); }
.ptum-speaker-photo { position: relative; display: block; width: 96px; height: 96px; margin: -48px auto 16px; border: 4px solid #102238; border-radius: 50%; background: #234560; object-fit: cover; box-sizing: border-box; }
.ptum-speaker-placeholder { padding: 18px; color: #a2b6d1; }
.ptum-speaker-placeholder svg { width: 100%; height: 100%; }
.ptum-eventin-speaker h3 { margin: 0 16px 12px; font-size: 20px; overflow-wrap: anywhere; }
.ptum-eventin-speaker h3 a { color: #f5f9ff; }
.ptum-eventin-speaker p { margin: 6px 16px; color: #a2b6d1; overflow-wrap: anywhere; }
@media (max-width: 800px) { .ptum-speaker-grid { --ptum-speaker-columns:1; } }

.ptum-speaker-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ptum-speaker-photo > img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

.ptum-card-socials svg { display: block; width: 18px; height: 18px; flex: none; fill: currentColor; }

/* The login heading and form share one compact surface. */
body.um-page-login #main-content > article {
 width: 100%;
 max-width: 560px;
 box-sizing: border-box;
 margin-inline: auto;
 padding: clamp(24px, 4vw, 40px);
 background: linear-gradient(145deg, #142d4b, #0e2039);
 border: 1px solid #385675;
 border-radius: 20px;
 box-shadow: 0 20px 56px #00000030;
}
body.um-page-login #main-content > article > .section-heading {
 margin: 0 0 28px;
 text-align: center;
}
body.um-page-login #main-content > article > .section-heading h1 {
 margin: 0;
 font-size: clamp(28px, 4vw, 36px);
 line-height: 1.2;
 letter-spacing: -.025em;
}
body.um-page-login #main-content .um.um-login {
 max-width: none !important;
 margin: 0 !important;
}
body.um-page-login #main-content .um.um-login .um-form {
 padding: 0;
 border: 0;
 border-radius: 0;
 background: none;
 box-shadow: none;
}
body.um-page-login .um-login .um-row { margin-bottom: 0 !important; }
body.um-page-login .um-login .um-col-alt { margin-top: 0; }
body.um-page-login .um-login .um-col-alt-b { padding-top: 20px; }
body.um-page-login .um-login .um-field-label-icon { display: none !important; }
@media (max-width: 600px) {
 body.um-page-login #main-content { padding: 28px 18px; }
}

/* Four desktop cards per row; center incomplete rows independently of six-result batches. */
body.home .ptum-community-directory .um-members.um-members-grid {
 --ptum-member-columns:4;
 --ptum-member-gap:24px;
 display: flex !important;
 flex-wrap:wrap;
 justify-content:center;
 gap:var(--ptum-member-gap);
 height: auto !important;
}
body.home .ptum-community-directory .um-members-grid > .um-member {
 position: relative !important;
 inset: auto !important;
 transform: none !important;
 flex:0 0 calc((100% - (var(--ptum-member-columns) - 1) * var(--ptum-member-gap)) / var(--ptum-member-columns));
 width:calc((100% - (var(--ptum-member-columns) - 1) * var(--ptum-member-gap)) / var(--ptum-member-columns)) !important;
 min-width:0;
 box-sizing:border-box;
 margin: 0 !important;
}
body.home .ptum-community-directory .um-members-grid > :is(.um-gutter-sizer, .um-clear) { display: none !important; }
.ptum-speaker-grid > [hidden], .ptum-list-pagination[hidden] { display: none !important; }
.ptum-list-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 24px; color: #bacbe2; }
.ptum-list-pagination button,
body.home .ptum-community-directory .um-members-pagi .pagi {
 background: #183b57 !important; color: #a5f3fc !important; border: 1px solid #385675 !important;
 border-radius: 8px; min-height: 44px; padding: 10px 16px; font: inherit; cursor: pointer;
}
.ptum-list-pagination button:disabled { opacity: .45; cursor: default; }
.ptum-list-pagination button:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
@media (max-width: 800px) {
 body.home .ptum-community-directory .um-members.um-members-grid { --ptum-member-columns:1; }
 .ptum-list-pagination { gap: 10px; font-size: 14px; }
}
body.home .ptum-community-directory .um-members-grid > .um-members-none { grid-column: 1 / -1; }
body.home .ptum-community-directory .um-members-pagi .pagi.current { background: #67e8f9 !important; color: #071528 !important; }
body.home .ptum-community-directory .um-members-pagi .pagi.disabled { opacity: .45; cursor: default; }
body.home .ptum-community-directory .um-members-pagi-dropdown { background: #10233d; color: #f0f6ff; border: 1px solid #58708e; border-radius: 8px; min-height: 44px; }

/* Shared numbered controls for both homepage lists. */
body.home .ptum-numbered-pagination .um-members-pagination-box { display: none !important; }
body.home .ptum-list-pagination { gap: 6px; flex-wrap: wrap; margin-top: 24px; }
body.home .ptum-list-pagination button {
 display: inline-flex; align-items: center; justify-content: center;
 flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px;
 padding: 0; margin: 0; border-radius: 8px;
 background: #183b57 !important; color: #a5f3fc !important; border: 1px solid #385675 !important;
 font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1;
 box-shadow: none; text-decoration: none;
}
body.home .ptum-list-pagination button:hover:not(:disabled) { background: #234560 !important; border-color: #67e8f9 !important; }
body.home .ptum-list-pagination button[aria-current='page'] { background: #67e8f9 !important; color: #071528 !important; border-color: #67e8f9 !important; }
body.home .ptum-list-pagination button:disabled { opacity: .4; cursor: default; }
.ptum-pagination-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* BuddyPress-backed connection actions in Ultimate Member cards. */
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 14px 16px; color: #bacbe2; font-size: 14px; }
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect :is(button, a.ptum-connect-button) {
 display: inline-flex; align-items: center; justify-content: center; min-height: 42px;
 padding: 9px 15px; border-radius: 8px; border: 1px solid #385675 !important;
 background: #183b57 !important; color: #a5f3fc !important; font: inherit; font-weight: 600;
 text-decoration: none !important; cursor: pointer;
}
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect :is(button, a):hover { background: #234560 !important; border-color: #67e8f9 !important; }
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect :is(button, a):focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect button:disabled { opacity: .5; cursor: wait; }
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect .ptum-connect-feedback { flex-basis: 100%; font-size: 12px; text-align: center; }
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect .ptum-connect-feedback:empty { display: none; }

.ptum-connection-requests { padding: 24px; margin-bottom: 24px; border: 1px solid #385675; border-radius: 16px; background: #10233d; color: #bacbe2; }
.ptum-connection-requests h3 { margin: 0 0 8px; font-size: clamp(22px, 3vw, 28px); color: #f0f6ff; }
.ptum-connection-requests p { margin: 0 0 16px; }
.ptum-connection-requests ul { list-style: none; padding: 0; margin: 0; }
.ptum-connection-requests li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid #385675; }
.ptum-connection-requests .ptum-request-name { color: #67e8f9; font-weight: 600; overflow-wrap: anywhere; }
body .ptum-connection-requests .ptum-connect { margin: 0; }

/* Keep connection controls below all member details and social links. */
body .um-members-grid > .um-member { display: flex; flex-direction: column; align-self: stretch; }
body .um-members-grid > .um-member > :is(.um-member-cover, .um-member-photo) { flex-shrink: 0; }
body .um-members-grid .um-member-card { display: flex; flex-direction: column; flex: 1 0 auto; }
body .um-members-grid .um-member-card > .ptum-connect { order: 100; margin-top: auto; padding-top: 14px; }

/* Separate starting a connection from messaging an accepted connection. */
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect button[data-connection-action="request"] {
 background: #3157d5 !important; border-color: #6384ef !important; color: #fff !important;
}
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect button[data-connection-action="request"]:hover {
 background: #2546b5 !important; border-color: #8faaff !important;
}
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect a.ptum-connect-button {
 background: #67e8f9 !important; border-color: #67e8f9 !important; color: #071528 !important;
}
body :is(.um, .ptum-connection-requests, .ptum-header-tools) .ptum-connect a.ptum-connect-button:hover {
 background: #a5f3fc !important; border-color: #a5f3fc !important;
}

/* Profile connection actions follow the full profile content inside the card. */
body .um.um-profile .um-form > .ptum-connect { clear:both; margin:24px 16px 16px; }

/* Show more replaces native numbered pagination only after initialization. */
body.home .ptum-load-more .um-members-pagination-box { display:none !important; }
.ptum-show-more { display:flex; flex-direction:column; align-items:center; gap:10px; margin:24px 0; }
.ptum-event-show-more[hidden],#eventList > [hidden] { display:none !important; }
.ptum-show-more p { color:#bacbe2; font-size:14px; margin:0; }
body .ptum-show-more button { padding:12px 24px; min-height:44px; border:1px solid #67e8f9; border-radius:10px; background:#183b57; color:#a5f3fc; font:inherit; font-weight:600; cursor:pointer; }
body .ptum-show-more button:hover:not(:disabled) { background:#234560; }
body .ptum-show-more button:disabled { opacity:.65; cursor:default; }
body .ptum-show-more button:focus-visible { outline:2px solid #67e8f9; outline-offset:4px; }

body .ptum-community-directory .ptum-card-detail > .ptum-card-detail-icon { display:inline-flex; flex:0 0 18px; align-items:center; justify-content:center; margin:1px 0 0; color:#bacbe2; }
/* Pin the shared Speakers artwork so UM and theme SVG rules cannot change member icons. */
body .ptum-community-directory .ptum-card-detail-icon > svg { display:block; width:18px !important; height:18px !important; flex:none; fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
body .ptum-community-directory .ptum-card-detail-icon > svg :is(path,rect,circle) { fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important; }

/* Profile editing guidance stays readable on desktop and touch screens. */
body .um.um-profile.um-editing .ptum-profile-field-help { display:block; margin:6px 0 0; color:#bacbe2; font-size:12px; font-weight:400; line-height:1.5; }
body .um.um-profile.um-editing .ptum-experience-current .ptum-profile-field-help { flex-basis:100%; }
body .um.um-profile.um-editing .um-field-label [hidden] { display:none !important; }
body .um.um-profile.um-editing .ptum-experience-current { flex-wrap:wrap; }

/* Community counters are omitted; incremental results stop at the homepage cap. */
body.home #community .ptum-community-directory .um-members-total { display:none !important; }
.ptum-show-more[hidden],.ptum-show-more button[hidden] { display:none !important; }
.ptum-show-more > p:empty { display:none; }
