/* ============================================================
   Quboolia — App layer (Shaadi-style matrimony features)
   Onboarding wizard · Member dashboard · Profiles · Chat
   ============================================================ */

/* ---------- Faith switcher (hero) ---------- */
.faithswitch{margin-top:2.2rem;max-width:38rem}
.faithswitch__label{display:block;font-size:.82rem;font-weight:600;color:rgba(250,246,239,.72);margin-bottom:.7rem}
.faithswitch__pills{display:flex;flex-wrap:wrap;gap:.5rem}
.faithpill{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--sans);font-weight:700;font-size:.82rem;
  color:var(--cream);background:rgba(255,255,255,.08);border:1px solid rgba(224,192,116,.28);
  padding:.45rem .85rem;border-radius:999px;cursor:pointer;transition:.18s;backdrop-filter:blur(6px)}
.faithpill span{font-size:1rem;line-height:1}
.faithpill:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.faithpill.on{background:linear-gradient(135deg,var(--gold-500),var(--gold-600));color:#1a1206;border-color:transparent;box-shadow:0 6px 18px rgba(0,0,0,.18)}

/* ---------- Floating faith FAB ---------- */
.faithfab{position:fixed;left:1.2rem;bottom:1.4rem;z-index:95}
.faithfab__btn{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);cursor:pointer;
  background:linear-gradient(135deg,var(--emerald-700),var(--emerald-800));color:#fff;font-size:1.5rem;
  box-shadow:var(--shadow-lg);display:grid;place-items:center;transition:.2s}
.faithfab__btn:hover{transform:scale(1.08)}
.faithfab__menu{position:absolute;bottom:64px;left:0;background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow-lg);padding:.5rem;display:none;flex-direction:column;gap:.15rem;min-width:200px;animation:rise .25s ease}
.faithfab__menu.open{display:flex}
.faithfab__menu button{display:flex;align-items:center;gap:.6rem;font-family:var(--sans);font-weight:600;font-size:.9rem;
  color:var(--ink);background:none;border:none;padding:.55rem .7rem;border-radius:10px;cursor:pointer;text-align:left}
.faithfab__menu button span{font-size:1.15rem;width:1.4rem;text-align:center}
.faithfab__menu button:hover{background:rgba(14,94,78,.07)}

/* religion picker in wizard */
.relgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin-bottom:1.6rem}
.relopt{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .6rem;border:1.5px solid var(--line);
  background:#fff;border-radius:14px;cursor:pointer;transition:.18s;font-weight:700;font-size:.82rem;color:var(--ink)}
.relopt span{font-size:1.7rem;line-height:1}
.relopt:hover{border-color:var(--gold-500);background:#fffdf8;transform:translateY(-2px)}
.relopt.sel{border-color:var(--emerald-700);background:rgba(14,94,78,.06);box-shadow:0 0 0 3px rgba(14,94,78,.12)}

/* ---------- Success stories (landing) ---------- */
.stories{padding:5rem 1.2rem;background:linear-gradient(180deg,var(--cream-2),var(--cream))}
.stories__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.story{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);transition:.25s}
.story:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.story__pair{display:flex;align-items:center;margin-bottom:1rem}
.story__av{width:50px;height:50px;border-radius:50%;border:3px solid #fff;display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--serif);font-size:1.2rem}
.story__av:last-child{margin-left:-14px}
.story__heart{margin:0 .5rem 0 .3rem;color:var(--rose);font-size:1.1rem}
.story__names{font-family:var(--serif);font-size:1.2rem;color:var(--emerald-800);font-weight:700}
.story__city{font-size:.8rem;color:var(--ink-soft)}
.story__text{font-size:.92rem;color:var(--ink-soft);font-style:italic}
.story__tag{margin-top:1rem;font-size:.74rem;font-weight:700;color:var(--emerald-700);background:rgba(14,94,78,.08);padding:.3rem .7rem;border-radius:999px;display:inline-block}

/* ---------- ONBOARDING WIZARD ---------- */
.wizard{position:fixed;inset:0;z-index:120;display:none}
.wizard.open{display:block}
.wizard__bg{position:absolute;inset:0;background:radial-gradient(120% 90% at 80% -10%,var(--emerald-700),var(--emerald-900));overflow:hidden}
.wizard__bg::before{content:"";position:absolute;inset:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23c9a24b' stroke-opacity='0.10'%3E%3Cpath d='M30 0l30 30-30 30L0 30z'/%3E%3C/g%3E%3C/svg%3E")}
.wizard__shell{position:relative;height:100%;display:grid;place-items:center;padding:1.2rem;overflow:auto}
.wizard__card{width:100%;max-width:560px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem;position:relative;animation:rise .4s ease}
.wizard__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.wizard__brand{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.15rem}
.wizard__brand .brand__mark{font-size:1.3rem;color:var(--gold-500)}
.wizard__x{background:rgba(14,94,78,.08);border:none;width:34px;height:34px;border-radius:50%;font-size:1.3rem;cursor:pointer;color:var(--ink-soft)}
.wizard__bar{height:6px;background:rgba(14,94,78,.1);border-radius:3px;overflow:hidden;margin-bottom:1.6rem}
.wizard__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-500),var(--emerald-600));transition:width .4s ease}
.wizard__step{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:.5rem}
.wizard__q{font-family:var(--serif);font-size:1.8rem;color:var(--emerald-800);margin-bottom:1.4rem;line-height:1.15}
.wizard__opts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.6rem}
.wopt{text-align:left;font-family:var(--sans);font-weight:600;font-size:.95rem;padding:.9rem 1.1rem;border:1.5px solid var(--line);background:#fff;border-radius:13px;cursor:pointer;transition:.18s;color:var(--ink)}
.wopt:hover{border-color:var(--gold-500);background:#fffdf8}
.wopt.sel{border-color:var(--emerald-700);background:rgba(14,94,78,.06);box-shadow:0 0 0 3px rgba(14,94,78,.1)}
.wizard__fields{display:grid;gap:.9rem;margin-bottom:1.6rem}
.wizard__fields input,.wizard__fields select,.wsel{font-family:var(--sans);font-size:1rem;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:13px;width:100%;background:#fff}
.wizard__fields input:focus,.wsel:focus{outline:2px solid var(--gold-500)}
.wizard__row2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1.6rem}
.wizard__row2 label{display:grid;gap:.4rem;font-size:.8rem;font-weight:700;color:var(--emerald-800)}
.wizard__nav{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.wizard__back{background:none;border:none;color:var(--ink-soft);font-weight:700;cursor:pointer;font-size:.9rem}
.dob{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;margin-bottom:1.6rem}

/* ---------- MEMBER DASHBOARD ---------- */
.app{position:fixed;inset:0;z-index:110;background:var(--cream);display:none;flex-direction:column;overflow:hidden}
.app.open{display:flex}
.appbar{display:flex;align-items:center;gap:1.2rem;padding:.7rem 1.4rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);z-index:5}
.appbar .brand{font-size:1.15rem}
.appnav{display:flex;gap:.3rem;margin-left:1rem}
.appnav button{background:none;border:none;font-family:var(--sans);font-weight:600;font-size:.9rem;color:var(--ink-soft);padding:.5rem .9rem;border-radius:10px;cursor:pointer;transition:.18s;display:flex;align-items:center;gap:.4rem}
.appnav button:hover{background:rgba(14,94,78,.06)}
.appnav button.active{background:var(--emerald-700);color:#fff}
.appnav .ic{width:17px;height:17px}
.iconbtn .ic{width:18px;height:18px;color:var(--emerald-700)}
.iconbtn--int.done .ic,.iconbtn--short.done .ic{color:#fff}
.app__me .ic,.appbar__right .btn .ic{width:15px;height:15px}
.appnav .badge{background:var(--gold-500);color:#1a1206;font-size:.68rem;font-weight:800;border-radius:999px;padding:0 .35rem;min-width:16px;text-align:center}
.appbar__right{margin-left:auto;display:flex;align-items:center;gap:.7rem}
.app__me{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--emerald-600),var(--emerald-800));color:#fff;display:grid;place-items:center;font-weight:700;cursor:pointer}
.appbody{flex:1;overflow-y:auto;padding:1.6rem 1.4rem 3rem}
.appwrap{max-width:1080px;margin:0 auto}
.appview{display:none;animation:rise .35s ease}
.appview.show{display:block}
.viewhead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.3rem}
.viewhead h2{font-family:var(--serif);font-size:1.8rem;color:var(--emerald-800)}
.viewhead p{font-size:.9rem;color:var(--ink-soft)}

/* match grid */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s;position:relative}
.mcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.mcard__photo{height:170px;position:relative;display:grid;place-items:center;cursor:pointer}
.mcard__photo--img{height:240px;background-size:cover;background-position:center top}
.mcard__photo--img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,40,34,.4),transparent 45%)}
.mcard__av{width:96px;height:96px;border-radius:50%;border:4px solid #fff;display:grid;place-items:center;font-family:var(--serif);font-size:2.6rem;color:#fff;font-weight:700;box-shadow:var(--shadow-sm)}
.mcard__badges{position:absolute;top:.6rem;left:.6rem;display:flex;gap:.3rem;flex-wrap:wrap}
.vbadge{font-size:.62rem;font-weight:800;padding:.2rem .45rem;border-radius:6px;background:rgba(255,255,255,.95);color:var(--emerald-700);box-shadow:var(--shadow-sm)}
.vbadge--prem{background:linear-gradient(135deg,var(--gold-500),var(--gold-600));color:#1a1206}
.mcard__online{position:absolute;top:.6rem;right:.6rem;width:11px;height:11px;border-radius:50%;background:#33c27f;border:2px solid #fff;box-shadow:0 0 0 2px rgba(51,194,127,.3)}
.mcard__body{padding:.9rem 1rem 1rem}
.mcard__name{font-family:var(--serif);font-size:1.25rem;color:var(--emerald-800);display:flex;align-items:center;gap:.35rem}
.mcard__meta{font-size:.82rem;color:var(--ink-soft);margin:.15rem 0 .5rem;line-height:1.4}
.mcard__deen{font-size:.72rem;font-weight:600;color:var(--emerald-700);background:rgba(14,94,78,.07);display:inline-block;padding:.22rem .55rem;border-radius:999px}
.mcard__compat{display:flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;color:var(--gold-600);margin-top:.6rem}
.mcard__actions{display:flex;gap:.5rem;margin-top:.8rem}
.iconbtn{flex:1;border:1px solid var(--line);background:#fff;border-radius:11px;padding:.55rem;cursor:pointer;font-size:1.05rem;transition:.18s;display:grid;place-items:center}
.iconbtn:hover{border-color:var(--gold-500);transform:translateY(-2px)}
.iconbtn--int{background:rgba(14,94,78,.07);border-color:transparent}
.iconbtn--int.done{background:var(--emerald-700);color:#fff}
.iconbtn--short.done{background:var(--gold-500);color:#1a1206}
.iconbtn--pass.done{opacity:.4}

/* section band */
.band{margin-bottom:2.2rem}
.band__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.band__head h3{font-family:var(--serif);font-size:1.4rem;color:var(--emerald-800)}
.band__head a{font-size:.85rem;font-weight:700;color:var(--gold-600);cursor:pointer}

/* search panel */
.searchpanel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-sm);margin-bottom:1.6rem}
.searchgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.2rem}
.searchgrid label{display:grid;gap:.4rem;font-size:.78rem;font-weight:700;color:var(--emerald-800)}
.searchgrid select,.searchgrid input{padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.9rem;background:#fff}
.searchgrid .range{display:flex;align-items:center;gap:.5rem}
.searchgrid .range select{flex:1}

/* profile detail */
.detail{position:fixed;inset:0;z-index:130;display:none;place-items:center;padding:1.2rem}
.detail.open{display:grid}
.detail__bg{position:absolute;inset:0;background:rgba(8,54,44,.55);backdrop-filter:blur(5px)}
.detail__card{position:relative;width:100%;max-width:760px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise .35s ease}
.detail__x{position:absolute;top:1rem;right:1rem;z-index:3;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.9);font-size:1.4rem;cursor:pointer;box-shadow:var(--shadow-sm)}
.detail__hero{height:200px;position:relative;display:flex;align-items:flex-end;padding:1.4rem;gap:1.2rem}
.detail__av{width:110px;height:110px;border-radius:24px;border:4px solid #fff;display:grid;place-items:center;font-family:var(--serif);font-size:3rem;color:#fff;font-weight:700;box-shadow:var(--shadow);flex:0 0 auto}
.detail__av--img{background-size:cover;background-position:center top}
.detail__id{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.detail__id h2{font-family:var(--serif);font-size:2rem;line-height:1.1}
.detail__id p{font-size:.92rem;opacity:.95}
.detail__badges{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}
.detail__body{padding:1.6rem}
.detail__compat{display:flex;align-items:center;gap:1rem;background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.3);border-radius:14px;padding:1rem 1.2rem;margin-bottom:1.4rem}
.detail__compat .ring{flex:0 0 auto}
.detail__compat strong{font-size:1rem;color:var(--emerald-800)}
.detail__compat p{font-size:.84rem;color:var(--ink-soft)}
.dsection{margin-bottom:1.3rem}
.dsection h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-600);margin-bottom:.6rem;font-weight:800}
.dsection p{font-size:.94rem;color:var(--ink-soft)}
.dfacts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.dfact{display:flex;justify-content:space-between;font-size:.88rem;padding:.5rem .8rem;background:var(--cream);border-radius:10px}
.dfact span{color:var(--ink-soft)}.dfact b{color:var(--emerald-800)}
.dchips{display:flex;flex-wrap:wrap;gap:.4rem}
.dchips span{font-size:.78rem;font-weight:600;background:rgba(14,94,78,.07);color:var(--emerald-700);padding:.3rem .7rem;border-radius:999px}
.detail__actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:1rem 1.6rem;display:flex;gap:.7rem}

/* interests / inbox */
.inbox-tabs{display:flex;gap:.5rem;margin-bottom:1.4rem}
.inbox-tabs button{font-family:var(--sans);font-weight:700;font-size:.88rem;border:1px solid var(--line);background:#fff;color:var(--ink-soft);padding:.5rem 1rem;border-radius:999px;cursor:pointer}
.inbox-tabs button.active{background:var(--emerald-700);color:#fff;border-color:var(--emerald-700)}
.inlist{display:grid;gap:.8rem}
.inrow{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem;box-shadow:var(--shadow-sm)}
.inrow__av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--serif);font-size:1.3rem;flex:0 0 auto}
.inrow__info{flex:1}
.inrow__info strong{font-family:var(--serif);font-size:1.15rem;color:var(--emerald-800)}
.inrow__info p{font-size:.82rem;color:var(--ink-soft)}
.inrow__actions{display:flex;gap:.5rem}
.empty{text-align:center;padding:3rem 1rem;color:var(--ink-soft)}
.empty span{font-size:2.5rem;display:block;margin-bottom:.6rem}

/* chat */
.chatwrap{display:grid;grid-template-columns:280px 1fr;gap:1.2rem;height:62vh;min-height:420px}
.chatlist{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow-y:auto}
.chatlist__item{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;cursor:pointer;border-bottom:1px solid var(--line);transition:.15s}
.chatlist__item:hover,.chatlist__item.active{background:rgba(14,94,78,.05)}
.chatlist__av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;flex:0 0 auto}
.chatlist__item strong{font-size:.92rem;color:var(--emerald-800);display:block}
.chatlist__item small{font-size:.76rem;color:var(--ink-soft)}
.chatmain{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}
.chathead{padding:.9rem 1.2rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.7rem;font-weight:700;color:var(--emerald-800)}
.chatmsgs{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.6rem;background:linear-gradient(180deg,var(--cream),#fff)}
.cmsg{max-width:72%;padding:.6rem .9rem;border-radius:14px;font-size:.9rem}
.cmsg--them{background:rgba(14,94,78,.08);align-self:flex-start;border-bottom-left-radius:4px}
.cmsg--me{background:linear-gradient(135deg,var(--emerald-600),var(--emerald-700));color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chatinput{display:flex;gap:.6rem;padding:.9rem;border-top:1px solid var(--line)}
.chatinput input{flex:1;padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;font-family:var(--sans);font-size:.92rem}
.chatlock{flex:1;display:grid;place-items:center;text-align:center;padding:2rem}
.chatlock span{font-size:2.5rem;display:block;margin-bottom:.6rem}

/* upgrade / membership modal */
.uphead{text-align:center;margin-bottom:1.4rem}
.upgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.upplan{border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;display:flex;flex-direction:column;position:relative;background:#fff;transition:.2s}
.upplan:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.upplan--featured{border:2px solid var(--gold-500);box-shadow:var(--shadow)}
.upplan__tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-500),var(--gold-600));color:#1a1206;font-size:.68rem;font-weight:800;padding:.25rem .8rem;border-radius:999px;white-space:nowrap}
.upplan__name{font-family:var(--serif);font-size:1.3rem;color:var(--emerald-800)}
.upplan__price{font-size:1.6rem;font-weight:800;margin:.3rem 0}
.upplan__price small{font-size:.78rem;font-weight:600;color:var(--ink-soft)}
.upplan__feats{list-style:none;display:grid;gap:.45rem;margin:.8rem 0 1.1rem;flex:1}
.upplan__feats li{font-size:.8rem;padding-left:1.3rem;position:relative;color:var(--ink-soft)}
.upplan__feats li::before{content:"✓";position:absolute;left:0;color:var(--emerald-600);font-weight:800}

/* kundli / astro compatibility tool */
.kundli{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-sm)}
.kundli__inputs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.3rem}
.kundli__col h4{font-family:var(--serif);font-size:1.1rem;color:var(--emerald-800);margin-bottom:.7rem}
.kundli__col label{display:grid;gap:.3rem;font-size:.76rem;font-weight:700;color:var(--ink-soft);margin-bottom:.6rem}
.kundli__col input,.kundli__col select{padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:.88rem}
.kundli__result{margin-top:1.4rem;display:none;animation:rise .4s ease}
.kundli__result.show{display:block}
.kundli__score{display:flex;align-items:center;gap:1.2rem;background:rgba(14,94,78,.05);border-radius:14px;padding:1.2rem;margin-bottom:1rem}
.kundli__guns{font-family:var(--serif);font-size:2.4rem;color:var(--emerald-700);font-weight:700}
.kundli__note{font-size:.82rem;color:var(--ink-soft);background:rgba(201,162,75,.1);padding:.8rem 1rem;border-radius:10px;border-left:3px solid var(--gold-500)}

@media(max-width:880px){
  .stories__grid,.upgrid{grid-template-columns:1fr}
  .appnav{display:none}
  .chatwrap{grid-template-columns:1fr;height:auto}
  .chatlist{max-height:200px}
  .detail__hero{flex-direction:column;align-items:flex-start;height:auto;padding-top:2.5rem}
  .dfacts{grid-template-columns:1fr}
  .kundli__inputs{grid-template-columns:1fr}
  .wizard__opts{grid-template-columns:1fr}
}
