﻿/*
Theme Name: Alphavima MM
Theme URI: http://alphavima.com/
Author: Alphavima.com
Author URI: http://alphavima.com/
Description: GiveLife365 Membership Management theme (Alphavima MM). Child theme of Alphavima implementing the new Bootstrap 5 / jQuery membership UI. Inherits all Alphavima PHP/Twig functions; overrides design, header, footer and page templates.
Template: alphavima
Version: 1.0.0
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: alphavima-mm
Tags: membership, bootstrap, custom-menu, featured-images, translation-ready
*/
/* =================================================================
   GiveLife365 â€” Membership Product UI
   Design System / Components  (HTML5 + Bootstrap 5 + CSS3)
   Brand: navy #1E3C73 Â· sky #3B82D2 Â· neutral system
   ================================================================= */

:root{
  --navy:#1E3C73; --navy-d:#152D5A; --sky:#3B82D2; --sky-l:#7FB2E8;
  --ink:#15294E; --mut:#6B788C; --soft:#94A0B2;
  --line:#E6EAF0; --line-2:#EAEEF3; --hair:#F2F4F8;
  --bg:#F4F7FB; --head-bg:#E7F0FB; --skytint:#EEF4FB; --inp:#F7F9FC;
  --green:#1F9D63; --green-t:#E7F6EE; --amber:#B8862A; --amber-t:#FBF1DC;
  --slate:#5B6676; --slate-t:#EDEFF3; --slate-bd:#D7DCE5;
  --red:#D7263D;
  --grad: linear-gradient(135deg,#1E3C73 0%,#3B82D2 100%);
  --grad-card: linear-gradient(135deg,#16306A 0%,#23508F 55%,#3B82D2 100%);
  --shadow-sm:0 6px 18px rgba(20,40,80,.06);
  --shadow:0 14px 34px rgba(20,40,80,.10);
  --shadow-lg:0 26px 60px rgba(20,40,80,.16);
  --r-sm:10px; --r:14px; --r-lg:18px; --r-xl:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink); background:var(--bg); margin:0;
  -webkit-font-smoothing:antialiased; line-height:1.5;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.gl-container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}
.muted{color:var(--mut)} .soft{color:var(--soft)}
.eyebrow{color:var(--sky);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.section{padding:64px 0}
.h-tight{line-height:1.12}
h1,h2,h3,h4{color:var(--ink);font-weight:800;margin:0}
.display{font-size:clamp(30px,4vw,46px);font-weight:900;letter-spacing:-.02em}
.lead{font-size:18px;color:var(--mut)}

/* ---------- Buttons ---------- */
.btn{font-weight:700;border-radius:var(--r-sm);padding:12px 20px;font-size:15px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
  transition:.18s ease;cursor:pointer;line-height:1}
.btn-brand{background:var(--grad);color:#fff;box-shadow:0 10px 22px rgba(40,90,170,.28)}
.btn-brand:hover{color:#fff;filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 16px 30px rgba(40,90,170,.34)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-d);color:#fff}
.btn-ghost{background:#fff;border-color:var(--sky);color:var(--sky)}
.btn-ghost:hover{background:var(--skytint);color:var(--sky)}
.btn-soft{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-soft:hover{background:#fff;border-color:var(--sky);color:var(--navy)}
.btn-muted{background:#EEF1F5;color:var(--soft);cursor:not-allowed}
.btn-lg{padding:15px 26px;font-size:16px;border-radius:var(--r)}
.btn-sm{padding:9px 14px;font-size:13px}
.btn-block{width:100%}

/* ---------- Pills / Badges / Chips ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--skytint);color:var(--navy);
  font-weight:700;font-size:12.5px;padding:5px 12px;border-radius:999px;border:1px solid #E1ECF8}
.tag{display:inline-flex;align-items:center;gap:5px;font-weight:800;font-size:10.5px;letter-spacing:.06em;
  padding:5px 10px;border-radius:8px;text-transform:uppercase}
.status{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px;padding:5px 11px;border-radius:999px}
.status .dot{width:7px;height:7px;border-radius:50%}
.is-green{background:var(--green-t);color:var(--green)} .is-green .dot{background:var(--green)}
.is-amber{background:var(--amber-t);color:var(--amber)} .is-amber .dot{background:var(--amber)}
.is-slate{background:var(--slate-t);color:var(--slate)} .is-slate .dot{background:var(--slate)}
.is-navy{background:var(--navy);color:#fff} .is-navy .dot{background:#fff}
.chip{width:42px;height:42px;border-radius:11px;background:var(--skytint);color:var(--navy);
  display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex:none}

/* ---------- Cards ---------- */
.card-elev{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.card-pad{padding:26px}
.card-elev .card-hd{display:flex;align-items:center;gap:12px}
.card-elev .card-hd h3{font-size:17px}
.hair{height:1px;background:var(--line-2);border:0;margin:0}

/* ---------- Forms ---------- */
.form-label{font-weight:700;font-size:13px;color:var(--ink);margin-bottom:6px}
.form-label .req{color:var(--red)}
.form-control,.form-select{background:var(--inp);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:12px 14px;font-size:14.5px;color:var(--ink);width:100%}
.form-control:focus,.form-select:focus{border-color:var(--sky);box-shadow:0 0 0 3px rgba(59,130,210,.15);outline:0;background:#fff}
.form-control::placeholder{color:var(--soft)}
.input-note{font-size:12px;color:var(--soft);margin-top:6px}

/* =================================================================
   HEADER
   ================================================================= */
.site-header{background:var(--head-bg);border-bottom:2px solid var(--sky)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.logo{font-family:'Pacifico',cursive;font-size:30px;color:var(--navy);line-height:1;display:inline-flex;align-items:flex-end;gap:2px}
.logo small{font-family:'Inter';font-weight:800;font-size:13px;color:var(--red);transform:translateY(-10px)}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{color:var(--ink);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:5px}
.main-nav a:hover{color:var(--sky)}
.main-nav a .caret{font-size:10px;color:var(--mut)}
.user-chip{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--ink)}
.user-chip .av{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--navy);margin:4px 0;border-radius:2px}

/* =================================================================
   FOOTER
   ================================================================= */
.site-footer{background:#fff;border-top:1px solid var(--line)}
.site-footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:54px 0 30px}
.site-footer .logo{font-size:30px;margin-bottom:18px}
.foot-c{display:flex;align-items:flex-start;gap:11px;color:var(--mut);font-size:14px;margin-bottom:12px}
.foot-ic{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.site-footer h5{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:16px}
.site-footer .fcol a{display:block;color:var(--mut);font-size:14px;margin-bottom:11px}
.site-footer .fcol a:hover{color:var(--sky)}
.site-footer .bot{border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between}
.site-footer .bot small{color:var(--soft)}
.socials{display:flex;gap:9px}
.socials a{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.socials a:hover{background:var(--sky);color:#fff}

/* =================================================================
   ACCOUNT LAYOUT  (sidebar + content)
   ================================================================= */
.account{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.acct-profile{background:var(--grad);border-radius:var(--r-lg);padding:30px 22px;text-align:center;color:#fff;box-shadow:var(--shadow)}
.acct-profile .av{width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.5);
  margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800}
.acct-profile h3{color:#fff;font-size:20px} .acct-profile p{color:rgba(255,255,255,.85);font-size:13px;margin:4px 0 0}
.acct-nav{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:10px;margin-top:16px;box-shadow:var(--shadow-sm)}
.acct-nav a{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:var(--r-sm);color:var(--mut);font-weight:600;font-size:14.5px}
.acct-nav a .i{width:20px;text-align:center}
.acct-nav a .arr{margin-left:auto;color:var(--soft)}
.acct-nav a:hover{background:var(--skytint);color:var(--navy)}
.acct-nav a.active{background:var(--skytint);color:var(--navy);font-weight:700}

/* ---------- Info display / card header ---------- */
.card-head{display:flex;align-items:center;gap:13px;margin-bottom:4px}
.card-head .chip{width:42px;height:42px}
.card-head h3{font-size:17px}
.card-head .sub{font-size:13px;color:var(--mut)}
.card-head .edit{margin-left:auto}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}
.info .k{font-size:11px;font-weight:700;color:var(--soft);letter-spacing:.05em}
.info .v{font-size:15px;color:var(--ink);font-weight:600;margin-top:4px}
.icon-btn{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--sky);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.icon-btn:hover{background:var(--skytint)}
@media (max-width:575px){.info-grid{grid-template-columns:1fr}}

/* ---------- Order rows ---------- */
.order{display:flex;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:18px}
.order .accent{width:5px;flex:none}
.order .accent.green{background:var(--green)} .order .accent.slate{background:var(--slate)} .order .accent.amber{background:var(--amber)}
.order .body{flex:1;padding:20px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ochev{font-size:22px;color:var(--soft);flex:none;line-height:1}
.ochev:hover{color:var(--sky)}
.othumb{width:48px;height:40px;border-radius:8px;background:var(--skytint);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.oinfo{flex:1;min-width:200px}
.order h3{font-size:18px}
.order .meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.order .dates{color:var(--soft);font-size:13px}
.order .right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.order .acts{display:flex;gap:8px;flex-wrap:wrap}
.dur{color:var(--amber);font-weight:700;font-size:12.5px}
.datefield{position:relative}.datefield .cal{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--mut)}
.datefield .form-control{padding-right:38px}

/* ---------- Member list ---------- */
.member-row{display:flex;align-items:center;gap:12px;padding:13px 0}
.av-ini{width:40px;height:40px;border-radius:50%;background:var(--skytint);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:none}
.av-ini.slate{background:var(--slate-t);color:var(--slate)}
.member-row .info{flex:1;min-width:0}
.member-row .info .nm{font-weight:700;font-size:14px}
.member-row .info small{color:var(--mut);display:block;font-size:12.5px}

/* ---------- Edit Membership layout ---------- */
.edit-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.pd-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:14px;border-top:1px solid var(--hair)}
.pd-row:first-of-type{border-top:0}
.pd-row .k{color:var(--mut)} .pd-row .v{font-weight:700;color:var(--ink)}
.renewal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.rcell .k{font-size:11px;font-weight:700;color:var(--soft);letter-spacing:.04em}.rcell .v{font-weight:800;margin-top:6px;font-size:15px}
.visa{width:46px;height:30px;border-radius:6px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px;letter-spacing:1px;flex:none}
.pay-row{display:flex;align-items:center;gap:12px}
.notice .ico{flex:none}
@media (max-width:991px){.edit-grid{grid-template-columns:1fr}.renewal-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575px){.renewal-grid{grid-template-columns:1fr}}

/* ---------- Transactions ---------- */
.txn-table{width:100%;border-collapse:collapse}
.txn-table th{font-size:10.5px;letter-spacing:.06em;color:var(--soft);text-transform:uppercase;text-align:left;padding:0 8px 10px;font-weight:800}
.txn-table td{padding:13px 8px;border-top:1px solid var(--hair);font-size:13px;color:var(--ink);vertical-align:middle}
.txn-table .amt{font-weight:800;text-align:right}
.txn-table .st,.txn-table .rc{text-align:right}
.pdf-btn{width:32px;height:32px;border-radius:9px;background:var(--skytint);border:1px solid #E2E7EE;display:inline-flex;align-items:center;justify-content:center;color:var(--navy)}
.pdf-btn:hover{background:#E1ECF8}
.pager{display:flex;gap:6px;align-items:center}
.pager .pg{width:34px;height:34px;border-radius:9px;border:1px solid #E2E7EE;background:#fff;color:var(--mut);font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.pager .pg.active{background:var(--grad);color:#fff;border:0}

/* ---------- Membership ID card (reusable component) ---------- */
.id-card{position:relative;overflow:hidden;max-width:560px;min-height:248px;border-radius:22px;padding:30px 32px;color:#fff;
  background:linear-gradient(120deg,#1A4A93 0%,#2C71C6 52%,#3E8CE4 100%);
  box-shadow:var(--shadow);transform-style:preserve-3d;will-change:transform;
  display:flex;flex-direction:column;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.id-card:hover{box-shadow:var(--shadow-lg)}
.id-card>*{position:relative;z-index:1}
/* layered decorative circles */
.id-card .id-bubble{position:absolute;border-radius:50%;z-index:0;pointer-events:none;transition:transform .6s ease}
.id-card .id-bubble-1{width:300px;height:300px;background:rgba(255,255,255,.10);top:-70px;right:-30px}
.id-card .id-bubble-2{width:230px;height:230px;background:rgba(255,255,255,.08);top:50px;right:-120px}
.id-card:hover .id-bubble-1{transform:scale(1.08)}
.id-card .id-top{display:flex;justify-content:space-between;align-items:center}
.id-card .id-brand{font-weight:700;letter-spacing:.18em;font-size:14px;color:rgba(255,255,255,.92)}
.id-card .id-badge{background:#1FAE63;color:#fff;font-weight:800;font-size:11px;letter-spacing:.12em;padding:7px 14px;border-radius:999px;animation:idPulse 2.6s infinite}
.id-card .id-mid{font-weight:600;letter-spacing:.16em;font-size:19px;color:rgba(255,255,255,.9);margin-top:16px}
.id-card .id-plan{font-size:30px;font-weight:800;margin-top:14px;line-height:1.1}
.id-card .id-member{margin-top:auto;padding-top:22px}
.id-card .id-k{font-size:11px;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.7);text-transform:uppercase}
.id-card .id-name{font-size:18px;font-weight:700;margin-top:5px}
.id-card .id-dates{display:flex;gap:30px;margin-top:20px;flex-wrap:wrap}
.id-card .id-v{font-size:15px;font-weight:700;margin-top:5px}
/* sheen sweep */
.id-card .shine{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 43%,rgba(255,255,255,.14) 50%,transparent 57%);
  transform:translateX(-120%);animation:idShine 5s ease-in-out 1.2s infinite}
/* entrance reveal */
@keyframes idCardReveal{from{opacity:0;transform:translateY(30px) scale(.94) rotateX(6deg)}to{opacity:1;transform:none}}
.id-card.reveal{animation:idCardReveal .8s cubic-bezier(.2,.75,.25,1) .12s backwards}
@keyframes idShine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes idPulse{0%{box-shadow:0 0 0 0 rgba(31,174,99,.55)}70%{box-shadow:0 0 0 9px rgba(31,174,99,0)}100%{box-shadow:0 0 0 0 rgba(31,174,99,0)}}
.id-card-slot.center{max-width:560px;margin-inline:auto}
@media (max-width:480px){
  .id-card{padding:24px;min-height:auto}
  .id-card .id-plan{font-size:25px}.id-card .id-mid{font-size:17px}
  .id-card .id-dates{gap:16px 22px}
}
@media (prefers-reduced-motion:reduce){
  .id-card,.id-card .shine,.id-card .id-badge{animation:none!important;transition:none!important}
  .id-card .shine{display:none}
}

/* ---------- Banner / notices ---------- */
.notice{display:flex;align-items:center;gap:12px;border-radius:var(--r);padding:14px 18px;font-weight:600}
.notice.amber{background:var(--amber-t);color:var(--amber)}
.notice.slate{background:var(--slate-t);color:var(--slate);justify-content:space-between}
.notice .tagx{background:var(--slate);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;padding:5px 10px;border-radius:6px}

/* =================================================================
   MEMBERSHIP LISTING â€” "Choose A Membership Plan" (9 cards)
   ================================================================= */
.list-title{text-align:center;margin-bottom:34px}
.list-title h2{font-size:32px;font-weight:800;color:#18263A}
.list-title .rule{width:60px;height:3px;background:var(--navy);border-radius:3px;margin:12px auto 0}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mcard{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:.2s}
.mcard:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.mcard .photo{width:100%;height:168px;object-fit:cover;border-radius:12px;margin-bottom:18px}
.mcard .elig{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.mcard h3{font-size:30px;font-weight:800;color:var(--navy);margin:8px 0}
.mcard .desc{font-size:14px;color:#738094;line-height:1.6}
.mcard .mfoot{margin-top:auto;padding-top:18px}
.mcard .dv{height:1px;background:var(--line-2);border:0;margin:0 0 16px}
.mcard .cta{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--navy)}
.mcard .cta .arr{color:var(--red);font-weight:700}
.mcard .cta:hover{gap:12px}
.mcard.feat{background:var(--skytint);border:1.5px solid var(--sky)}
@media (max-width:991px){.mgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:639px){.mgrid{grid-template-columns:1fr}}

/* =================================================================
   MEMBERSHIP LISTING (pricing cards)
   ================================================================= */
.page-hero{background:linear-gradient(180deg,#EFF5FC 0%,var(--bg) 100%);padding:60px 0 30px;text-align:center}
.toggle-wrap{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px;gap:4px;margin-top:8px}
.toggle-wrap button{border:0;background:none;padding:9px 20px;border-radius:999px;font-weight:700;color:var(--mut);cursor:pointer;font-size:14px}
.toggle-wrap button.on{background:var(--grad);color:#fff}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.plan{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:.2s}
.plan:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.plan.feat{border:1.5px solid var(--sky);box-shadow:var(--shadow)}
.plan .pico{width:52px;height:52px;border-radius:14px;background:var(--skytint);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}
.plan h3{font-size:20px} .plan .desc{color:var(--mut);font-size:14px;margin:8px 0 18px;min-height:40px}
.plan .price{font-size:38px;font-weight:900;color:var(--navy)} .plan .price span{font-size:14px;color:var(--mut);font-weight:600}
.plan ul{list-style:none;padding:0;margin:18px 0 22px}
.plan ul li{display:flex;gap:9px;color:var(--ink);font-size:14px;margin-bottom:11px}
.plan ul li::before{content:"âœ“";color:var(--green);font-weight:800}
.plan .btn{margin-top:auto}
.badge-feat{position:absolute;top:18px;right:18px}

/* =================================================================
   DETAIL PAGE
   ================================================================= */
.detail-title{text-align:center;max-width:760px;margin:0 auto}
.detail-title h1{font-size:clamp(32px,4.4vw,46px);font-weight:900;letter-spacing:-.01em}
.dhero{width:100%;height:430px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}
.intro-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}
.impact-box{background:#E8F0FA;border-radius:16px;padding:24px}
.impact-box .lbl{color:var(--sky);font-weight:700;font-size:12px;letter-spacing:.04em}
.impact-box p{color:#1E3C73;font-weight:500;font-size:15px;margin:10px 0 0}
.impact-box .istats{display:flex;align-items:center;margin-top:16px}
.impact-box .istat{flex:1;text-align:center}.impact-box .istat .n{font-size:20px;font-weight:800;color:var(--navy)}.impact-box .istat small{color:var(--mut);font-size:12px}
.impact-box .ivd{width:1px;height:34px;background:#C4D6EE}
.tierhead{text-align:center;margin-bottom:8px}
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tier{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}
.tier .thead{display:flex;align-items:center;gap:14px}
.tier .medallion{width:54px;height:54px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.tier .teyebrow{color:var(--sky);font-weight:700;font-size:11px;letter-spacing:.06em}
.tier h3{font-size:21px}
.tier .price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tier .price .cur{font-size:30px;font-weight:800;color:var(--ink)}
.tier .price .old{font-size:15px;color:var(--mut);text-decoration:line-through}
.tier .price .per{font-size:13px;color:var(--mut)}
.tier .tdesc{font-size:14px;color:var(--mut);line-height:1.55}
.tier .mfoot{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.tier .impact-line{display:flex;gap:9px;align-items:center;background:#E8F0FA;border-radius:10px;padding:11px 13px;font-size:13px;color:var(--navy)}
.tier .impact-line .h{color:var(--sky)}
.tier .freetrial{display:flex;gap:7px;align-items:center;justify-content:center;background:#EFF6FE;border-radius:10px;padding:11px 13px;color:var(--sky);font-weight:700;font-size:14px}
.tier .freetrial:hover{background:#E3F0FD}
.tier .tbtns{display:flex;gap:10px}.tier .tbtns .btn{flex:1;padding:11px 10px;font-size:14px}
.tier.feat{background:var(--navy);color:#fff;border-color:var(--navy)}
.tier.feat h3,.tier.feat .price .cur{color:#fff}
.tier.feat .price .old,.tier.feat .price .per,.tier.feat .tdesc{color:#C7D6EC}
.tier.feat .impact-line{background:rgba(255,255,255,.12);color:#fff}
.btn-onnavy{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.btn-onnavy:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-white{background:#fff;color:var(--navy)}.btn-white:hover{background:#fff;color:var(--navy);filter:brightness(.97)}
/* exact Figma tier CTAs */
.tier .tbtns .btn{border-radius:12px}
.btn-inquiry{background:linear-gradient(135deg,#3B82D2 0%,#2563A8 100%);color:#fff;border:0}
.btn-inquiry:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px)}
.btn-proceed{background:linear-gradient(135deg,#2B5199 0%,#16294E 100%);color:#fff;border:0}
.btn-proceed:hover{color:#fff;filter:brightness(1.12);transform:translateY(-1px)}
/* accordion */
.acc{border-top:1px solid var(--line)}
.acc .acc-h{display:flex;align-items:center;justify-content:space-between;padding:12px 0;cursor:pointer;font-weight:600;color:var(--navy);font-size:13px}
.acc .acc-h .pm{width:24px;height:24px;border-radius:7px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.acc .acc-b{max-height:0;overflow:hidden;transition:max-height .3s ease}
.acc.open .acc-b{max-height:400px;padding-bottom:8px}
.acc .acc-b ul{list-style:none;padding:0;margin:0}
.acc .acc-b li{display:flex;gap:9px;margin-bottom:9px;font-size:13.5px;color:var(--ink)}
.acc .acc-b li::before{content:"âœ“";color:var(--green);font-weight:800}
.tier.feat .acc{border-color:rgba(255,255,255,.25)}
.tier.feat .acc .acc-h{color:#E5EDF7}
.tier.feat .acc .acc-h .pm{background:var(--sky)}
.tier.feat .acc .acc-b li{color:#E5EDF7}
.tier.feat .acc .acc-b li::before{color:var(--sky-l)}
.cta-band{background:linear-gradient(135deg,#1E3C73 0%,#2E5AA8 100%);border-radius:20px;padding:48px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-band h2{color:#fff;font-size:30px}.cta-band p{color:rgba(255,255,255,.85);margin:10px 0 22px}
@media (max-width:991px){.tier-grid{grid-template-columns:1fr}.intro-grid{grid-template-columns:1fr}.dhero{height:280px}}

/* =================================================================
   AUTH (split cards)
   ================================================================= */
.auth-wrap{min-height:calc(100vh - 84px);display:flex;align-items:center;justify-content:center;padding:50px 0}
.auth-card{display:grid;grid-template-columns:1fr 1fr;max-width:980px;width:100%;background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.auth-visual{background:var(--grad-card);color:#fff;padding:46px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-visual::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.07);bottom:-120px;left:-80px}
.auth-visual h2{color:#fff;font-size:30px;line-height:1.15}
.auth-visual p{color:rgba(255,255,255,.85);margin-top:14px}
.auth-visual ul{list-style:none;padding:0;margin:26px 0 0}
.auth-visual li{display:flex;gap:10px;margin-bottom:14px;color:#fff;font-weight:500}
.auth-visual li::before{content:"âœ“";color:var(--sky-l);font-weight:800}
.auth-form{padding:46px}
.auth-form h3{font-size:24px}
.auth-visual .trust{display:inline-flex;align-items:center;gap:8px;margin-top:26px;background:rgba(255,255,255,.14);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px}
.pw{position:relative}
.pw .form-control{padding-right:42px}
.pw .pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--soft);cursor:pointer;font-size:17px;line-height:1}
.checkrow{display:flex;align-items:center;justify-content:space-between;font-size:14px}
.checkrow label{display:flex;align-items:center;gap:8px;color:var(--mut);cursor:pointer}
.checkrow a{color:var(--sky);font-weight:600}
.auth-alt{text-align:center;margin-top:20px;color:var(--mut);font-size:14px}
.auth-alt a{color:var(--sky);font-weight:700}

/* =================================================================
   CHECKOUT (Buy / Free trial)
   ================================================================= */
.checkout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
.summary{position:sticky;top:24px}
.sum-row{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;color:var(--ink)}
.sum-row.free{color:var(--green);font-weight:700}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;border-top:1px solid var(--line-2);margin-top:6px}
.sum-total .big{font-size:26px;font-weight:900;color:var(--navy)}
.sec-title{font-size:18px;font-weight:800}.sec-sub{color:var(--mut);font-size:13px;margin-top:2px}
.promo{display:flex;gap:8px}.promo .form-control{flex:1}
.how li{display:flex;gap:9px;font-size:14px;color:var(--mut);margin-bottom:10px;list-style:none}.how li::before{content:"âœ“";color:var(--green);font-weight:800}
.how ul{padding:0;margin:0}
.pn-pills{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.new-member{border:1px dashed var(--line);border-radius:var(--r);padding:18px;margin-top:14px;background:var(--inp)}
.new-member.d-none{display:none}
.nm-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.nm-hd .x{background:#fff;border:1px solid var(--line);border-radius:8px;width:28px;height:28px;cursor:pointer;color:var(--mut)}
.nm-hd .x:hover{border-color:var(--red);color:var(--red)}
@keyframes memberIn{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}
.member-item{animation:memberIn .28s ease both}

/* =================================================================
   THANK YOU
   ================================================================= */
.thanks{max-width:640px;margin:0 auto;text-align:center;padding:30px 0}
.thanks .check{width:84px;height:84px;border-radius:50%;background:var(--green-t);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:42px;margin:0 auto 22px}

/* =================================================================
   MODAL polish
   ================================================================= */
.modal-content{border:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.modal-head{display:flex;align-items:center;gap:12px;padding:22px 24px;border-bottom:1px solid var(--line-2)}
.modal-x{margin-left:auto;background:#F1F4F8;border:0;width:34px;height:34px;border-radius:50%;color:var(--mut);font-size:18px;cursor:pointer}
.bm-dialog{max-width:660px}
.bm-heading{font-weight:800;font-size:15px;color:var(--ink);margin-bottom:18px}
.bm-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(4,auto);gap:15px 30px}
.bm-item{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--ink);line-height:1.45}
.bm-check{width:22px;height:22px;border-radius:50%;background:var(--skytint);color:var(--sky);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:none;margin-top:1px}
.bm-impact{display:flex;gap:9px;align-items:center;background:#E8F0FA;border-radius:10px;padding:13px 15px;font-size:13.5px;color:var(--navy);margin-top:22px}
.bm-impact span{color:var(--sky)}
#benefitsModal .btn-soft{background:#fff;border-color:#E2E7EE;color:var(--mut);border-radius:11px}
@media (max-width:575px){.bm-grid{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none}}

/* =================================================================
   MOBILE OFFCANVAS NAV
   ================================================================= */
.m-nav-link{display:block;padding:14px 4px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line-2)}

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width:991px){
  .main-nav,.header-cta-desktop{display:none}
  .burger{display:block}
  .account{grid-template-columns:minmax(0,1fr)}
  .acct-profile{display:flex;align-items:center;text-align:left;gap:16px;padding:20px}
  .acct-profile .av{margin:0;width:60px;height:60px;font-size:20px}
  .acct-nav{display:flex;gap:6px;overflow-x:auto;margin-top:14px}
  .acct-nav a{white-space:nowrap}.acct-nav a .arr{display:none}
  .edit-grid{grid-template-columns:minmax(0,1fr)}
  .checkout{grid-template-columns:minmax(0,1fr)}
  .summary{position:static}
  .auth-card{grid-template-columns:1fr;max-width:460px}
  .auth-visual{display:none}
  .plan-grid,.tier-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .site-footer .top{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .section{padding:44px 0}
  .gl-container{padding-inline:18px}
  .order .body{flex-direction:column}
  .order .right{align-items:flex-start}
  .card-pad{padding:18px}
  .txn-hide-sm{display:none}
  .site-footer .top{grid-template-columns:1fr}
  .checkout-grid-2{grid-template-columns:1fr !important}
}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:575px){.grid-2{grid-template-columns:1fr}}


/* ================= Alphavima MM overrides ================= */
/* Header nav dropdown submenus (hover on desktop, click/tap toggle) */
.main-nav a{text-decoration:none}
.main-nav .nav-item.has-sub{position:relative;display:inline-flex;align-items:center}
.main-nav .nav-item.has-sub > a{color:var(--ink);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.main-nav .nav-item.has-sub > a:hover{color:var(--sky)}
.main-nav .subnav{position:absolute;top:100%;left:0;min-width:215px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:8px;margin-top:6px;z-index:1200;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.main-nav .nav-item.has-sub:hover .subnav,.main-nav .nav-item.has-sub.open .subnav{opacity:1;visibility:visible;transform:translateY(0)}
.main-nav .nav-item.has-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:10px}
.main-nav .subnav a{display:block;padding:9px 12px;border-radius:8px;color:var(--mut);font-weight:600;font-size:14px}
.main-nav .subnav a:hover{background:var(--skytint);color:var(--navy)}
/* Belt-and-suspenders: keep CTA links un-underlined */
.mcard .cta,.tier a,.btn{text-decoration:none}

/* ===== Alphavima MM — Buy/Edit membership member-repeater components ===== */
.buy-ms-section-card,.plan-sidebar-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden}
.buy-ms-section-header,.plan-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line-2);background:var(--skytint)}
.buy-ms-section-header-left{display:flex;align-items:center;gap:12px}
.buy-ms-section-icon,.plan-sidebar-icon{width:42px;height:42px;border-radius:11px;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-size:17px;border:1px solid var(--line-2)}
.buy-ms-section-title,.plan-sidebar-heading{font-size:17px;font-weight:800;color:var(--ink)}
.buy-ms-section-subtitle{font-size:13px;color:var(--mut)}
.buy-ms-section-body,.plan-sidebar-body{padding:22px}
.buy-ms-divider{border:0;border-top:1px solid var(--line-2);margin:6px 0 14px}
.buy-ms-plan-banner,.buy-ms-eligibility{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.buy-ms-plan-info{display:flex;align-items:center;gap:14px}
.buy-ms-plan-icon{width:46px;height:46px;border-radius:12px;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.buy-ms-plan-name{font-weight:800;color:var(--navy);font-size:17px}
.buy-ms-plan-meta{color:var(--mut);font-size:13px}
.buy-ms-plan-stats{display:flex;gap:24px}
.buy-ms-stat-value{font-weight:800;color:var(--navy);font-size:18px}
.buy-ms-stat-label{font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
.buy-ms-eligibility-title{font-weight:700;color:var(--navy);font-size:13px}
.buy-ms-elig-tags{display:flex;flex-wrap:wrap;gap:8px}
.buy-ms-elig-tag{display:inline-flex;align-items:center;gap:6px;background:var(--skytint);color:var(--navy);border:1px solid #E1ECF8;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700}
.buy-ms-back-btn{display:inline-flex;align-items:center;gap:7px;color:var(--sky);font-weight:600;font-size:14px;margin-bottom:8px}
.buy-ms-page-header h1{font-size:28px}
/* member rows */
.em-member-list{display:flex;flex-direction:column;gap:12px}
.em-member-row{position:relative;display:flex;align-items:center;gap:14px;border:1px solid var(--line-2);border-radius:var(--r);padding:14px 16px;background:#fff}
.em-member-avatar{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.em-member-details{flex:1;min-width:0}
.em-member-name{font-weight:700;color:var(--ink)}
.em-member-meta{font-size:13px;color:var(--mut)}
.em-member-badge{font-size:11px;font-weight:800;letter-spacing:.05em;padding:5px 10px;border-radius:999px}
.badge-active{background:var(--green-t);color:var(--green)} .badge-inactive{background:var(--slate-t);color:var(--slate)}
.em-member-actions .mem-icon-btn{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:9px;color:var(--red);cursor:pointer}
.em-remove-overlay{display:none;position:absolute;inset:0;background:rgba(255,255,255,.97);border-radius:var(--r);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;text-align:center;z-index:3}
.em-remove-overlay.active{display:flex}
.confirm-btns{display:flex;gap:8px}
.confirm-remove-yes{background:var(--red);color:#fff;border:0;border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:600}
.confirm-remove-no{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 14px;cursor:pointer}
.em-add-card{border:1px dashed var(--sky);border-radius:var(--r);padding:18px;margin-top:14px;background:var(--inp);animation:memberIn .28s ease both}
.em-add-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.em-add-card-title{font-weight:700;color:var(--navy)}
.em-add-card-close{width:30px;height:30px;border:0;background:#fff;border-radius:8px;color:var(--red);cursor:pointer}
.btn-add-new-member{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--sky);color:var(--sky);font-weight:700;border-radius:var(--r-sm);padding:9px 14px;font-size:13px;cursor:pointer}
.btn-add-new-member:disabled{opacity:.5;cursor:not-allowed}
.btn-buy-submit{width:100%;margin-top:18px;background:var(--grad);color:#fff;border:0;border-radius:var(--r);padding:15px;font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 10px 22px rgba(40,90,170,.28)}
.btn-buy-submit .fa-spinner{display:none}.btn-buy-submit.loading .fa-spinner{display:inline-block}
/* sidebar plan summary */
.plan-detail-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:14px}
.plan-detail-label{color:var(--mut)} .plan-detail-value{font-weight:700;color:var(--ink);text-align:right}
.plan-price-highlight{color:var(--navy);font-weight:800;font-size:16px}
.plan-status-pill{font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px}.pill-active{background:var(--green-t);color:var(--green)}
.capacity-bar-wrap{padding:16px 22px;border-top:1px solid var(--line-2)}
.capacity-bar-label{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:7px}
.capacity-bar-track{height:8px;background:var(--line-2);border-radius:6px;overflow:hidden}
.capacity-bar-fill{height:100%;background:var(--grad);border-radius:6px;transition:width .3s}.capacity-bar-fill.full{background:var(--red)}
.capacity-note{font-size:12px;color:var(--mut);margin-top:8px}
.buy-ms-section-card .form-group,.em-add-card .form-group{margin-bottom:14px}
.buy-ms-section-card label,.em-add-card label{display:block;font-weight:700;font-size:13px;color:var(--ink);margin-bottom:6px}
.buy-ms-section-card label.required::after,.em-add-card label .req{content:" *";color:var(--red)}
.error{color:var(--red);font-size:12px;display:block;margin-top:4px}

/* ===== Alphavima MM — Edit membership (edit-ms-* mirrors buy-ms-*) ===== */
.edit-ms-section-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden}
.edit-ms-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line-2);background:var(--skytint)}
.edit-ms-section-header-left{display:flex;align-items:center;gap:12px}
.edit-ms-section-icon{width:42px;height:42px;border-radius:11px;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-size:17px;border:1px solid var(--line-2)}
.edit-ms-section-title{font-size:17px;font-weight:800;color:var(--ink)}
.edit-ms-section-subtitle{font-size:13px;color:var(--mut)}
.edit-ms-section-body{padding:22px}
.edit-ms-plan-banner,.edit-ms-eligibility{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.edit-ms-plan-info{display:flex;align-items:center;gap:14px}
.edit-ms-plan-icon{width:46px;height:46px;border-radius:12px;background:var(--grad);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.edit-ms-plan-name{font-weight:800;color:var(--navy);font-size:17px}
.edit-ms-plan-meta{color:var(--mut);font-size:13px}
.edit-ms-plan-stats{display:flex;gap:24px}
.edit-ms-stat-value{font-weight:800;color:var(--navy);font-size:18px}
.edit-ms-stat-label{font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
.edit-ms-eligibility-title{font-weight:700;color:var(--navy);font-size:13px}
.edit-ms-elig-tags{display:flex;flex-wrap:wrap;gap:8px}
.edit-ms-elig-tag{display:inline-flex;align-items:center;gap:6px;background:var(--skytint);color:var(--navy);border:1px solid #E1ECF8;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700}
.edit-ms-back-btn{display:inline-flex;align-items:center;gap:7px;color:var(--sky);font-weight:600;font-size:14px;margin-bottom:8px}
.edit-ms-page-header h1{font-size:28px}
.edit-ms-section-card .form-group{margin-bottom:14px}
.edit-ms-section-card label{display:block;font-weight:700;font-size:13px;color:var(--ink);margin-bottom:6px}
.edit-ms-section-card label.required::after{content:" *";color:var(--red)}
.avatar-self{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.badge-self{background:var(--navy);color:#fff;font-size:11px;font-weight:800;padding:5px 10px;border-radius:999px}

/* ===== Alphavima MM — fixes ===== */
/* Hidden utility (used by validation + loader toggles) */
.hidden{display:none !important}
/* Form validation error messages (register / inquiry) */
.error-message{color:var(--red);font-size:12px;margin-top:5px;display:block}
.error-message.hidden{display:none !important}
span.error{color:var(--red);font-size:12px;display:block;margin-top:4px}
/* Password eye toggle — make clearly visible */
.pw .pw-toggle{color:var(--sky);font-size:18px;padding:0 4px;z-index:3}
.pw .pw-toggle:hover{color:var(--navy)}
/* Plan-details tier offering image + More Benefits button */
.tier .tier-photo{width:100%;height:150px;object-fit:cover;border-radius:12px;margin-bottom:2px}
.tier .benefits-popup-btn{margin-top:4px}
.tier .benefits-popup-btn a{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-weight:600;color:var(--navy);font-size:14px;background:#fff}
.tier .benefits-popup-btn a:hover{background:var(--skytint);border-color:var(--sky)}
.tier .benefits-popup-btn .pm{width:24px;height:24px;border-radius:7px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
/* Benefits modal list */
#ul_benefits_list ul{list-style:none;padding:0;margin:0}
#ul_benefits_list li{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px;font-size:14px;color:var(--ink)}
#ul_benefits_list li::before{content:"\2713";color:var(--green);font-weight:800}
#ul_benefits_list h3{font-size:15px;margin:14px 0 8px;color:var(--navy)}

/* ===== Alphavima MM — button loader (ported from alphavima parent theme) ===== */
.btn.btn-loader i, .btn.btn-primary span, .btnSubmit span, .btnSubmit.btn-loader i { display: block; }
.btn.btn-loader span, .btn-primary i, .btnSubmit i, .btnSubmit.btn-loader span { display: none; }
/* hide the fa-spinner by default on new-design buttons; show only while loading */
.btn > .fa-spinner { display: none; }
.btn.btn-loader > .fa-spinner, .btn.loading > .fa-spinner { display: inline-block; }

/* ===== Alphavima MM — inquiry/contact popup validation messages on one line ===== */
#inquiryModal label.error, .inquiry-modal label.error, #frm_inquiry label.error,
#inquiryModal .error, .inquiry-modal .error {
  color: var(--red); font-size: 12px; font-weight: 600; display: block;
  margin-top: 5px; white-space: nowrap; line-height: 1.3;
}
/* give the popup a touch more width so messages comfortably fit one line */
.inquiry-modal .modal-dialog { max-width: 560px; }
/* generic jQuery Validate label styling (other forms) */
label.error { color: var(--red); font-size: 12px; font-weight: 600; display: block; margin-top: 5px; }

/* ===== Alphavima MM — GiveLife API (browser-direct) helpers ===== */
.gl-loading{padding:40px 0;text-align:center;color:var(--soft);font-weight:600}
.gl-benefits-wrap{border-top:1px solid var(--line);margin-top:4px}
.gl-benefits-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;background:none;border:0;
  padding:12px 0;cursor:pointer;font-weight:600;color:var(--navy);font-size:13px}
.gl-benefits-toggle .pm{width:24px;height:24px;border-radius:7px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.gl-benefits{list-style:none;padding:0;margin:0 0 6px}
.gl-benefits li{display:flex;gap:9px;margin-bottom:9px;font-size:13.5px;color:var(--ink)}
.gl-benefits li::before{content:"\2713";color:var(--green);font-weight:800}

/* ===== Alphavima MM — auth form messages ===== */
.gl-msg{display:none;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;margin-bottom:14px;line-height:1.4}
.gl-msg-err{display:block;background:#FDECEC;color:var(--red);border:1px solid #F5C6C6}
.gl-msg-ok{display:block;background:var(--green-t);color:var(--green);border:1px solid #BFE6CF}

/* ===== Alphavima MM — UX upgrades (toasts, autocomplete, thank-you, order states) ===== */
/* Fallback toasts (used when toastr is unavailable) */
.gl-toasts{position:fixed;top:18px;right:18px;z-index:20000;display:flex;flex-direction:column;gap:10px;max-width:360px}
.gl-toast{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line-2);border-left:4px solid var(--sky);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow);font-size:14px;font-weight:600;color:var(--ink);opacity:0;transform:translateX(20px);transition:.3s}
.gl-toast.in{opacity:1;transform:none}
.gl-toast-ico{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex:none;font-size:13px;background:var(--sky)}
.gl-toast-success{border-left-color:var(--green)} .gl-toast-success .gl-toast-ico{background:var(--green)}
.gl-toast-error{border-left-color:var(--red)} .gl-toast-error .gl-toast-ico{background:var(--red)}

/* Address autocomplete */
.gl-addr-search{position:relative}
.gl-suggestions{display:none;position:absolute;left:0;right:0;top:100%;z-index:1200;background:#fff;border:1px solid var(--line-2);border-radius:0 0 var(--r-sm) var(--r-sm);box-shadow:var(--shadow);max-height:230px;overflow:auto}
.gl-sug-item{padding:10px 14px;font-size:14px;cursor:pointer;border-bottom:1px solid var(--hair)}
.gl-sug-item:hover{background:var(--skytint);color:var(--navy)}

/* Invalid field highlight */
.gl-invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(215,38,61,.12)!important}
.member-item.gl-invalid{border-color:var(--red);background:#FFF7F7;box-shadow:none!important}

/* Thank-you redesign */
.ty-wrap{max-width:640px;margin:0 auto}
.ty-card{border-radius:var(--r-xl);overflow:hidden;text-align:center}
.ty-top{height:8px;background:var(--grad)}
.ty-top.warn{background:linear-gradient(135deg,var(--amber),#E0A800)}
.ty-body{padding:40px 36px 36px}
.ty-badge{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;margin:0 auto 18px;font-weight:800}
.ty-badge.ok{background:var(--green-t);color:var(--green)}
.ty-badge.warn{background:var(--amber-t);color:var(--amber)}
.ty-h{font-size:32px;margin-top:6px}
.ty-card-slot{margin:26px auto 0;max-width:560px}
.ty-card-slot:empty{display:none}
.ty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}

/* Paused / Cancelled order buttons */
.btn-paused{background:var(--amber-t);color:var(--amber);border:1px solid #EBD9A8;font-weight:700}
.btn-paused:hover{background:#F8EAC8;color:var(--amber)}
.btn-cancelled{background:var(--slate-t);color:var(--slate);border:1px solid var(--slate-bd);font-weight:700;cursor:default;opacity:.95}

/* Hover tooltip (pause/resume dates) */
.gl-tip{position:relative}
.gl-tip:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:12px;font-weight:600;padding:7px 11px;border-radius:8px;box-shadow:var(--shadow);z-index:50}
.gl-tip:hover::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ink);z-index:50}

/* ===== Alphavima MM — edit-membership transactions table ===== */
.gl-txn-wrap{overflow-x:auto;margin-top:4px}
.gl-txn{width:100%;border-collapse:collapse;font-size:13.5px}
.gl-txn th{font-size:11px;letter-spacing:.04em;color:var(--soft);text-transform:uppercase;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.gl-txn td{padding:10px;border-bottom:1px solid var(--hair);vertical-align:middle;white-space:nowrap}
.gl-txn td a{font-size:18px;text-decoration:none}

/* ===== Alphavima MM — receipt print, terminated, order expand ===== */
@media print {
  body > *:not(#gl-receipt-modal){display:none!important}
  #gl-receipt-modal{position:static!important;display:block!important;overflow:visible!important;background:#fff}
  #gl-receipt-modal .modal-dialog{max-width:none!important;margin:0!important}
  #gl-receipt-modal .modal-content{box-shadow:none!important;border:0!important}
  #gl-receipt-modal .gl-noprint{display:none!important}
  .modal-backdrop{display:none!important}
  @page{margin:14mm}
}
.gl-rcpt{background:none;border:0;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:8px}
.gl-rcpt:hover{background:var(--skytint)}
.gl-readonly-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--slate-t);color:var(--slate);border:1px solid var(--slate-bd);border-radius:var(--r);padding:14px 18px;font-size:14px}
.gl-readonly-banner strong{letter-spacing:.05em}
/* Order History chevron + inline members panel */
.order-wrap{margin-bottom:16px}
.order-wrap .order{margin-bottom:0}
.ochev{flex:none;width:30px;height:30px;border:0;background:none;cursor:pointer;font-size:22px;line-height:1;color:var(--soft);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ochev:hover{color:var(--navy)}
.ochev.open{color:var(--navy)}
.gl-members-panel{border-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important;margin-top:-1px}
.gl-members-panel .em-member-row{border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:12px 4px}
.gl-members-panel .em-member-row:last-child{border-bottom:0}

/* ===== Alphavima MM — membership plan card hover (featured highlight) ===== */
.mgrid .mcard{transition:.2s}
.mgrid .mcard:hover{background:var(--skytint);border-color:var(--sky);box-shadow:var(--shadow);transform:translateY(-4px)}
/* CTA turns into the filled navy button (like the Premium "Get Premium" button)
   on hover. Padding is RESERVED at rest (transparent) so only the colour fades
   in — no size change, so the card/row never shifts ("dances"). */
.mgrid .mcard .cta{padding:12px 18px;margin-left:-18px;border-radius:var(--r-sm);font-weight:700;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.mgrid .mcard:hover .cta{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(40,90,170,.28)}
.mgrid .mcard:hover .cta .arr{color:#fff}
.mgrid .mcard .cta:hover{gap:8px}

/* Benefits popup list (desktop/tablet) */
.gl-benefits-modal{display:grid;gap:11px;margin:0}
.gl-benefits-modal li{font-size:14px;color:var(--ink)}

/* Benefits popup: flow items naturally so any count looks balanced */
#glBenefitsModal .bm-grid{grid-auto-flow:row;grid-template-rows:none}
@media (max-width:575px){#glBenefitsModal .bm-grid{grid-template-columns:1fr}}

/* Fallback toast title */
.gl-toast-title{display:block;font-weight:800;margin-bottom:1px}

/* Logo image sizing (membership pages use style.css; chrome.css covers the rest) */
.site-header .logo{line-height:0}
.site-header .logo img{height:50px;width:auto;display:block}
.site-footer .logo{line-height:0;display:inline-flex;align-items:center}
.site-footer .logo img{height:46px;width:auto}
#mNav .logo img{height:40px;width:auto}

/* ===== Plan Details — tier card hover transforms to the featured (navy) look ===== */
.tier-grid .tier{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.tier-grid .tier:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.tier-grid .tier:hover h3,.tier-grid .tier:hover .price .cur,.tier-grid .tier:hover .teyebrow{color:#fff!important}
.tier-grid .tier:hover .price .old,.tier-grid .tier:hover .price .per,.tier-grid .tier:hover .tdesc{color:#C7D6EC!important}
.tier-grid .tier:hover .medallion{background:rgba(255,255,255,.16)}
.tier-grid .tier:hover .impact-line{background:rgba(255,255,255,.12)!important;color:#fff}
.tier-grid .tier:hover .impact-line .h{color:#fff}
.tier-grid .tier:hover .gl-benefits-wrap{border-top-color:rgba(255,255,255,.2)}
.tier-grid .tier:hover .gl-benefits-toggle{color:#fff}
.tier-grid .tier:hover .gl-benefits-toggle .pm{background:var(--sky)}
.tier-grid .tier:hover .btn-inquiry{background:var(--grad)!important;color:#fff!important;border-color:transparent!important}
.tier-grid .tier:hover .btn-proceed{background:#fff!important;color:var(--navy)!important;border-color:#fff!important}

/* ===== ID card — center the "ACTIVE" badge text. Use a TIGHT line-height (1)
   plus symmetric padding: html2canvas pins text to the TOP of an oversized
   line box, so the tall line-height was pushing "ACTIVE" upward. A 1:1 line
   box with equal top/bottom padding centers it the same on screen and in the
   downloaded PNG. ===== */
.id-card .id-top{align-items:center}
.id-card .id-badge{display:inline-block;line-height:1;padding:7px 14px;text-align:center;vertical-align:middle}
.id-card .id-brand{display:inline-block;line-height:1;vertical-align:middle}

/* Sidebar logout link */
.acct-nav .gl-logout-link{color:var(--red)}
.acct-nav .gl-logout-link:hover{background:#FDECEC;color:var(--red)}
.acct-nav .gl-logout-link .i{color:var(--red)}
