/* =========================================================
   FIRSTMYTRIP - MEMBERSHIP
   File: assets/css/membership.css
========================================================= */

:root{
    --fmt-mem-navy:#061a2d;
    --fmt-mem-navy-2:#0a2944;
    --fmt-mem-navy-3:#103a5d;
    --fmt-mem-blue:#159ff2;
    --fmt-mem-blue-2:#38bdf8;
    --fmt-mem-gold:#e0b64f;
    --fmt-mem-gold-2:#f1cc72;
    --fmt-mem-gold-soft:#fff7df;
    --fmt-mem-text:#10263f;
    --fmt-mem-muted:#6d7f91;
    --fmt-mem-line:#dce6ef;
    --fmt-mem-bg:#f7fbff;
    --fmt-mem-white:#ffffff;
    --fmt-mem-shadow:0 18px 50px rgba(8,37,61,.10);
    --fmt-mem-radius:22px;
}

html{
    scroll-behavior:smooth;
}

.fmt-membership-page,
.fmt-membership-page *{
    box-sizing:border-box;
}

.fmt-membership-page{
    width:100%;
    overflow-x:hidden;
    overflow-y:visible;
    background:#fff;
    color:var(--fmt-mem-text);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.fmt-membership-container{
    width:min(1280px,calc(100% - 44px));
    margin:0 auto;
}

.fmt-membership-page h1,
.fmt-membership-page h2,
.fmt-membership-page h3,
.fmt-membership-page p{
    margin-top:0;
}

.fmt-membership-page button,
.fmt-membership-page input,
.fmt-membership-page select,
.fmt-membership-page textarea{
    font:inherit;
}

.fmt-membership-page button{
    border:0;
}

.fmt-membership-page a{
    text-decoration:none;
}

.fmt-membership-section{
    padding:92px 0;
}

.fmt-membership-mini-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    color:#61758a;
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.fmt-membership-mini-label-light{
    color:#d9ecf8;
}

.fmt-membership-mini-label-gold{
    color:var(--fmt-mem-gold-2);
}

.fmt-membership-section-head{
    max-width:760px;
    margin-bottom:42px;
}

.fmt-membership-section-head-center{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.fmt-membership-section-head h2,
.fmt-membership-how-copy h2,
.fmt-membership-rewards-copy h2{
    margin-bottom:16px;
    color:#102945;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(36px,4vw,58px);
    line-height:1.04;
    letter-spacing:-.035em;
}

.fmt-membership-section-head p,
.fmt-membership-how-copy > p,
.fmt-membership-rewards-copy > p{
    color:var(--fmt-mem-muted);
    font-size:17px;
    line-height:1.75;
}


/* =========================================================
   HERO
========================================================= */

.fmt-membership-hero{
    position:relative;
    min-height:730px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    isolation:isolate;
}

.fmt-membership-hero-overlay{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            90deg,
            rgba(3,19,35,.96) 0%,
            rgba(5,31,53,.86) 30%,
            rgba(5,31,53,.52) 52%,
            rgba(5,31,53,.13) 74%,
            rgba(5,31,53,.03) 100%
        );
}

.fmt-membership-hero::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:150px;
    pointer-events:none;
    background:linear-gradient(to top,rgba(4,22,39,.48),transparent);
}

.fmt-membership-hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    padding:85px 0 58px;
}

.fmt-membership-hero-content{
    max-width:670px;
}

.fmt-membership-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:23px;
    color:#f6e4ad;
    font-size:12px;
    font-weight:900;
    letter-spacing:.19em;
}

.fmt-membership-eyebrow::after{
    content:"";
    width:65px;
    height:1px;
    background:var(--fmt-mem-gold);
    opacity:.85;
}

.fmt-membership-hero h1{
    max-width:660px;
    margin-bottom:23px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(54px,6vw,86px);
    line-height:.96;
    letter-spacing:-.045em;
}

.fmt-membership-hero h1 span{
    display:block;
    color:#f0c45f;
}

.fmt-membership-hero-copy{
    max-width:610px;
    margin-bottom:31px;
    color:#d7e5ef;
    font-size:18px;
    line-height:1.72;
}

.fmt-membership-hero-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:14px;
}

.fmt-membership-btn{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 24px;
    border-radius:999px;
    font-weight:800;
    cursor:pointer;
    transition:.25s ease;
}

.fmt-membership-btn:hover{
    transform:translateY(-2px);
}

.fmt-membership-btn-gold{
    color:#10243b;
    background:linear-gradient(135deg,#f0c85f,#e4ad36);
    box-shadow:0 14px 34px rgba(211,163,52,.28);
}

.fmt-membership-btn-gold:hover{
    box-shadow:0 18px 40px rgba(211,163,52,.38);
}

.fmt-membership-btn-glass{
    color:#fff;
    border:1px solid rgba(255,255,255,.42);
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(10px);
}

.fmt-membership-btn-glass:hover{
    background:rgba(255,255,255,.12);
}

.fmt-membership-hero-benefits{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    max-width:790px;
    margin-top:44px;
}

.fmt-membership-hero-benefit{
    min-height:102px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 14px;
    border:1px solid rgba(240,201,96,.22);
    border-radius:18px;
    color:#fff;
    background:rgba(4,25,44,.47);
    backdrop-filter:blur(14px);
}

.fmt-membership-benefit-icon{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(239,192,76,.45);
    border-radius:50%;
    color:#f0c255;
    background:rgba(224,182,79,.10);
    font-size:20px;
    font-weight:900;
}

.fmt-membership-hero-benefit strong{
    display:block;
    margin-bottom:4px;
    font-size:13px;
}

.fmt-membership-hero-benefit span{
    display:block;
    color:#bacbd7;
    font-size:11px;
    line-height:1.4;
}


/* =========================================================
   BENEFITS
========================================================= */

.fmt-membership-benefits-section{
    background:
        radial-gradient(circle at 50% 0%,#eef8ff 0,transparent 34%),
        #fff;
}

.fmt-membership-benefits-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.fmt-membership-benefit-card{
    min-height:235px;
    padding:30px 24px;
    border:1px solid #dce8f1;
    border-radius:20px;
    background:#fff;
    text-align:center;
    box-shadow:0 10px 28px rgba(13,43,67,.05);
    transition:.25s ease;
}

.fmt-membership-benefit-card:hover{
    transform:translateY(-6px);
    border-color:#e4c768;
    box-shadow:0 18px 38px rgba(13,43,67,.10);
}

.fmt-membership-card-icon{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin:0 auto 20px;
    border-radius:50%;
    color:#173450;
    background:linear-gradient(145deg,#f4d26e,#e5ae37);
    box-shadow:0 10px 22px rgba(218,168,53,.20);
    font-size:26px;
    font-weight:900;
}

.fmt-membership-benefit-card h3{
    margin-bottom:10px;
    color:#132e49;
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
}

.fmt-membership-benefit-card p{
    margin:0;
    color:#758698;
    font-size:13px;
    line-height:1.65;
}


/* =========================================================
   PLANS
========================================================= */

.fmt-membership-plans-section{
    padding:94px 0;
    color:#fff;
    background:
        radial-gradient(circle at 80% 10%,rgba(51,139,204,.18),transparent 28%),
        linear-gradient(135deg,#04182b 0%,#062a46 60%,#073a5e 100%);
}

.fmt-membership-section-head-dark h2{
    color:#fff;
}

.fmt-membership-section-head-dark p{
    color:#b8cad7;
}

.fmt-membership-plans-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    max-width:1080px;
    margin:0 auto;
    align-items:stretch;
}

.fmt-membership-plan-card{
    position:relative;
    min-height:530px;
    padding:30px 28px 28px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px;
    color:#fff;
    background:rgba(255,255,255,.04);
    box-shadow:0 20px 46px rgba(0,0,0,.18);
}

.fmt-membership-plan-card-featured{
    color:#122b45;
    background:linear-gradient(180deg,#f3cd66 0%,#e8b74a 100%);
    border-color:#f6d985;
    transform:translateY(-14px);
    box-shadow:0 26px 60px rgba(207,155,36,.28);
}

.fmt-membership-popular-badge{
    position:absolute;
    top:-15px;
    left:50%;
    transform:translateX(-50%);
    min-width:130px;
    padding:7px 16px;
    border-radius:999px;
    color:#122b45;
    background:#ffe69f;
    text-align:center;
    font-size:10px;
    font-weight:900;
    letter-spacing:.10em;
}

.fmt-membership-plan-top{
    padding-bottom:22px;
    border-bottom:1px solid rgba(255,255,255,.16);
}

.fmt-membership-plan-card-featured .fmt-membership-plan-top{
    border-bottom-color:rgba(21,47,70,.18);
}

.fmt-membership-plan-name{
    display:block;
    margin-bottom:5px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:32px;
    font-weight:700;
}

.fmt-membership-plan-top small{
    color:#aebfcd;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.fmt-membership-plan-card-featured .fmt-membership-plan-top small{
    color:#344b5e;
}

.fmt-membership-plan-price{
    padding:26px 0 22px;
}

.fmt-membership-plan-price-label{
    display:block;
    margin-bottom:8px;
    color:#9fb2c1;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
}

.fmt-membership-plan-card-featured .fmt-membership-plan-price-label{
    color:#405567;
}

.fmt-membership-plan-price strong{
    display:block;
    font-size:22px;
    line-height:1.25;
}

.fmt-membership-plan-list{
    display:grid;
    gap:14px;
    padding:0;
    margin:0 0 28px;
    list-style:none;
}

.fmt-membership-plan-list li{
    position:relative;
    padding-left:27px;
    color:#d2dfe7;
    font-size:13px;
    line-height:1.5;
}

.fmt-membership-plan-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    width:19px;
    height:19px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#122b45;
    background:#f0c65b;
    font-size:10px;
    font-weight:900;
}

.fmt-membership-plan-card-featured .fmt-membership-plan-list li{
    color:#243f55;
}

.fmt-membership-plan-btn{
    width:100%;
    min-height:49px;
    border-radius:999px;
    color:#0c2a43;
    background:#fff;
    font-weight:800;
    cursor:pointer;
    transition:.22s ease;
}

.fmt-membership-plan-btn:hover{
    transform:translateY(-2px);
}

.fmt-membership-plan-btn-gold{
    background:#fff3bf;
    box-shadow:0 10px 24px rgba(85,58,7,.15);
}

.fmt-membership-plans-note{
    max-width:820px;
    margin:28px auto 0;
    color:#8fa6b8;
    text-align:center;
    font-size:11px;
    line-height:1.6;
}


/* =========================================================
   HOW IT WORKS
========================================================= */

.fmt-membership-how-section{
    background:#fff;
}

.fmt-membership-how-layout{
    display:grid;
    grid-template-columns:.9fr 1.3fr;
    gap:55px;
    align-items:center;
}

.fmt-membership-how-copy h2 span{
    color:#159ee9;
}

.fmt-membership-steps{
    display:grid;
    gap:16px;
    margin-top:28px;
}

.fmt-membership-step{
    position:relative;
    display:grid;
    grid-template-columns:36px 54px 1fr;
    gap:15px;
    align-items:center;
    padding:17px;
    border:1px solid #dbe7ef;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 20px rgba(11,41,64,.04);
}

.fmt-membership-step-number{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#173450;
    background:#f0c75d;
    font-size:12px;
    font-weight:900;
}

.fmt-membership-step-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#159ce8;
    background:#eaf7ff;
    font-size:21px;
}

.fmt-membership-step h3{
    margin-bottom:6px;
    color:#17334d;
    font-size:16px;
}

.fmt-membership-step p{
    margin:0;
    color:#7a8a9a;
    font-size:12px;
    line-height:1.55;
}


/* =========================================================
   DASHBOARD PREVIEW
========================================================= */

.fmt-membership-dashboard-shell{
    overflow:hidden;
    border:1px solid #d6e4ed;
    border-radius:24px;
    background:#f7fbff;
    box-shadow:0 28px 65px rgba(7,39,65,.15);
}

.fmt-membership-dashboard-topbar{
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:0 20px;
    border-bottom:1px solid #dce7ef;
    background:#fff;
}

.fmt-membership-dashboard-topbar > div:first-child{
    display:flex;
    align-items:center;
    gap:10px;
}

.fmt-membership-dashboard-topbar strong{
    color:#10243b;
}

.fmt-membership-dashboard-topbar span{
    color:#728597;
    font-size:11px;
}

.fmt-membership-dashboard-member-pill{
    padding:7px 12px;
    border-radius:999px;
    color:#503600;
    background:#f7d878;
    font-size:10px;
    font-weight:900;
}

.fmt-membership-dashboard-main{
    display:grid;
    grid-template-columns:150px 1fr;
    min-height:455px;
}

.fmt-membership-dashboard-sidebar{
    padding:14px 9px;
    background:#082a45;
}

.fmt-membership-dashboard-sidebar button{
    width:100%;
    display:block;
    padding:11px 10px;
    border-radius:10px;
    color:#bed0dd;
    background:transparent;
    text-align:left;
    font-size:11px;
}

.fmt-membership-dashboard-sidebar button.is-active{
    color:#fff;
    background:#0e496f;
}

.fmt-membership-dashboard-content{
    min-width:0;
    padding:24px;
}

.fmt-membership-dashboard-kicker{
    color:#8b9aa7;
    font-size:9px;
    font-weight:900;
    letter-spacing:.13em;
}

.fmt-membership-dashboard-content > h3{
    margin:6px 0 18px;
    color:#16344f;
    font-size:22px;
}

.fmt-membership-dashboard-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.fmt-membership-dashboard-stats > div{
    padding:16px;
    border:1px solid #dce8f0;
    border-radius:14px;
    background:#fff;
}

.fmt-membership-dashboard-stats span{
    display:block;
    margin-bottom:7px;
    color:#728597;
    font-size:10px;
}

.fmt-membership-dashboard-stats strong{
    display:block;
    margin-bottom:4px;
    color:#15344e;
    font-size:21px;
}

.fmt-membership-dashboard-stats small{
    display:block;
    color:#98a6b2;
    font-size:8px;
    line-height:1.4;
}

.fmt-membership-dashboard-bottom{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:14px;
}

.fmt-membership-reward-box,
.fmt-membership-card-preview{
    min-height:170px;
    border-radius:17px;
}

.fmt-membership-reward-box{
    padding:20px;
    border:1px solid #dce8f0;
    background:#fff;
}

.fmt-membership-reward-box span{
    display:block;
    margin-bottom:10px;
    color:#1a3d58;
    font-size:13px;
    font-weight:800;
}

.fmt-membership-reward-box p{
    margin:0;
    color:#8493a0;
    font-size:11px;
    line-height:1.6;
}

.fmt-membership-card-preview{
    position:relative;
    padding:22px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 20%,rgba(240,197,87,.18),transparent 30%),
        linear-gradient(145deg,#081d32,#0b3454);
    box-shadow:0 15px 28px rgba(4,27,45,.20);
}

.fmt-membership-card-preview > span{
    display:block;
    font-weight:900;
    letter-spacing:.06em;
}

.fmt-membership-card-preview > small{
    display:block;
    margin-top:4px;
    color:#d8bd70;
    letter-spacing:.14em;
}

.fmt-membership-card-preview-bottom{
    position:absolute;
    left:22px;
    right:22px;
    bottom:20px;
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.fmt-membership-card-preview-bottom small{
    display:block;
    color:#8fa8ba;
    font-size:8px;
}

.fmt-membership-card-preview-bottom strong{
    display:block;
    margin-top:3px;
    color:#fff;
    font-size:12px;
}


/* =========================================================
   EXPERIENCE
========================================================= */

.fmt-membership-experience-section{
    position:relative;
    min-height:520px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    isolation:isolate;
}

.fmt-membership-experience-overlay{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            90deg,
            rgba(3,21,38,.93) 0%,
            rgba(4,28,49,.79) 36%,
            rgba(4,28,49,.33) 62%,
            rgba(4,28,49,.06) 100%
        );
}

.fmt-membership-experience-inner{
    width:100%;
    padding:70px 0;
}

.fmt-membership-experience-content{
    max-width:650px;
}

.fmt-membership-experience-content h2{
    margin-bottom:18px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,5vw,68px);
    line-height:1.02;
    letter-spacing:-.035em;
}

.fmt-membership-experience-content h2 span{
    display:block;
    color:#f0c45b;
}

.fmt-membership-experience-content p{
    max-width:600px;
    margin-bottom:24px;
    color:#d2e0ea;
    font-size:16px;
    line-height:1.7;
}

.fmt-membership-experience-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.fmt-membership-experience-tags span{
    padding:10px 14px;
    border:1px solid rgba(240,197,91,.35);
    border-radius:999px;
    color:#f5e4b3;
    background:rgba(5,26,44,.38);
    backdrop-filter:blur(8px);
    font-size:11px;
    font-weight:700;
}


/* =========================================================
   REWARDS
========================================================= */

.fmt-membership-rewards-section{
    background:#f7fbff;
}

.fmt-membership-rewards-layout{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:55px;
    align-items:center;
}

.fmt-membership-rewards-copy h2 span{
    color:#169de9;
}

.fmt-membership-rewards-features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:28px;
}

.fmt-membership-rewards-features > div{
    padding:17px;
    border:1px solid #dce7ef;
    border-radius:14px;
    background:#fff;
}

.fmt-membership-rewards-features strong{
    display:block;
    margin-bottom:6px;
    color:#17344e;
    font-size:13px;
}

.fmt-membership-rewards-features span{
    display:block;
    color:#7e8e9b;
    font-size:10px;
    line-height:1.5;
}

.fmt-membership-reward-wallet{
    padding:28px;
    border:1px solid #dbe7ef;
    border-radius:24px;
    background:#fff;
    box-shadow:var(--fmt-mem-shadow);
}

.fmt-membership-wallet-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:22px;
}

.fmt-membership-wallet-head span{
    display:block;
    margin-bottom:4px;
    color:#8394a2;
    font-size:9px;
    font-weight:900;
    letter-spacing:.13em;
}

.fmt-membership-wallet-head strong{
    display:block;
    color:#17344e;
    font-size:20px;
}

.fmt-membership-wallet-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#122b45;
    background:linear-gradient(145deg,#f4d36f,#e6ae39);
    font-size:21px;
}

.fmt-membership-wallet-balance{
    padding:24px;
    border-radius:18px;
    color:#fff;
    background:
        radial-gradient(circle at 80% 20%,rgba(238,192,75,.18),transparent 30%),
        linear-gradient(145deg,#071d31,#0b385b);
}

.fmt-membership-wallet-balance small{
    display:block;
    color:#9eb3c3;
    font-size:9px;
    letter-spacing:.13em;
}

.fmt-membership-wallet-balance strong{
    display:block;
    margin:8px 0;
    font-size:34px;
}

.fmt-membership-wallet-balance span{
    display:block;
    color:#c6d4df;
    font-size:11px;
}

.fmt-membership-wallet-history{
    margin-top:16px;
    padding:18px;
    border:1px solid #e0eaf1;
    border-radius:15px;
    background:#fbfdff;
}

.fmt-membership-wallet-history-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.fmt-membership-wallet-history-head strong{
    color:#17344f;
    font-size:13px;
}

.fmt-membership-wallet-history-head span{
    color:#1498e3;
    font-size:10px;
    font-weight:700;
}

.fmt-membership-wallet-empty{
    padding:30px 12px;
    color:#8a99a6;
    text-align:center;
    font-size:11px;
    line-height:1.55;
}


/* =========================================================
   FAQ
========================================================= */

.fmt-membership-faq-section{
    background:#fff;
}

.fmt-membership-faq-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    max-width:1040px;
    margin:0 auto;
}

.fmt-membership-faq-item{
    overflow:hidden;
    border:1px solid #dce7ef;
    border-radius:15px;
    background:#fff;
}

.fmt-membership-faq-question{
    width:100%;
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:0 18px;
    color:#193650;
    background:#fff;
    text-align:left;
    font-weight:800;
    cursor:pointer;
}

.fmt-membership-faq-question strong{
    color:#159ce7;
    font-size:22px;
    font-weight:400;
    transition:.2s ease;
}

.fmt-membership-faq-answer{
    display:none;
    padding:0 18px 18px;
}

.fmt-membership-faq-answer p{
    margin:0;
    color:#788a9a;
    font-size:12px;
    line-height:1.7;
}

.fmt-membership-faq-item.is-open .fmt-membership-faq-answer{
    display:block;
}

.fmt-membership-faq-item.is-open .fmt-membership-faq-question strong{
    transform:rotate(45deg);
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.fmt-membership-bottom-cta{
    position:relative;
    min-height:520px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    isolation:isolate;
}

.fmt-membership-bottom-overlay{
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            90deg,
            rgba(3,19,35,.92) 0%,
            rgba(4,27,48,.74) 38%,
            rgba(4,27,48,.25) 68%,
            rgba(4,27,48,.03) 100%
        );
}

.fmt-membership-bottom-inner{
    width:100%;
    padding:70px 0;
}

.fmt-membership-bottom-content{
    max-width:650px;
}

.fmt-membership-bottom-content h2{
    margin-bottom:18px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,5vw,68px);
    line-height:1.02;
    letter-spacing:-.04em;
}

.fmt-membership-bottom-content h2 span{
    display:block;
    color:#f1c55d;
}

.fmt-membership-bottom-content p{
    margin-bottom:27px;
    color:#d8e4ec;
    font-size:17px;
    line-height:1.7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1180px){

    .fmt-membership-benefits-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .fmt-membership-how-layout,
    .fmt-membership-rewards-layout{
        grid-template-columns:1fr;
    }

    .fmt-membership-how-copy,
    .fmt-membership-rewards-copy{
        max-width:720px;
    }

}


/* =========================================================
   SMALL LAPTOP / TABLET
========================================================= */

@media (max-width:980px){

    .fmt-membership-container{
        width:min(100% - 32px,1280px);
    }

    .fmt-membership-hero{
        min-height:720px;
        background-position:62% center;
    }

    .fmt-membership-hero-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(3,19,35,.97) 0%,
                rgba(5,31,53,.90) 48%,
                rgba(5,31,53,.46) 78%,
                rgba(5,31,53,.12) 100%
            );
    }

    .fmt-membership-hero-content{
        max-width:610px;
    }

    .fmt-membership-hero-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
        max-width:550px;
    }

    .fmt-membership-plans-grid{
        grid-template-columns:1fr;
        max-width:620px;
    }

    .fmt-membership-plan-card-featured{
        transform:none;
    }

    .fmt-membership-dashboard-main{
        grid-template-columns:135px 1fr;
    }

    .fmt-membership-faq-grid{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:720px){

    .fmt-membership-container{
        width:min(100% - 24px,1280px);
    }

    .fmt-membership-section{
        padding:70px 0;
    }

    .fmt-membership-section-head h2,
    .fmt-membership-how-copy h2,
    .fmt-membership-rewards-copy h2{
        font-size:38px;
    }

    .fmt-membership-hero{
        min-height:790px;
        align-items:flex-end;
        background-position:66% center;
    }

    .fmt-membership-hero-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(3,18,32,.99) 0%,
                rgba(4,25,43,.94) 45%,
                rgba(4,25,43,.58) 72%,
                rgba(4,25,43,.16) 100%
            );
    }

    .fmt-membership-hero-inner{
        padding:160px 0 34px;
    }

    .fmt-membership-hero h1{
        font-size:50px;
    }

    .fmt-membership-hero-copy{
        font-size:16px;
    }

    .fmt-membership-hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .fmt-membership-btn{
        width:100%;
    }

    .fmt-membership-hero-benefits{
        grid-template-columns:1fr 1fr;
        gap:9px;
        margin-top:28px;
    }

    .fmt-membership-hero-benefit{
        min-height:90px;
        padding:12px 10px;
        gap:9px;
    }

    .fmt-membership-benefit-icon{
        width:37px;
        height:37px;
        flex-basis:37px;
        font-size:16px;
    }

    .fmt-membership-hero-benefit strong{
        font-size:11px;
    }

    .fmt-membership-hero-benefit span{
        font-size:9px;
    }

    .fmt-membership-benefits-grid{
        grid-template-columns:1fr;
    }

    .fmt-membership-dashboard-preview{
        overflow-x:auto;
    }

    .fmt-membership-dashboard-shell{
        min-width:700px;
    }

    .fmt-membership-experience-section{
        min-height:590px;
        align-items:flex-end;
        background-position:58% center;
    }

    .fmt-membership-experience-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(3,21,38,.98) 0%,
                rgba(4,28,49,.87) 48%,
                rgba(4,28,49,.34) 78%,
                rgba(4,28,49,.08) 100%
            );
    }

    .fmt-membership-experience-inner{
        padding:170px 0 44px;
    }

    .fmt-membership-experience-content h2{
        font-size:42px;
    }

    .fmt-membership-rewards-features{
        grid-template-columns:1fr;
    }

    .fmt-membership-bottom-cta{
        min-height:580px;
        align-items:flex-end;
        background-position:60% center;
    }

    .fmt-membership-bottom-overlay{
        background:
            linear-gradient(
                0deg,
                rgba(3,19,35,.98) 0%,
                rgba(4,27,48,.86) 48%,
                rgba(4,27,48,.32) 78%,
                rgba(4,27,48,.08) 100%
            );
    }

    .fmt-membership-bottom-inner{
        padding:180px 0 44px;
    }

    .fmt-membership-bottom-content h2{
        font-size:41px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:460px){

    .fmt-membership-hero h1{
        font-size:43px;
    }

    .fmt-membership-hero-benefits{
        grid-template-columns:1fr;
    }

    .fmt-membership-benefit-card{
        min-height:auto;
    }

    .fmt-membership-step{
        grid-template-columns:32px 46px 1fr;
        gap:10px;
        padding:14px;
    }

    .fmt-membership-step-icon{
        width:44px;
        height:44px;
    }

    .fmt-membership-reward-wallet{
        padding:20px;
    }

    .fmt-membership-bottom-content h2{
        font-size:36px;
    }

}

/* =========================================================
   MEMBERSHIP JS STATES
========================================================= */

.fmt-membership-plan-card.is-selected{
    outline:2px solid #f0c75d;
    outline-offset:4px;
}

.fmt-membership-plan-btn.is-selected{
    box-shadow:0 0 0 4px rgba(240,199,93,.18);
}

.fmt-membership-plan-notice{
    position:fixed;
    left:50%;
    bottom:28px;
    z-index:999999;
    min-width:300px;
    max-width:calc(100% - 30px);
    padding:14px 18px;
    border:1px solid rgba(240,199,93,.4);
    border-radius:14px;
    color:#fff;
    background:#082943;
    box-shadow:0 18px 45px rgba(0,0,0,.24);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,20px);
    transition:.25s ease;
    font-size:12px;
}

.fmt-membership-plan-notice strong{
    color:#f1c85e;
}

.fmt-membership-plan-notice.is-visible{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}

/* =========================================================
   FIRSTMYTRIP MEMBERSHIP - SCROLL FIX
========================================================= */

html,
body{
    height:auto !important;
    min-height:100% !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
}

body.fmt-membership-page,
body.page-template-default{
    overflow-y:auto !important;
}

.fmt-membership-page{
    position:relative;
    width:100%;
    height:auto !important;
    min-height:100vh;
    overflow-x:hidden !important;
    overflow-y:visible !important;
}

.fmt-membership-page section{
    position:relative;
}

/* v1.3.11 focused public membership polish */
.fmt-membership-hero{min-height:520px!important;background-position:center 42%!important}
.fmt-membership-hero-inner{padding:62px 0 50px!important}
.fmt-membership-hero-content{max-width:610px!important}
.fmt-membership-hero h1{font-size:clamp(46px,5vw,68px)!important;line-height:1!important;text-shadow:0 3px 24px rgba(0,0,0,.28)}
.fmt-membership-hero-copy{max-width:575px!important}
.fmt-membership-hero-benefits{display:none!important}
.fmt-membership-hero-overlay{background:linear-gradient(90deg,rgba(2,18,34,.97) 0%,rgba(4,27,49,.9) 34%,rgba(4,28,51,.48) 58%,rgba(4,28,51,.08) 100%)!important}
@media(max-width:720px){.fmt-membership-hero{min-height:470px!important;background-position:62% center!important}.fmt-membership-hero-inner{padding:52px 0 42px!important}.fmt-membership-hero h1{font-size:42px!important}.fmt-membership-hero-copy{font-size:14px!important}.fmt-membership-hero-actions{display:grid!important;grid-template-columns:1fr!important}.fmt-membership-btn{width:100%!important}}
