/**
 * AALF front-end customizations
 * Version 1.0.9
 */

:root {
    --aalf-navy: #183a59;
    --aalf-teal: #008985;
    --aalf-gold: #d8a019;
    --aalf-text: #102a3d;
    --aalf-border: #dfe5ea;
    --aalf-bg: #ffffff;
    --aalf-shadow: 0 14px 38px rgba(16, 42, 61, 0.16);
}

/* =========================================================
   AALF / GTranslate header fix
   ---------------------------------------------------------
   The GTranslate "dropdown with flags" already contains the
   correct language links. The problem on the live header is
   that .gt_option opens in normal document flow, increasing
   the height of the Elementor header. We keep GTranslate's
   own JS and make only the option panel absolute.
   ========================================================= */

/* Translation engine: required by GTranslate, not visible UI. */
.gtranslate_wrapper #google_translate_element2,
.gtranslate_wrapper .goog-te-gadget {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Keep the switcher compact and allow the menu to overlay the page. */
.gtranslate_wrapper {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 42px !important;
    overflow: visible !important;
    z-index: 100000 !important;
}

.gtranslate_wrapper .gt_switcher {
    position: relative !important;
    width: 172px !important;
    max-width: 100% !important;
    height: 42px !important;
    overflow: visible !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    z-index: 100001 !important;
}

.gtranslate_wrapper .gt_switcher * {
    box-sizing: border-box !important;
}

/* Current language button. */
.gtranslate_wrapper .gt_switcher .gt_selected {
    position: relative !important;
    width: 100% !important;
    height: 42px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected a,
.gtranslate_wrapper .gt_switcher .gt_selected a:hover,
.gtranslate_wrapper .gt_switcher .gt_selected a:focus {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 34px 8px 10px !important;
    background: #fff !important;
    background-image: none !important;
    color: var(--aalf-text) !important;
    border: 1px solid var(--aalf-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(16,42,61,.05) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected a:hover,
.gtranslate_wrapper .gt_switcher .gt_selected a:focus,
.gtranslate_wrapper .gt_switcher .gt_selected a.open {
    border-color: rgba(0,137,133,.55) !important;
    box-shadow: 0 0 0 3px rgba(0,137,133,.10) !important;
    outline: none !important;
}

/* Clean compact dropdown caret.
   Use a small CSS triangle instead of GTranslate's sprite/rotating chevron. */
.gtranslate_wrapper .gt_switcher .gt_selected a::after {
    content: "" !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    width: 0 !important;
    height: 0 !important;
    margin: -2px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid #667784 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    pointer-events: none !important;
}

/* Keep the same subtle down-caret while the menu is open.
   This avoids the awkward upward arrow/button look. */
.gtranslate_wrapper .gt_switcher .gt_selected a.open::after {
    border-top-color: #667784 !important;
    transform: none !important;
}

.gtranslate_wrapper .gt_switcher img {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    vertical-align: middle !important;
}

/* Language list: absolute overlay so opening it never changes header height. */
.gtranslate_wrapper .gt_switcher .gt_option {
    position: absolute !important;
    top: calc(100% + 7px) !important;
    right: 0 !important;
    left: auto !important;
    width: 210px !important;
    min-width: 210px !important;
    height: auto !important;
    max-height: min(320px, 55vh) !important;
    margin: 0 !important;
    padding: 6px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #fff !important;
    border: 1px solid var(--aalf-border) !important;
    border-radius: 10px !important;
    box-shadow: var(--aalf-shadow) !important;
    z-index: 100002 !important;
}

.gtranslate_wrapper .gt_switcher .gt_option a,
.gtranslate_wrapper .gt_switcher .gt_option a:hover,
.gtranslate_wrapper .gt_switcher .gt_option a:focus {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: var(--aalf-text) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    white-space: normal !important;
}

.gtranslate_wrapper .gt_switcher .gt_option a:hover,
.gtranslate_wrapper .gt_switcher .gt_option a:focus,
.gtranslate_wrapper .gt_switcher .gt_option a.gt_current {
    background: rgba(0,137,133,.08) !important;
    color: var(--aalf-teal) !important;
    outline: none !important;
}

.gtranslate_wrapper .gt_switcher .gt_option::-webkit-scrollbar {
    width: 8px;
}

.gtranslate_wrapper .gt_switcher .gt_option::-webkit-scrollbar-thumb {
    background: #cbd5dc;
    border: 2px solid #fff;
    border-radius: 999px;
}

/* Elementor wrappers surrounding the language widget must not clip the menu. */
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-html,
.elementor-location-header .elementor-widget-container {
    overflow: visible;
}

/* Keep this specific language widget above the next header/navigation row. */
.elementor-location-header .elementor-widget-html:has(.gtranslate_wrapper),
.elementor-location-header .elementor-widget-container:has(.gtranslate_wrapper) {
    position: relative !important;
    z-index: 100000 !important;
}

@media (max-width: 767px) {
    .gtranslate_wrapper {
        justify-content: flex-start !important;
    }

    .gtranslate_wrapper .gt_switcher {
        width: 160px !important;
    }

    .gtranslate_wrapper .gt_switcher .gt_option {
        right: auto !important;
        left: 0 !important;
        width: min(210px, calc(100vw - 24px)) !important;
        min-width: 0 !important;
        max-height: 50vh !important;
    }
}

/* =========================================================
   AALF Homepage improvements — v1.0.3
   ========================================================= */

body.home {
    --aalf-home-max: 1180px;
    --aalf-soft: #f5f8fa;
    --aalf-soft-teal: #eef8f7;
}

/* Reusable homepage SEO / membership intro shortcode. */
.aalf-home-intro {
    width: 100%;
    background: #fff;
    padding: clamp(54px, 6vw, 88px) 22px;
    border-bottom: 1px solid rgba(16, 42, 61, .08);
}

.aalf-home-intro__inner {
    width: min(var(--aalf-home-max), 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
    align-items: center;
    gap: clamp(38px, 6vw, 78px);
}

.aalf-home-eyebrow,
.aalf-home-intro__card-kicker {
    display: block;
    margin: 0 0 12px;
    color: var(--aalf-gold);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.aalf-home-intro h1 {
    max-width: 760px;
    margin: 0 0 20px;
    color: var(--aalf-text);
    font-family: inherit;
    font-size: clamp(34px, 4vw, 58px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.aalf-home-intro__lead {
    max-width: 710px;
    margin: 0;
    color: #536674;
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.7;
}

.aalf-home-intro__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.aalf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 7px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.aalf-btn--primary {
    background: var(--aalf-navy);
    border: 1px solid var(--aalf-navy);
    color: #fff;
    box-shadow: 0 8px 24px rgba(24, 58, 89, .14);
}

.aalf-btn--primary:hover,
.aalf-btn--primary:focus {
    background: #102f4d;
    border-color: #102f4d;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 12px 30px rgba(24, 58, 89, .2);
}

.aalf-btn--secondary {
    background: #fff;
    border: 1px solid #cbd7de;
    color: var(--aalf-text);
}

.aalf-btn--secondary:hover,
.aalf-btn--secondary:focus {
    background: var(--aalf-soft-teal);
    border-color: rgba(0, 137, 133, .45);
    color: var(--aalf-teal);
    transform: translateY(-1px);
}

.aalf-home-intro__card {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: clamp(26px, 3vw, 38px);
    background: linear-gradient(145deg, #183a59 0%, #12324f 100%);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(24, 58, 89, .18);
}

.aalf-home-intro__card::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -70px;
    bottom: -80px;
    border-radius: 50%;
    background: rgba(0, 137, 133, .32);
    pointer-events: none;
}

.aalf-home-intro__card-kicker {
    color: #7fd6d1;
}

.aalf-home-intro__card h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(22px, 2.2vw, 29px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.018em;
}

.aalf-home-intro__card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 14px;
    line-height: 1.65;
}

.aalf-home-intro__mini-links {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    margin-top: 22px;
}

.aalf-home-intro__mini-links a {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 0;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.14);
    font-size: 13px;
    font-weight: 650;
    text-decoration: none;
}

.aalf-home-intro__mini-links a:hover,
.aalf-home-intro__mini-links a:focus {
    color: #8fe4df;
}

/* Existing Elementor homepage sections are intentionally left untouched in v1.0.4.
   Improvements will be applied only through explicit AALF classes/shortcodes
   so live layouts do not change unexpectedly. */

@media (max-width: 900px) {
    .aalf-home-intro__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .aalf-home-intro__card {
        max-width: 620px;
    }
}

@media (max-width: 767px) {
    .aalf-home-intro {
        padding: 44px 18px;
    }

    .aalf-home-intro h1 {
        font-size: clamp(31px, 9vw, 42px);
    }

    .aalf-home-intro__actions {
        display: grid;
    }

    .aalf-btn {
        width: 100%;
    }

}



/* =========================================================
   Your Membership / RCP account redesign — v1.0.5
   Scoped to page ID 1452 only. Existing RCP URLs/actions are
   retained; JS only presents the same data in a cleaner UI.
   ========================================================= */

.page-id-1452 {
    --aalf-account-navy: #083f63;
    --aalf-account-navy-2: #0d5278;
    --aalf-account-text: #173c5b;
    --aalf-account-muted: #687f91;
    --aalf-account-gold: #d89a08;
    --aalf-account-gold-dark: #b97d00;
    --aalf-account-line: #dde8ef;
    --aalf-account-soft: #f7fbfd;
    --aalf-account-green: #0b8a72;
    --aalf-account-green-bg: #ddf4ed;
    --aalf-account-red: #c83a3a;
    --aalf-account-red-bg: #fde6e7;
    --aalf-account-amber: #b97800;
    --aalf-account-amber-bg: #fff3dc;
}

.page-id-1452 main#content.site-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.page-id-1452 main#content > .page-header {
    display: none !important;
}

.page-id-1452 main#content > .page-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hero */
.aalf-account-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #d9e5ec;
    background:
        radial-gradient(circle at 77% 25%, rgba(255,255,255,.93) 0 11%, rgba(255,255,255,.45) 25%, rgba(255,255,255,0) 47%),
        linear-gradient(105deg, #f8fcfe 0%, #eef7fb 52%, #e8f3f1 100%);
}

.aalf-account-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: min(58vw, 900px);
    opacity: .50;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 920 250'%3E%3Cg fill='none' stroke='%239bcfd4' stroke-width='5' opacity='.48'%3E%3Cpath d='M560 3c-90 50-90 145 0 244M700 3c90 50 90 145 0 244'/%3E%3Cpath d='M575 24h110M550 54h162M540 85h182M540 116h182M550 148h162M572 180h116M594 211h71' stroke-width='3'/%3E%3C/g%3E%3Cg fill='%237bbf91' opacity='.38'%3E%3Cellipse cx='784' cy='62' rx='48' ry='14' transform='rotate(34 784 62)'/%3E%3Cellipse cx='835' cy='103' rx='60' ry='16' transform='rotate(-25 835 103)'/%3E%3Cellipse cx='755' cy='155' rx='52' ry='15' transform='rotate(18 755 155)'/%3E%3Cellipse cx='870' cy='183' rx='58' ry='16' transform='rotate(-35 870 183)'/%3E%3C/g%3E%3C/svg%3E");
}

.aalf-account-hero__inner,
.aalf-account-shell {
    width: min(1160px, calc(100% - 42px));
    margin: 0 auto;
}

.aalf-account-hero__inner {
    position: relative;
    z-index: 1;
    padding: 24px 0 31px;
}

.aalf-account-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    color: #60798c;
    font-size: 13px;
    line-height: 1.4;
}

.aalf-account-breadcrumbs a {
    color: #60798c;
    text-decoration: none;
}

.aalf-account-breadcrumbs a:hover { color: var(--aalf-account-navy); }
.aalf-account-breadcrumbs__sep { opacity: .5; }
.aalf-account-breadcrumbs__current { color: var(--aalf-account-navy); font-weight: 650; }

.aalf-account-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, .8fr);
    gap: 44px;
    align-items: center;
}

.aalf-account-hero__title-block {
    display: flex;
    align-items: stretch;
    gap: 34px;
}

.aalf-account-hero__title-block::after {
    content: "";
    width: 1px;
    min-height: 98px;
    margin-left: auto;
    background: #9fb2bf;
}

.aalf-account-hero h1 {
    margin: 0;
    color: var(--aalf-account-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 4.3vw, 58px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.025em;
}

.aalf-account-hero__subtitle {
    display: block;
    margin-top: 4px;
    color: #6f7479;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 3vw, 40px);
    font-weight: 400;
    line-height: 1.08;
}

.aalf-account-hero__rule {
    width: 74px;
    height: 4px;
    margin-top: 18px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--aalf-account-gold), #ead4a1);
}

.aalf-account-hero__statement {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    max-width: 410px;
    color: #375775;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 2vw, 27px);
    font-style: italic;
    line-height: 1.22;
}

.aalf-account-hero__statement svg {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    color: #b98b43;
}

.aalf-account-hero__statement strong {
    display: block;
    color: var(--aalf-account-gold-dark);
    font-weight: 700;
}

/* Main membership content */
.aalf-account-shell {
    padding: 28px 0 56px;
}

.page-id-1452 #rcp-table-wrapper {
    width: 100%;
    max-width: none;
}

.page-id-1452 #rcp-table-wrapper > h3,
.page-id-1452 #rcp-account-overview.aalf-rcp-source-hidden {
    display: none !important;
}

.aalf-account-section {
    margin: 0 0 30px;
}

.aalf-account-section__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
}

.aalf-account-section__heading {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.aalf-account-section__icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: var(--aalf-account-navy);
    box-shadow: 0 3px 10px rgba(4,61,94,.20), 0 0 0 1px #d2e0e8;
    color: #fff;
}

.aalf-account-section__icon svg { width: 24px; height: 24px; }

.aalf-account-section__heading h2 {
    margin: 0 0 2px;
    color: var(--aalf-account-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 2.3vw, 31px);
    line-height: 1.12;
}

.aalf-account-section__heading p {
    margin: 0;
    color: var(--aalf-account-muted);
    font-size: 14px;
    line-height: 1.45;
}

/* Membership cards */
.aalf-membership-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.aalf-membership-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 18px 18px 17px;
    overflow: hidden;
    border: 1px solid #d9e4ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(12,62,92,.06);
}

.aalf-membership-card__top {
    display: grid;
    grid-template-columns: 56px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
}

.aalf-membership-card__plan-icon {
    display: inline-flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #eef5ff;
    color: var(--aalf-account-navy);
}

.aalf-membership-card.is-monthly .aalf-membership-card__plan-icon {
    background: #e8f7f3;
    color: #14847c;
}

.aalf-membership-card__plan-icon svg { width: 29px; height: 29px; }

.aalf-membership-card__name {
    margin: 0;
    color: var(--aalf-account-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.08;
}

.aalf-membership-card__type {
    margin-top: 2px;
    color: #557187;
    font-size: 12px;
    font-weight: 600;
}

.aalf-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 88px;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.aalf-status-pill::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: currentColor;
    opacity: .9;
}

.aalf-status-pill.is-active,
.aalf-status-pill.is-complete {
    color: var(--aalf-account-green);
    background: var(--aalf-account-green-bg);
}

.aalf-status-pill.is-pending {
    color: var(--aalf-account-amber);
    background: var(--aalf-account-amber-bg);
}

.aalf-status-pill.is-abandoned {
    color: var(--aalf-account-red);
    background: var(--aalf-account-red-bg);
}

.aalf-membership-card__date {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 14px 0 16px 68px;
    color: #60798c;
    font-size: 12px;
}

.aalf-membership-card__date svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: var(--aalf-account-navy);
}

.aalf-membership-card__date span { display: block; }
.aalf-membership-card__date strong {
    display: block;
    margin-top: 1px;
    color: var(--aalf-account-navy);
    font-size: 14px;
}

.aalf-membership-card__actions {
    display: grid;
    gap: 8px;
    margin-top: auto;
}

.aalf-membership-card__actions a {
    display: flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--aalf-account-gold);
    border-radius: 6px;
    color: var(--aalf-account-gold-dark);
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: .18s ease;
}

.aalf-membership-card__actions a:first-child {
    color: #fff;
    background: linear-gradient(180deg, #daa10f, #ca8c00);
    border-color: #c98b00;
}

.aalf-membership-card__actions a:hover,
.aalf-membership-card__actions a:focus {
    transform: translateY(-1px);
    box-shadow: 0 5px 13px rgba(195,134,0,.15);
    outline: none;
}

/* Payment history */
.aalf-payment-search {
    position: relative;
    width: min(280px, 100%);
}

.aalf-payment-search svg {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 17px;
    height: 17px;
    color: var(--aalf-account-navy);
    transform: translateY(-50%);
    pointer-events: none;
}

.aalf-payment-search input {
    width: 100%;
    height: 42px;
    margin: 0;
    padding: 8px 12px 8px 39px;
    border: 1px solid #d8e3ea;
    border-radius: 9px;
    background: #fff;
    color: var(--aalf-account-text);
    font: inherit;
    font-size: 13px;
    box-shadow: none;
}

.aalf-payment-search input:focus {
    border-color: #8fb5c9;
    box-shadow: 0 0 0 3px rgba(8,63,99,.08);
    outline: none;
}

.page-id-1452 #rcp-payment-history {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid #d7e3ea !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(12,62,92,.05);
    table-layout: auto;
}

.page-id-1452 #rcp-payment-history thead,
.page-id-1452 #rcp-payment-history thead.hide-mobile {
    display: table-header-group !important;
}

.page-id-1452 #rcp-payment-history thead th {
    padding: 12px 15px !important;
    border: 0 !important;
    background: linear-gradient(180deg, #0b4d73, #083f63) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: .045em;
    text-align: left !important;
    text-transform: uppercase;
    white-space: nowrap;
}

.page-id-1452 #rcp-payment-history tbody td {
    padding: 10px 15px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3ebf0 !important;
    background: #fff !important;
    color: #274c68 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}

.page-id-1452 #rcp-payment-history tbody tr:nth-child(even) td {
    background: #fbfdfe !important;
}

.page-id-1452 #rcp-payment-history tbody tr:last-child td {
    border-bottom: 0 !important;
}

.page-id-1452 #rcp-payment-history tbody tr[hidden] { display: none !important; }

.page-id-1452 #rcp-payment-history td[data-title="Actions"] {
    min-width: 220px;
}

.page-id-1452 #rcp-payment-history td[data-title="Actions"] br {
    display: none !important;
}

.page-id-1452 #rcp-payment-history td[data-title="Actions"] a {
    display: inline-flex;
    margin: 2px 5px 2px 0;
    text-decoration: none !important;
    vertical-align: middle;
}

.page-id-1452 #rcp-payment-history td[data-title="Actions"] a button,
.page-id-1452 #rcp-payment-history td[data-title="Actions"] button {
    min-width: 102px;
    min-height: 32px;
    margin: 0 !important;
    padding: 6px 11px !important;
    border: 1px solid var(--aalf-account-gold) !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: var(--aalf-account-gold-dark) !important;
    font: inherit !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

.page-id-1452 #rcp-payment-history td[data-title="Actions"] a.aalf-action-primary button,
.page-id-1452 #rcp-payment-history td[data-title="Actions"] a.aalf-action-primary {
    background: linear-gradient(180deg, #daa10f, #ca8c00) !important;
    border-color: #c98b00 !important;
    color: #fff !important;
}

.page-id-1452 #rcp-payment-history td[data-title="Actions"] a:hover button,
.page-id-1452 #rcp-payment-history td[data-title="Actions"] a:focus button {
    filter: brightness(.98);
    box-shadow: 0 3px 9px rgba(195,134,0,.12) !important;
}

.aalf-payment-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.aalf-payment-status::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.aalf-payment-status.is-complete {
    color: var(--aalf-account-green);
    background: var(--aalf-account-green-bg);
}

.aalf-payment-status.is-abandoned {
    color: var(--aalf-account-red);
    background: var(--aalf-account-red-bg);
}

.aalf-payment-status.is-pending {
    color: var(--aalf-account-amber);
    background: var(--aalf-account-amber-bg);
}

.aalf-payment-empty {
    display: none;
    padding: 18px;
    color: #6a7f8e;
    text-align: center;
    font-size: 13px;
}

.aalf-payment-empty.is-visible { display: block; }

@media (max-width: 980px) {
    .aalf-account-hero__grid { grid-template-columns: 1fr; gap: 24px; }
    .aalf-account-hero__title-block { max-width: 650px; }
    .aalf-account-hero__title-block::after { display: none; }
    .aalf-account-hero__statement { max-width: 560px; }
    .aalf-membership-grid { grid-template-columns: 1fr; }
    .aalf-membership-card__date { margin-left: 68px; }
}

@media (max-width: 767px) {
    .aalf-account-hero__inner,
    .aalf-account-shell {
        width: min(100% - 28px, 1160px);
    }

    .aalf-account-hero__inner { padding: 18px 0 24px; }
    .aalf-account-breadcrumbs { margin-bottom: 15px; }
    .aalf-account-hero h1 { font-size: 38px; }
    .aalf-account-hero__subtitle { font-size: 28px; }
    .aalf-account-hero__statement { font-size: 20px; }

    .aalf-account-shell { padding: 23px 0 42px; }
    .aalf-account-section__top { align-items: flex-start; flex-direction: column; }
    .aalf-account-section__icon { width: 46px; height: 46px; flex-basis: 46px; }
    .aalf-account-section__heading h2 { font-size: 25px; }
    .aalf-payment-search { width: 100%; }

    .aalf-membership-card__top {
        grid-template-columns: 48px minmax(0,1fr);
    }
    .aalf-membership-card__plan-icon { width: 48px; height: 48px; }
    .aalf-membership-card__plan-icon svg { width: 25px; height: 25px; }
    .aalf-membership-card__top .aalf-status-pill {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .aalf-membership-card__date { margin-left: 60px; }

    .page-id-1452 #rcp-payment-history {
        display: block !important;
        overflow: visible;
        border: 0 !important;
        background: transparent;
        box-shadow: none;
    }
    .page-id-1452 #rcp-payment-history thead { display: none !important; }
    .page-id-1452 #rcp-payment-history tbody,
    .page-id-1452 #rcp-payment-history tr,
    .page-id-1452 #rcp-payment-history td {
        display: block !important;
        width: 100% !important;
    }
    .page-id-1452 #rcp-payment-history tbody tr {
        margin: 0 0 12px;
        padding: 10px 13px;
        border: 1px solid #dce6ec;
        border-radius: 9px;
        background: #fff;
        box-shadow: 0 3px 10px rgba(12,62,92,.04);
    }
    .page-id-1452 #rcp-payment-history tbody td,
    .page-id-1452 #rcp-payment-history tbody tr:nth-child(even) td {
        position: relative;
        min-height: 34px;
        padding: 8px 0 8px 42% !important;
        border: 0 !important;
        border-bottom: 1px solid #edf2f5 !important;
        background: transparent !important;
    }
    .page-id-1452 #rcp-payment-history tbody td:last-child { border-bottom: 0 !important; }
    .page-id-1452 #rcp-payment-history tbody td::before {
        content: attr(data-title);
        position: absolute;
        top: 8px;
        left: 0;
        width: 37%;
        color: #597287;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
    }
    .page-id-1452 #rcp-payment-history td[data-title="Actions"] { min-width: 0; }
}

@media (max-width: 480px) {
    .aalf-account-hero::before { width: 100%; opacity: .24; }
    .aalf-account-hero__statement { gap: 10px; }
    .aalf-account-hero__statement svg { width: 28px; height: 28px; flex-basis: 28px; }
    .aalf-membership-card { padding: 16px 14px; }
    .aalf-membership-card__date { margin-left: 0; }
    .page-id-1452 #rcp-payment-history tbody td,
    .page-id-1452 #rcp-payment-history tbody tr:nth-child(even) td { padding-left: 0 !important; padding-top: 25px !important; }
    .page-id-1452 #rcp-payment-history tbody td::before { width: 100%; top: 7px; }
}

/* =========================================================
   Membership account layout refinement — v1.0.6
   Fixes theme/RCP width inheritance and heading overrides.
   ========================================================= */

/* RCP/Elementor can carry max-width rules into this page. Force the
   enhanced account UI to use the intended desktop canvas. */
.page-id-1452 .aalf-account-shell {
    width: min(1160px, calc(100% - 42px)) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.page-id-1452 .aalf-account-shell #rcp-table-wrapper,
.page-id-1452 #rcp-table-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-id-1452 .aalf-account-section,
.page-id-1452 .aalf-membership-grid,
.page-id-1452 .aalf-account-section--payments,
.page-id-1452 #rcp-payment-history {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.page-id-1452 .aalf-membership-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.page-id-1452 .aalf-membership-card {
    box-sizing: border-box !important;
    min-height: 250px;
    padding: 20px 18px 18px !important;
}

/* Keep the plan name visually close to the mockup even when the parent
   theme has broad .page-content h3 typography rules. */
.page-id-1452 .aalf-membership-card__top {
    position: relative;
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding-right: 98px;
}

.page-id-1452 h3.aalf-membership-card__name,
.page-id-1452 .page-content h3.aalf-membership-card__name {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--aalf-account-navy) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    word-break: normal !important;
}

.page-id-1452 .aalf-membership-card__type {
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.page-id-1452 .aalf-membership-card__top > .aalf-status-pill {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%);
    min-width: 82px !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
}

.page-id-1452 .aalf-membership-card__date {
    margin: 15px 0 18px 68px !important;
}

/* Give payment history the same visual width as the membership cards. */
.page-id-1452 #rcp-payment-history {
    table-layout: fixed !important;
}

.page-id-1452 #rcp-payment-history th:nth-child(1),
.page-id-1452 #rcp-payment-history td:nth-child(1) { width: 10%; }
.page-id-1452 #rcp-payment-history th:nth-child(2),
.page-id-1452 #rcp-payment-history td:nth-child(2) { width: 22%; }
.page-id-1452 #rcp-payment-history th:nth-child(3),
.page-id-1452 #rcp-payment-history td:nth-child(3) { width: 12%; }
.page-id-1452 #rcp-payment-history th:nth-child(4),
.page-id-1452 #rcp-payment-history td:nth-child(4) { width: 18%; }
.page-id-1452 #rcp-payment-history th:nth-child(5),
.page-id-1452 #rcp-payment-history td:nth-child(5) { width: 18%; }
.page-id-1452 #rcp-payment-history th:nth-child(6),
.page-id-1452 #rcp-payment-history td:nth-child(6) { width: 20%; }

@media (max-width: 980px) {
    .page-id-1452 .aalf-membership-grid {
        grid-template-columns: 1fr !important;
    }

    .page-id-1452 h3.aalf-membership-card__name,
    .page-id-1452 .page-content h3.aalf-membership-card__name {
        white-space: normal !important;
    }

    .page-id-1452 .aalf-membership-card {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    .page-id-1452 .aalf-account-shell {
        width: min(100% - 28px, 1160px) !important;
    }

    .page-id-1452 .aalf-membership-card__top {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        padding-right: 0;
    }

    .page-id-1452 .aalf-membership-card__top > .aalf-status-pill {
        position: static !important;
        grid-column: 2;
        justify-self: start;
        transform: none;
        margin-top: 6px;
    }

    .page-id-1452 .aalf-membership-card__date {
        margin-left: 60px !important;
    }

    .page-id-1452 #rcp-payment-history {
        table-layout: auto !important;
    }
}

/* =========================================================
   Simplified RCP registration flow — v1.0.7
   ---------------------------------------------------------
   Presentation only. Existing RCP/PayPal fields, nonces,
   totals and gateway processing remain in the original form.
   ========================================================= */

.aalf-registration-page {
    --aalf-register-navy: #083f63;
    --aalf-register-teal: #0b8f88;
    --aalf-register-gold: #d79a0b;
    --aalf-register-text: #173c5b;
    --aalf-register-muted: #6e8291;
    --aalf-register-line: #dce7ed;
    --aalf-register-soft: #f5fafc;
}

.aalf-registration-page main#content,
.aalf-registration-page .site-main {
    background: linear-gradient(180deg, #f8fcfe 0, #fff 360px);
}

.aalf-registration-page .page-header .entry-title {
    display: none !important;
}

.aalf-registration-page .page-content,
.aalf-registration-page .entry-content {
    width: min(860px, calc(100% - 36px)) !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.aalf-register-intro {
    margin: 42px auto 22px;
    text-align: center;
}

.aalf-register-intro__eyebrow {
    margin-bottom: 8px;
    color: var(--aalf-register-gold);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.aalf-register-intro h1 {
    margin: 0;
    color: var(--aalf-register-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4.4vw, 50px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.aalf-register-intro > p {
    width: min(620px, 100%);
    margin: 12px auto 0;
    color: var(--aalf-register-muted);
    font-size: 15px;
    line-height: 1.65;
}

.aalf-register-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
    color: #8193a0;
    font-size: 12px;
    font-weight: 650;
}

.aalf-register-steps span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.aalf-register-steps b {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid #cbd8df;
    border-radius: 50%;
    background: #fff;
    color: #708492;
    font-size: 11px;
}

.aalf-register-steps .is-current { color: var(--aalf-register-navy); }
.aalf-register-steps .is-current b {
    border-color: var(--aalf-register-navy);
    background: var(--aalf-register-navy);
    color: #fff;
}

.aalf-register-steps i {
    width: 52px;
    height: 1px;
    background: #d6e1e7;
}

.aalf-register-form {
    position: relative;
    margin: 0 auto 64px !important;
    padding: clamp(22px, 4vw, 38px) !important;
    border: 1px solid var(--aalf-register-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 18px 55px rgba(15, 62, 88, .09) !important;
}

.aalf-register-form *,
.aalf-register-form *::before,
.aalf-register-form *::after { box-sizing: border-box; }

.aalf-register-form fieldset {
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
}

.aalf-register-form legend {
    color: var(--aalf-register-navy) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.aalf-register-hidden-system-field,
.aalf-register-hidden-system-field input,
.aalf-group-field-hidden,
.aalf-plan-option--hidden,
.aalf-plan-picker-hidden,
.aalf-register-redundant-heading {
    display: none !important;
}

.aalf-selected-plan {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin: 0 0 26px;
    padding: 14px 16px;
    border: 1px solid #cfe5e3;
    border-radius: 11px;
    background: #f1faf9;
}

.aalf-selected-plan__icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #dff3ef;
    color: var(--aalf-register-teal);
}

.aalf-selected-plan__icon svg { width: 22px; height: 22px; }
.aalf-selected-plan__label {
    display: block;
    margin-bottom: 2px;
    color: #6d858f;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.aalf-selected-plan__name {
    display: block;
    color: var(--aalf-register-navy);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.25;
}

.aalf-selected-plan__change {
    color: var(--aalf-register-navy) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.aalf-register-account-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e5edf1;
}

.aalf-register-account-heading > span {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    background: var(--aalf-register-navy);
    color: #fff;
}

.aalf-register-account-heading svg { width: 21px; height: 21px; }
.aalf-register-account-heading h2 {
    margin: 0 !important;
    color: var(--aalf-register-navy) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
}
.aalf-register-account-heading p {
    margin: 3px 0 0 !important;
    color: var(--aalf-register-muted) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.aalf-register-form p,
.aalf-register-form .rcp_form_field,
.aalf-register-form .form-row {
    margin-top: 0;
    margin-bottom: 16px;
}

.aalf-register-form label {
    color: var(--aalf-register-text) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.aalf-register-form input[type="text"],
.aalf-register-form input[type="email"],
.aalf-register-form input[type="password"],
.aalf-register-form input[type="tel"],
.aalf-register-form input[type="number"],
.aalf-register-form select,
.aalf-register-form textarea {
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 6px !important;
    padding: 10px 13px !important;
    border: 1px solid #cbd8df !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #173c5b !important;
    font: inherit !important;
    font-size: 14px !important;
    box-shadow: none !important;
    outline: none !important;
}

.aalf-register-form textarea { min-height: 94px !important; resize: vertical; }
.aalf-register-form input:focus,
.aalf-register-form select:focus,
.aalf-register-form textarea:focus {
    border-color: rgba(11, 143, 136, .72) !important;
    box-shadow: 0 0 0 3px rgba(11, 143, 136, .10) !important;
}

/* Keep membership choices compact when no plan parameter is supplied. */
.aalf-register-form .aalf-plan-option {
    margin: 8px 0 !important;
    padding: 11px 13px !important;
    border: 1px solid #dce6eb;
    border-radius: 9px;
    background: #fff;
}

.aalf-register-form .aalf-plan-option--selected {
    border-color: #acd7d2;
    background: #f3fbfa;
}

.aalf-register-form input[type="radio"],
.aalf-register-form input[type="checkbox"] {
    accent-color: var(--aalf-register-teal);
}

/* RCP sometimes renders first/last fields next to one another; preserve a
   clean two-column arrangement without depending on a specific template. */
.aalf-register-form .aalf-field-first,
.aalf-register-form .aalf-field-last {
    width: calc(50% - 8px);
    display: inline-block;
    vertical-align: top;
}
.aalf-register-form .aalf-field-first { margin-right: 12px; }

/* Compact gateway / renewal controls while preserving billing consent. */
.aalf-register-form .rcp_gateway_fields,
.aalf-register-form #rcp_gateway_fields,
.aalf-register-form .rcp-auto-renew,
.aalf-register-form #rcp_auto_renew_wrap,
.aalf-register-form [id*="auto_renew"] {
    margin-top: 16px !important;
    padding: 14px 16px !important;
    border-radius: 9px;
    background: var(--aalf-register-soft);
}

.aalf-register-secure-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 19px 0 10px;
    color: #6d808e;
    font-size: 11px;
    line-height: 1.45;
}
.aalf-register-secure-note span:first-child {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 50%;
    background: #eef6f7;
    color: var(--aalf-register-teal);
}
.aalf-register-secure-note svg { width: 14px; height: 14px; }

.aalf-register-form .aalf-register-submit,
.aalf-register-form #rcp_submit,
.aalf-register-form input[type="submit"],
.aalf-register-form button[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    border: 1px solid #b77a00 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #dda512, #ca8c00) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    box-shadow: 0 8px 18px rgba(190, 128, 0, .15) !important;
    cursor: pointer;
}

.aalf-register-form .aalf-register-submit:hover,
.aalf-register-form #rcp_submit:hover,
.aalf-register-form input[type="submit"]:hover,
.aalf-register-form button[type="submit"]:hover {
    filter: brightness(.98);
    transform: translateY(-1px);
}

.aalf-register-form .rcp_error,
.aalf-register-form .rcp_message,
.aalf-register-form .rcp_errors,
.aalf-register-form .rcp-alert {
    border-radius: 8px !important;
    font-size: 12px !important;
}

@media (max-width: 767px) {
    .aalf-registration-page .page-content,
    .aalf-registration-page .entry-content {
        width: min(100% - 24px, 860px) !important;
    }

    .aalf-register-intro { margin-top: 28px; }
    .aalf-register-form { padding: 20px 16px !important; border-radius: 12px !important; }
    .aalf-register-steps { gap: 8px; }
    .aalf-register-steps i { width: 28px; }
    .aalf-register-steps span { font-size: 11px; }

    .aalf-selected-plan {
        grid-template-columns: 38px minmax(0,1fr);
    }
    .aalf-selected-plan__change {
        grid-column: 2;
        justify-self: start;
    }

    .aalf-register-form .aalf-field-first,
    .aalf-register-form .aalf-field-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }
}

/* v1.0.8 — RCP/Kadence Memberships AJAX blocking state
   Restrict Content Pro uses jQuery BlockUI while recalculating membership
   totals and gateway fields. Keep the interaction blocked, but replace the
   heavy dark overlay with a subtle light loading state. */
.aalf-register-form > .blockUI.blockOverlay,
.aalf-register-form .blockUI.blockOverlay {
    background: rgba(255, 255, 255, .72) !important;
    background-color: rgba(255, 255, 255, .72) !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 16px !important;
    cursor: wait !important;
}

/* If BlockUI outputs its default message, keep it discreet and on-brand. */
.aalf-register-form > .blockUI.blockMsg,
.aalf-register-form .blockUI.blockMsg {
    width: auto !important;
    max-width: calc(100% - 40px) !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    padding: 9px 13px !important;
    border: 1px solid #d7e5ea !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #0b4967 !important;
    box-shadow: 0 8px 26px rgba(15, 62, 88, .10) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

@media (max-width: 767px) {
    .aalf-register-form > .blockUI.blockOverlay,
    .aalf-register-form .blockUI.blockOverlay {
        border-radius: 12px !important;
    }
}

/* =========================================================
   Registration checkout polish — v1.0.9
   ---------------------------------------------------------
   Refines the RCP-generated Membership Details, Auto Renew,
   validation and final CTA without changing payment logic.
   ========================================================= */

/* Membership Details: convert RCP's default table into a clean summary card. */
.aalf-register-form .rcp_registration_total.aalf-billing-summary {
    margin: 24px 0 18px !important;
    padding: 18px !important;
    border: 1px solid #d8e6ec !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fbfdfe 0%, #f7fbfc 100%) !important;
    box-shadow: 0 10px 28px rgba(8, 63, 99, .055) !important;
}

.aalf-billing-summary__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 15px;
    padding: 0 0 14px;
    border-bottom: 1px solid #e1ebef;
}

.aalf-billing-summary__icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 11px;
    background: #e9f5f4;
    color: var(--aalf-register-teal);
}

.aalf-billing-summary__icon svg {
    width: 21px;
    height: 21px;
}

.aalf-billing-summary__heading h2 {
    margin: 0 !important;
    color: var(--aalf-register-navy) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

.aalf-billing-summary__heading p {
    margin: 2px 0 0 !important;
    color: #78909d !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.aalf-billing-summary__legacy-title {
    display: none !important;
}

.aalf-register-form .aalf-billing-summary__table,
.aalf-register-form .rcp_registration_total_details {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    background: transparent !important;
    box-shadow: none !important;
}

.aalf-register-form .aalf-billing-summary__table thead,
.aalf-register-form .rcp_registration_total_details thead {
    display: none !important;
}

.aalf-register-form .aalf-billing-summary__table tbody,
.aalf-register-form .rcp_registration_total_details tbody {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100% !important;
}

.aalf-register-form .aalf-billing-summary__row,
.aalf-register-form .rcp_registration_total_details tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    width: 100% !important;
    min-height: 62px;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e1e9ed !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.aalf-register-form .aalf-billing-summary__row--total {
    border-color: #bfe1dd !important;
    background: #eef9f7 !important;
}

.aalf-register-form .aalf-billing-summary__row--renewal {
    background: #f8fbfd !important;
}

.aalf-register-form .aalf-billing-summary__row th,
.aalf-register-form .aalf-billing-summary__row td,
.aalf-register-form .rcp_registration_total_details th,
.aalf-register-form .rcp_registration_total_details td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.aalf-register-form .aalf-billing-summary__label,
.aalf-register-form .rcp_registration_total_details tr > :first-child {
    color: #708694 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

.aalf-register-form .aalf-billing-summary__value,
.aalf-register-form .rcp_registration_total_details tr > :last-child {
    color: var(--aalf-register-navy) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: right !important;
    white-space: normal !important;
}

.aalf-register-form .aalf-billing-summary__row--total .aalf-billing-summary__value,
.aalf-register-form .rcp_registration_total_details .rcp-total > :last-child {
    color: var(--aalf-register-teal) !important;
    font-size: 16px !important;
}

/* Remove empty gateway placeholders when RCP/PayPal does not output controls there. */
.aalf-register-form .rcp_gateway_fields:empty,
.aalf-register-form #rcp_gateway_fields:empty {
    display: none !important;
}

@supports selector(:has(*)) {
    .aalf-register-form .rcp_gateway_fields:not(:has(input, select, textarea, button, label, a, img)),
    .aalf-register-form #rcp_gateway_fields:not(:has(input, select, textarea, button, label, a, img)) {
        display: none !important;
    }
}

/* Auto renew / subscription settings card. */
.aalf-register-form .aalf-auto-renew-card,
.aalf-register-form #rcp_auto_renew_wrap.aalf-auto-renew-card,
.aalf-register-form .rcp-auto-renew.aalf-auto-renew-card {
    margin: 18px 0 !important;
    padding: 16px 17px !important;
    border: 1px solid #d8e6ec !important;
    border-radius: 12px !important;
    background: #f8fbfc !important;
    box-shadow: none !important;
}

.aalf-auto-renew-card__heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 13px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e4ecef;
}

.aalf-auto-renew-card__icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    background: #e8f6f4;
    color: var(--aalf-register-teal);
}

.aalf-auto-renew-card__icon svg {
    width: 18px;
    height: 18px;
}

.aalf-auto-renew-card__heading strong {
    display: block;
    color: var(--aalf-register-navy);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.3;
}

.aalf-auto-renew-card__heading small {
    display: block;
    margin-top: 2px;
    color: #748b98;
    font-size: 10.5px;
    line-height: 1.4;
}

.aalf-register-form .aalf-auto-renew-card input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 0 !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    vertical-align: -3px !important;
}

.aalf-register-form .aalf-auto-renew-card label,
.aalf-register-form .aalf-auto-renew-card__toggle-label {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    color: var(--aalf-register-text) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    cursor: pointer;
}

.aalf-auto-renew-card__help {
    margin: 8px 0 0 26px;
    color: #7a8e9a;
    font-size: 10.5px;
    line-height: 1.45;
}

/* Softer, clearer validation feedback. */
.aalf-register-form .rcp_errors {
    margin: 14px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.aalf-register-form .rcp_error,
.aalf-register-form .rcp_errors .rcp_error,
.aalf-register-form .rcp-alert.rcp_error {
    position: relative;
    display: block;
    margin: 8px 0 !important;
    padding: 10px 12px 10px 36px !important;
    border: 1px solid #f1c7c1 !important;
    border-radius: 9px !important;
    background: #fff7f6 !important;
    color: #9b4439 !important;
    box-shadow: none !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}

.aalf-register-form .rcp_error::before,
.aalf-register-form .rcp_errors .rcp_error::before {
    content: "!";
    position: absolute;
    left: 12px;
    top: 50%;
    display: grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #e36b5f;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-50%);
}

.aalf-register-form .rcp_message:not(.rcp_error) {
    margin: 10px 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #bfe1dd !important;
    border-radius: 9px !important;
    background: #eef9f7 !important;
    color: #176b66 !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}

/* Final payment cue + CTA. */
.aalf-register-secure-note {
    margin: 18px 0 11px !important;
    padding: 11px 12px !important;
    border: 1px solid #e0ebef;
    border-radius: 9px;
    background: #fbfdfe;
}

.aalf-register-form .aalf-register-submit,
.aalf-register-form #rcp_submit,
.aalf-register-form input[type="submit"],
.aalf-register-form button[type="submit"] {
    min-height: 54px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    letter-spacing: .01em !important;
    box-shadow: 0 10px 24px rgba(190, 128, 0, .16) !important;
}

@media (max-width: 640px) {
    .aalf-register-form .aalf-billing-summary__table tbody,
    .aalf-register-form .rcp_registration_total_details tbody {
        grid-template-columns: 1fr;
    }

    .aalf-register-form .aalf-billing-summary__row,
    .aalf-register-form .rcp_registration_total_details tr {
        min-height: 58px;
        padding: 11px 12px !important;
    }

    .aalf-register-form .rcp_registration_total.aalf-billing-summary {
        padding: 15px !important;
    }
}

/* =========================================================
   Edit Profile / RCP profile editor redesign — v1.0.10
   Scoped to the AALF Edit Profile page + custom template.
   ========================================================= */
.aalf-profile-page {
    --aalf-profile-navy: #083f63;
    --aalf-profile-navy-deep: #0b3154;
    --aalf-profile-teal: #078f8b;
    --aalf-profile-gold: #d89a08;
    --aalf-profile-gold-dark: #b77900;
    --aalf-profile-text: #183b59;
    --aalf-profile-muted: #6c8194;
    --aalf-profile-border: #d8e4eb;
    --aalf-profile-soft: #f5f9fc;
}

.aalf-profile-page main#content.site-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #f7fbfd;
}

.aalf-profile-page main#content > .page-header {
    display: none !important;
}

.aalf-profile-page main#content > .page-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.aalf-profile-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #dce8ee;
    background:
        radial-gradient(circle at 80% 32%, rgba(255,255,255,.96) 0 9%, rgba(255,255,255,.58) 27%, rgba(255,255,255,0) 52%),
        linear-gradient(105deg, #f7fcff 0%, #edf7fb 56%, #eef8f5 100%);
}

.aalf-profile-hero::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 0;
    width: min(57vw, 850px);
    height: 100%;
    opacity: .62;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 920 260'%3E%3Cg fill='none' stroke='%238ccbd3' stroke-width='5' opacity='.42'%3E%3Cpath d='M560 0c-95 52-95 154 0 258M710 0c95 52 95 154 0 258'/%3E%3Cpath d='M578 25h112M553 56h164M542 88h186M542 120h186M552 152h164M578 184h112M598 216h72' stroke-width='3'/%3E%3C/g%3E%3Cg fill='%23d6aa4b' opacity='.36'%3E%3Ccircle cx='770' cy='44' r='13'/%3E%3Ccircle cx='840' cy='95' r='9'/%3E%3Ccircle cx='745' cy='160' r='10'/%3E%3C/g%3E%3Cg stroke='%23d6aa4b' stroke-width='3' opacity='.25'%3E%3Cpath d='M770 44l70 51M745 160l95-65'/%3E%3C/g%3E%3C/svg%3E");
}

.aalf-profile-hero__inner,
.aalf-profile-shell {
    width: min(1120px, calc(100% - 42px));
    margin: 0 auto;
}

.aalf-profile-hero__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-height: 205px;
    padding: 38px 0 42px;
}

.aalf-profile-hero__copy {
    max-width: 650px;
}

.aalf-profile-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 10px;
    color: var(--aalf-profile-gold-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.aalf-profile-eyebrow::after {
    content: "";
    display: block;
    width: 44px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--aalf-profile-gold), #e9c978);
}

.aalf-profile-hero h1 {
    margin: 0;
    color: var(--aalf-profile-navy-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 4.4vw, 58px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.025em;
}

.aalf-profile-hero p {
    margin: 10px 0 0;
    color: #61798b;
    font-size: 17px;
    line-height: 1.55;
}

.aalf-profile-shell {
    position: relative;
    z-index: 2;
    padding: 30px 0 62px;
}

/* RCP notices above the card */
.aalf-profile-shell > .rcp_error,
.aalf-profile-shell > .rcp_errors,
.aalf-profile-shell > .rcp_message,
.aalf-profile-shell > .rcp-alert {
    max-width: 100%;
    margin: 0 0 18px !important;
    padding: 13px 16px !important;
    border: 1px solid #efbcbc !important;
    border-radius: 10px !important;
    background: #fff3f3 !important;
    color: #8e2b2b !important;
    box-shadow: 0 8px 22px rgba(8,63,99,.06);
}

.aalf-profile-form,
.aalf-profile-form fieldset {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0;
}

.aalf-profile-card {
    display: block !important;
    padding: 28px 32px 30px !important;
    border: 1px solid rgba(151,177,194,.34) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 20px 52px rgba(31,73,101,.10) !important;
}

.aalf-profile-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    margin: 0 0 23px;
}

.aalf-profile-section-heading legend {
    float: none !important;
    width: auto !important;
    margin: 1px 0 3px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--aalf-profile-navy-deep) !important;
    font-family: inherit !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.aalf-profile-section-heading p {
    margin: 0 !important;
    color: var(--aalf-profile-muted) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.aalf-profile-section-icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    border-radius: 50%;
}

.aalf-profile-section-icon svg {
    width: 25px;
    height: 25px;
    fill: currentColor;
}

.aalf-profile-section-icon--teal {
    color: var(--aalf-profile-teal);
    background: #e4f5f3;
}

.aalf-profile-section-icon--gold {
    color: var(--aalf-profile-gold-dark);
    background: #fff3d9;
}

.aalf-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px 24px;
}

.aalf-profile-field {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.aalf-profile-field label {
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--aalf-profile-navy-deep) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.aalf-profile-input-wrap {
    position: relative;
    display: flex;
    width: 100%;
    align-items: center;
}

.aalf-profile-input-icon {
    position: absolute;
    z-index: 2;
    left: 14px;
    top: 50%;
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    color: #8295a5;
    pointer-events: none;
}

.aalf-profile-input-icon svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.aalf-profile-form input[type="text"],
.aalf-profile-form input[type="email"],
.aalf-profile-form input[type="password"],
.aalf-profile-form select {
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 10px 42px !important;
    border: 1px solid #cedbe4 !important;
    border-radius: 7px !important;
    outline: 0 !important;
    background: #fff !important;
    color: #25445d !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    box-shadow: inset 0 1px 2px rgba(20,61,87,.025) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.aalf-profile-form select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 46px !important;
    background-image: linear-gradient(45deg, transparent 50%, #73899a 50%), linear-gradient(135deg, #73899a 50%, transparent 50%) !important;
    background-position: calc(100% - 19px) 20px, calc(100% - 14px) 20px !important;
    background-size: 5px 5px, 5px 5px !important;
    background-repeat: no-repeat !important;
}

.aalf-profile-form input:focus,
.aalf-profile-form select:focus {
    border-color: #58aaa9 !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(7,143,139,.10) !important;
}

.aalf-profile-form input.aalf-profile-field-changed,
.aalf-profile-form select.aalf-profile-field-changed {
    border-color: #a8ccc9 !important;
}

.aalf-profile-input-wrap--password input {
    padding-right: 48px !important;
}

.aalf-profile-password-toggle {
    position: absolute !important;
    z-index: 3;
    right: 9px;
    top: 50%;
    display: inline-flex !important;
    width: 34px !important;
    height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%);
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #8295a5 !important;
    box-shadow: none !important;
    cursor: pointer;
}

.aalf-profile-password-toggle:hover,
.aalf-profile-password-toggle:focus {
    background: #eef5f8 !important;
    color: var(--aalf-profile-navy) !important;
    outline: none !important;
}

.aalf-profile-password-toggle svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.aalf-profile-field-help {
    display: block;
    margin: 7px 0 0;
    color: #8093a2;
    font-size: 12px;
    line-height: 1.45;
}

.aalf-profile-divider {
    height: 1px;
    margin: 28px 0 25px;
    background: #e2ebf0;
}

.aalf-profile-submit-wrap {
    margin: 25px 0 0 !important;
}

.aalf-profile-save {
    display: inline-flex !important;
    min-width: 220px !important;
    min-height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px 25px !important;
    border: 1px solid #cc8c00 !important;
    border-radius: 7px !important;
    background: linear-gradient(180deg, #e6a70b 0%, #d59200 100%) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: 0 10px 22px rgba(204,140,0,.18) !important;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.aalf-profile-save svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.aalf-profile-save:hover,
.aalf-profile-save:focus {
    transform: translateY(-1px);
    filter: brightness(.97);
    box-shadow: 0 13px 28px rgba(204,140,0,.24) !important;
    outline: 0 !important;
}

.aalf-profile-save:active {
    transform: translateY(0);
}

@media (max-width: 900px) {
    .aalf-profile-hero__inner,
    .aalf-profile-shell {
        width: min(100% - 30px, 820px);
    }

    .aalf-profile-hero__inner {
        min-height: 180px;
        padding: 31px 0 34px;
    }

    .aalf-profile-hero::after {
        width: 65vw;
        opacity: .35;
    }

    .aalf-profile-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .aalf-profile-hero__inner,
    .aalf-profile-shell {
        width: calc(100% - 28px);
    }

    .aalf-profile-hero__inner {
        min-height: 154px;
        padding: 26px 0 29px;
    }

    .aalf-profile-hero h1 {
        font-size: clamp(34px, 11vw, 44px);
    }

    .aalf-profile-hero p {
        max-width: 82%;
        font-size: 14px;
    }

    .aalf-profile-shell {
        padding-top: 20px;
        padding-bottom: 42px;
    }

    .aalf-profile-card {
        padding: 21px 17px 22px !important;
        border-radius: 13px !important;
    }

    .aalf-profile-section-heading {
        gap: 13px;
        margin-bottom: 19px;
    }

    .aalf-profile-section-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .aalf-profile-section-heading legend {
        font-size: 20px !important;
    }

    .aalf-profile-section-heading p {
        font-size: 12.5px !important;
    }

    .aalf-profile-form input[type="text"],
    .aalf-profile-form input[type="email"],
    .aalf-profile-form input[type="password"],
    .aalf-profile-form select {
        height: 46px !important;
        font-size: 16px !important; /* Prevent iOS form auto zoom. */
    }

    .aalf-profile-save {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* =========================================================
   Edit Profile card full-bleed refinement — v1.0.12
   Keep the original v1.0.10 form/content width, but extend only the
   white card background/border outward to the wider account-page frame.
   This preserves the field widths/alignment while removing the large
   empty side gaps around the card itself.
   ========================================================= */
@media (min-width: 901px) {
    .aalf-profile-card {
        position: relative !important;
        isolation: isolate;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .aalf-profile-card::before {
        content: "";
        position: absolute;
        z-index: 0;
        left: 50%;
        top: -22px;
        bottom: -28px;
        width: min(1380px, calc(100vw - 56px));
        transform: translateX(-50%);
        border: 1px solid rgba(151,177,194,.34);
        border-radius: 16px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 20px 52px rgba(31,73,101,.10);
        pointer-events: none;
    }

    .aalf-profile-card > * {
        position: relative;
        z-index: 1;
    }
}

/* =========================================================
   Member Login modal redesign — v1.0.13
   Enhances the existing AALF front-end AJAX login without changing
   its authentication endpoint or submit behavior.
   ========================================================= */
body .aalf-login-modal {
    padding: 22px !important;
}

body .aalf-login-backdrop {
    background: rgba(6, 24, 39, .72) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
}

body .aalf-login-dialog,
body .aalf-login-dialog.aalf-login-dialog--enhanced {
    width: min(470px, calc(100vw - 34px)) !important;
    padding: 35px 34px 30px !important;
    overflow: hidden !important;
    border: 1px solid rgba(167, 188, 202, .34) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 30px 90px rgba(0, 22, 40, .30) !important;
}

body .aalf-login-dialog::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #0a8890 0%, #0a8890 38%, #d89a04 38%, #d89a04 100%);
}

body .aalf-login-close,
body .aalf-login-close:hover,
body .aalf-login-close:focus {
    right: 15px !important;
    top: 14px !important;
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid #dbe5eb !important;
    border-radius: 50% !important;
    background: #f5f8fa !important;
    color: #526978 !important;
    font-family: Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease !important;
}

body .aalf-login-close:hover,
body .aalf-login-close:focus {
    border-color: #bdd1dc !important;
    background: #eaf2f5 !important;
    color: #063f61 !important;
    transform: rotate(3deg);
    outline: none !important;
}

body .aalf-login-title {
    margin: 0 48px 6px 0 !important;
    color: #073e61 !important;
    font-family: inherit !important;
    font-size: clamp(29px, 3vw, 34px) !important;
    font-weight: 750 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
}

body .aalf-login-subtitle {
    margin: 0 0 25px !important;
    color: #718393 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body .aalf-login-field {
    margin: 0 0 17px !important;
}

body .aalf-login-field label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #123d59 !important;
    font-family: inherit !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body .aalf-login-input-wrap {
    position: relative;
}

body .aalf-login-input-icon {
    position: absolute;
    z-index: 2;
    left: 14px;
    top: 50%;
    display: inline-flex;
    width: 19px;
    height: 19px;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    color: #8196a4;
    pointer-events: none;
}

body .aalf-login-input-icon svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

body .aalf-login-field input[type="text"],
body .aalf-login-field input[type="email"],
body .aalf-login-field input[type="password"] {
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 9px 13px 9px 44px !important;
    border: 1px solid #cbd9e2 !important;
    border-radius: 9px !important;
    background: #f9fbfc !important;
    color: #17394f !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body .aalf-login-field input::placeholder {
    color: #9aaab5 !important;
    opacity: 1 !important;
}

body .aalf-login-field input:focus {
    border-color: #0a8a90 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(10, 138, 144, .12) !important;
    outline: none !important;
}

body .aalf-login-options {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 2px 0 20px !important;
}

body .aalf-login-remember {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #526879 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    cursor: pointer;
}

body .aalf-login-remember input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    accent-color: #0a858d;
}

body .aalf-login-forgot {
    color: #0a7f87 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body .aalf-login-forgot:hover,
body .aalf-login-forgot:focus {
    color: #075e66 !important;
    text-decoration: underline !important;
    outline: none !important;
}

body .aalf-login-actions {
    display: grid !important;
    gap: 12px !important;
}

body .aalf-login-submit,
body .aalf-login-submit.aalf-login-submit--full,
body .aalf-login-submit:hover,
body .aalf-login-submit:focus {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 11px 18px !important;
    border: 1px solid #c98900 !important;
    border-radius: 9px !important;
    background: linear-gradient(180deg, #e4a506 0%, #d39200 100%) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: .01em !important;
    box-shadow: 0 10px 22px rgba(202, 139, 0, .18) !important;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body .aalf-login-submit:hover,
body .aalf-login-submit:focus {
    filter: brightness(.97) !important;
    transform: translateY(-1px);
    box-shadow: 0 13px 28px rgba(202, 139, 0, .24) !important;
    outline: none !important;
}

body .aalf-login-submit-arrow {
    display: inline-flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
}

body .aalf-login-submit-arrow svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

body .aalf-login-divider {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 4px 0 0 !important;
    color: #899aa6 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: center !important;
}

body .aalf-login-divider::before,
body .aalf-login-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #e1e9ee;
}

body .aalf-login-signup {
    min-height: 49px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 18px !important;
    border: 1px solid #0b7180 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #087781 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body .aalf-login-signup:hover,
body .aalf-login-signup:focus {
    background: #eff9f9 !important;
    color: #055f68 !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(10, 120, 128, .10) !important;
    outline: none !important;
}

body .aalf-login-message {
    margin: 0 0 16px !important;
    padding: 11px 13px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body .aalf-login-message.is-error {
    border: 1px solid #efc0c0 !important;
    background: #fff5f5 !important;
    color: #8d2a2a !important;
}

body .aalf-login-message.is-success {
    border: 1px solid #b7dcc0 !important;
    background: #f1faf3 !important;
    color: #216335 !important;
}

@media (max-width: 600px) {
    body .aalf-login-modal {
        padding: 14px !important;
        align-items: center !important;
    }

    body .aalf-login-dialog,
    body .aalf-login-dialog.aalf-login-dialog--enhanced {
        width: 100% !important;
        padding: 31px 20px 23px !important;
        border-radius: 15px !important;
    }

    body .aalf-login-title {
        font-size: 28px !important;
    }

    body .aalf-login-options {
        align-items: flex-start !important;
        flex-direction: row !important;
        gap: 12px !important;
    }
}


/* =========================================================
   Member Login password visibility toggle — v1.0.14
   ========================================================= */
body .aalf-login-field input[type="password"],
body .aalf-login-field input.aalf-password-visible {
    padding-right: 50px !important;
}

body .aalf-login-password-toggle {
    position: absolute !important;
    z-index: 3 !important;
    right: 10px !important;
    top: 50% !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #8196a4 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: color .18s ease, background .18s ease !important;
}

body .aalf-login-password-toggle:hover,
body .aalf-login-password-toggle:focus-visible {
    background: #eef5f7 !important;
    color: #0a7f87 !important;
    outline: none !important;
}

body .aalf-login-password-toggle svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    pointer-events: none !important;
}

/* =========================================================
   AALF Global Header Refinement — v1.0.15
   ---------------------------------------------------------
   Compact, premium desktop/tablet header without changing
   the Elementor template structure or menu functionality.
   ========================================================= */

.elementor-location-header {
    --aalf-header-surface: #ffffff;
    --aalf-header-nav: #f8fafc;
    --aalf-header-line: rgba(16, 42, 61, .08);
    --aalf-header-shadow: 0 8px 28px rgba(16, 42, 61, .055);
    position: relative;
    z-index: 9990;
    background: var(--aalf-header-surface);
}

/* Top identity row: logo + email + language selector. */
.elementor-location-header .elementor-element-29f53583 {
    min-height: 86px !important;
    padding: 12px 0 10px !important;
    margin: 0 !important;
    background: #fff !important;
}

.elementor-location-header .elementor-element-29f53583 > .elementor-container {
    min-height: 0 !important;
    align-items: center !important;
}

.elementor-location-header .elementor-element-29f53583 .elementor-column,
.elementor-location-header .elementor-element-29f53583 .elementor-widget-wrap {
    min-height: 0 !important;
    align-items: center !important;
}

/* Keep the AALF identity prominent, but remove the oversized whitespace. */
.elementor-location-header .elementor-element-6c4c901c,
.elementor-location-header .elementor-element-6c4c901c .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-location-header .elementor-element-6c4c901c img {
    display: block !important;
    width: min(205px, 100%) !important;
    max-width: 205px !important;
    height: auto !important;
    margin: 0 !important;
}

/* Refine email utility item. */
.elementor-location-header .elementor-element-30d497,
.elementor-location-header .elementor-element-30d497 .elementor-widget-container,
.elementor-location-header .elementor-element-30d497 .elementor-icon-list-items {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-location-header .elementor-element-30d497 .elementor-icon-list-item {
    gap: 9px !important;
}

.elementor-location-header .elementor-element-30d497 .elementor-icon-list-text {
    color: #29475c !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.elementor-location-header .elementor-element-30d497 .elementor-icon-list-icon svg {
    width: 14px !important;
    height: 14px !important;
    fill: var(--aalf-teal) !important;
}

/* Language selector: slightly smaller to match the compact utility row. */
.elementor-location-header .gtranslate_wrapper {
    min-height: 38px !important;
}

.elementor-location-header .gtranslate_wrapper .gt_switcher,
.elementor-location-header .gtranslate_wrapper .gt_switcher .gt_selected {
    width: 158px !important;
    height: 38px !important;
}

.elementor-location-header .gtranslate_wrapper .gt_switcher .gt_selected a,
.elementor-location-header .gtranslate_wrapper .gt_switcher .gt_selected a:hover,
.elementor-location-header .gtranslate_wrapper .gt_switcher .gt_selected a:focus {
    height: 38px !important;
    min-height: 38px !important;
    padding: 7px 31px 7px 10px !important;
    border-radius: 7px !important;
    font-size: 13px !important;
}

.elementor-location-header .gtranslate_wrapper .gt_switcher img {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    flex-basis: 20px !important;
}

/* Main navigation row. */
.elementor-location-header .elementor-element-1bb4c976 {
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--aalf-header-nav) !important;
    border-top: 1px solid var(--aalf-header-line) !important;
    border-bottom: 1px solid var(--aalf-header-line) !important;
    box-shadow: var(--aalf-header-shadow) !important;
}

.elementor-location-header .elementor-element-1bb4c976 > .elementor-container {
    min-height: 54px !important;
    align-items: stretch !important;
}

.elementor-location-header .elementor-element-1bb4c976 .elementor-column,
.elementor-location-header .elementor-element-1bb4c976 .elementor-widget-wrap {
    min-height: 54px !important;
    align-items: center !important;
}

/* Navigation typography and spacing. */
.elementor-location-header .elementor-element-4e80a203 .elementor-nav-menu--main .elementor-item {
    min-height: 53px !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    color: #17354a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    transition: color .18s ease, background-color .18s ease !important;
}

.elementor-location-header .elementor-element-4e80a203 .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-element-4e80a203 .elementor-nav-menu--main .elementor-item:focus {
    color: var(--aalf-teal) !important;
    background: rgba(0, 137, 133, .035) !important;
}

.elementor-location-header .elementor-element-4e80a203 .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header .elementor-element-4e80a203 .elementor-nav-menu--main .current-menu-item > .elementor-item {
    color: #c78f05 !important;
}

/* Make Elementor's underline treatment refined instead of heavy. */
.elementor-location-header .elementor-element-4e80a203 .e--pointer-underline .elementor-item::after {
    height: 2px !important;
    bottom: 0 !important;
    background-color: var(--aalf-teal) !important;
    border-radius: 999px 999px 0 0 !important;
}

.elementor-location-header .elementor-element-4e80a203 .current-menu-item > .elementor-item::after,
.elementor-location-header .elementor-element-4e80a203 .elementor-item.elementor-item-active::after {
    background-color: var(--aalf-teal) !important;
}

/* Right-side utility navigation: Follow Us + member/login. */
.elementor-location-header .elementor-element-1b513299 > .elementor-widget-wrap {
    gap: 8px !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
}

.elementor-location-header .elementor-element-5cba2182,
.elementor-location-header .elementor-element-7b1e7e7,
.elementor-location-header .elementor-element-c2a4fed {
    margin: 0 !important;
}

.elementor-location-header .elementor-element-5cba2182 .elementor-heading-title {
    color: #17354a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

.elementor-location-header .elementor-element-7b1e7e7 .elementor-social-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 14px !important;
    background: transparent !important;
    color: var(--aalf-teal) !important;
    border-radius: 7px !important;
}

.elementor-location-header .elementor-element-7b1e7e7 .elementor-social-icon:hover {
    background: rgba(0, 137, 133, .08) !important;
    transform: translateY(-1px);
}

.elementor-location-header .aalf-member-menu {
    min-height: 44px !important;
}

.elementor-location-header .aalf-member-trigger,
.elementor-location-header .aalf-member-login {
    min-height: 44px !important;
    padding: 0 10px !important;
    gap: 6px !important;
    color: #17354a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
}

.elementor-location-header .aalf-member-trigger:hover,
.elementor-location-header .aalf-member-trigger:focus,
.elementor-location-header .aalf-member-login:hover,
.elementor-location-header .aalf-member-login:focus {
    background: rgba(0, 137, 133, .06) !important;
}

.elementor-location-header .aalf-member-icon {
    width: 16px !important;
    height: 16px !important;
    flex-basis: 16px !important;
}

.elementor-location-header .aalf-member-chevron {
    width: 13px !important;
    height: 13px !important;
}

/* Clean desktop relationship between the compact header and page content. */
@media (min-width: 1025px) {
    .elementor-location-header .elementor-element-29f53583 > .elementor-container,
    .elementor-location-header .elementor-element-1bb4c976 > .elementor-container {
        width: min(1180px, calc(100% - 48px)) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Tablet: retain the same premium proportions without squeezing controls. */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-location-header .elementor-element-29f53583 {
        min-height: 78px !important;
        padding: 10px 18px !important;
    }

    .elementor-location-header .elementor-element-6c4c901c img {
        width: min(178px, 100%) !important;
        max-width: 178px !important;
    }

    .elementor-location-header .elementor-element-30d497 .elementor-icon-list-text {
        font-size: 13px !important;
    }

    .elementor-location-header .elementor-element-1bb4c976,
    .elementor-location-header .elementor-element-1bb4c976 > .elementor-container,
    .elementor-location-header .elementor-element-1bb4c976 .elementor-column,
    .elementor-location-header .elementor-element-1bb4c976 .elementor-widget-wrap {
        min-height: 50px !important;
    }
}

/* Mobile keeps Elementor's menu behavior, but trims the oversized brand row. */
@media (max-width: 767px) {
    .elementor-location-header .elementor-element-29f53583 {
        min-height: 68px !important;
        padding: 8px 14px !important;
    }

    .elementor-location-header .elementor-element-6c4c901c img {
        width: min(158px, 100%) !important;
        max-width: 158px !important;
    }

    .elementor-location-header .gtranslate_wrapper .gt_switcher,
    .elementor-location-header .gtranslate_wrapper .gt_switcher .gt_selected {
        width: 142px !important;
    }

    .elementor-location-header .elementor-element-1bb4c976 {
        min-height: 48px !important;
    }
}

/* =========================================================
   AALF Header Utility Hotfix — v1.0.16
   ---------------------------------------------------------
   Restore the Follow Us area to a single horizontal row.
   This intentionally overrides only the right-side utility
   widgets introduced by the compact header refinement.
   ========================================================= */
@media (min-width: 1025px) {
    .elementor-location-header .elementor-element-1b513299 > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        white-space: nowrap !important;
    }

    .elementor-location-header .elementor-element-5cba2182,
    .elementor-location-header .elementor-element-7b1e7e7,
    .elementor-location-header .elementor-element-c2a4fed {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        align-self: center !important;
    }

    .elementor-location-header .elementor-element-5cba2182 .elementor-widget-container,
    .elementor-location-header .elementor-element-5cba2182 .elementor-heading-title {
        width: auto !important;
        white-space: nowrap !important;
    }

    .elementor-location-header .elementor-element-7b1e7e7 .elementor-widget-container {
        display: flex !important;
        align-items: center !important;
        width: auto !important;
    }

    .elementor-location-header .elementor-element-7b1e7e7 .elementor-social-icons-wrapper,
    .elementor-location-header .elementor-element-7b1e7e7 .elementor-grid {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
        width: auto !important;
        margin: 0 !important;
    }

    .elementor-location-header .elementor-element-7b1e7e7 .elementor-grid-item {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    .elementor-location-header .elementor-element-7b1e7e7 .elementor-social-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 27px !important;
        height: 27px !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
    }

    .elementor-location-header .elementor-element-7b1e7e7 .elementor-social-icon svg {
        display: block !important;
        width: 14px !important;
        height: 14px !important;
        margin: 0 !important;
    }

    .elementor-location-header .elementor-element-c2a4fed {
        margin-left: 5px !important;
    }
}

/* Keep the utility row stable on common laptop widths as well. */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-location-header .elementor-element-1b513299 > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
    }

    .elementor-location-header .elementor-element-5cba2182,
    .elementor-location-header .elementor-element-7b1e7e7,
    .elementor-location-header .elementor-element-c2a4fed {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .elementor-location-header .elementor-element-5cba2182 .elementor-heading-title {
        white-space: nowrap !important;
    }

    .elementor-location-header .elementor-element-7b1e7e7 .elementor-social-icons-wrapper,
    .elementor-location-header .elementor-element-7b1e7e7 .elementor-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 5px !important;
    }
}
