/* =========================================================
   Community - master.css (CLEANED + CURRENT)
   - Swipe + Tabbar + Toast + Full-screen profile overlay
   ========================================================= */
   

/* -------------------------
   Shared icon buttons (swipe + profile overlay)
-------------------------- */
.meet-iconbtn{
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.92);
  color: rgba(0,0,0,.78);
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.20);
  pointer-events: auto;
}
.meet-iconbtn--overlay:hover{ background:#fff; }
.meet-iconbtn.dropdown-toggle::after{ display:none !important; }

/* -------------------------
   Swipe top-right actions
-------------------------- */
.meet-swipe-top-actions{
  position: absolute;
  top: .6rem;
  right: .6rem;
  z-index: 20;
  display: flex;
  gap: .45rem;
}

/* -------------------------
   Swipe action row
   (Go Back shrink-to-fit; other two share space)
-------------------------- */
.meet-swipe-actions{
  display: flex;
  gap: .5rem;
  align-items: stretch;
}
.meet-swipe-actions .btnMeetRewind{
  flex: 0 0 auto;
  white-space: nowrap;
}
.meet-swipe-actions .btnSwipe{
  flex: 1 1 0;
  min-width: 0;
}

/* -------------------------
   Swipe card (Owl-safe)
-------------------------- */
.meet-swipe-wrap{
  width: min(600px, 100%);
  margin: 0 auto;
}
.meet-swipe-card{
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: .5rem;
  overflow: hidden;
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
}
.meet-swipe-media{
  position: relative;
  overflow: hidden;
  background: #000;
}
.meet-swipe-ratio{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.meet-swipe-ratio img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.meet-swipe-overlay{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 10;
  padding: 14px 14px 12px 14px;
  color: #fff;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.15), rgba(0,0,0,0));
}

.meet-swipe-overlay [data-star-account-id],
.meet-swipe-overlay .btnGiveStar,
.meet-swipe-overlay .btnMeetGiveStar{
  pointer-events: auto;
  position: relative;
  z-index: 11;
}

.meet-swipe-overlay .meet-swipe-name,
.meet-swipe-overlay .meet-swipe-sub{
  text-shadow: 0 2px 10px rgba(0,0,0,.85);
}
.meet-swipe-media .owl-dots{ display: none !important; }

/* -------------------------
   Empty swipe state
-------------------------- */
.meet-empty-swipe{
  max-width: 520px;
  margin: 0 auto;
}

/* -------------------------
   Meet top nav
-------------------------- */
.meet-tabbtn{
  border-radius: 999px;
  padding: .58rem .98rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  white-space: nowrap;
  line-height: 1.1;
  box-sizing: border-box;
  text-decoration: none !important;
  font-weight: 700;
  transform: none !important;
  background: #fff !important;
  color: rgba(0,0,0,.82) !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 2px 10px rgba(0,0,0,.06);
  transition: background .12s ease, color .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.meet-tabbtn:hover{
  transform: none !important;
  background: #fff !important;
  border-color: rgba(0,0,0,.22) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 4px 14px rgba(0,0,0,.08);
}

.meet-tabbtn.active{
  background: #fff !important;
  color: rgba(0,0,0,.88) !important;
  border-color: rgba(0,0,0,.14) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 2px 10px rgba(0,0,0,.06),
    inset 0 0 0 1px var(--bs-primary, #0d6efd);
}

.meet-tabbtn i{
  width: 1.1rem;
  text-align: center;
  opacity: .9;
}

.meet-tabbtn:focus,
.meet-tabbtn:focus-visible{
  outline: none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 2px 10px rgba(0,0,0,.06),
    inset 0 0 0 1px var(--bs-primary, #0d6efd);
}

html.dark .meet-tabbtn{
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.86) !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.10) inset,
    0 2px 10px rgba(0,0,0,.25);
}

html.dark .meet-tabbtn:hover{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.24) !important;
}

html.dark .meet-tabbtn.active{
  color: rgba(255,255,255,.92) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.10) inset,
    0 2px 10px rgba(0,0,0,.25),
    inset 0 0 0 1px var(--bs-primary, #0d6efd);
}

.meetLikesYouBadge{
  white-space:nowrap !important;
  line-height:1 !important;
  display:inline-flex;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
}
.meetLikesYouBadge.is-hidden{ display:none !important; }


/* -------------------------
   Friends grid view
-------------------------- */
.meet-friends-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  flex-wrap:wrap;
}

.meet-friends-search{
  max-width:460px;
}

.meet-friends-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.45rem;
  position:relative;
  isolation:auto;
  overflow:visible;
  align-items:stretch;
}

.meet-friend-card-col{
  min-width:0;
  position:relative;
  z-index:1;
  display:flex;
  align-self:stretch;
}

.meet-friend-card-col--menuopen{
  z-index:5000;
}

@media (max-width:359.98px){
  .meet-friends-grid{
    grid-template-columns:1fr;
  }

  .meet-friend-card-name{
    font-size:.75rem;
  }
}

@media (min-width:768px){
  .meet-friends-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (min-width:1200px){
  .meet-friends-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

.meet-friend-card{
  position:relative;
  width:100%;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  border-radius:1rem;
  overflow:visible;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  transition:box-shadow .12s ease, border-color .12s ease;
  z-index:1;
}

.meet-friend-card--menuopen{
  z-index:5001;
}

.meet-friend-card:hover{
  box-shadow:0 12px 26px rgba(0,0,0,.10);
  border-color:rgba(0,0,0,.14);
}

.meet-friend-card-media{
  position:relative;
  aspect-ratio:1.08 / 1;
  overflow:visible;
  flex:0 0 auto;
}

.meet-friend-card-avatarclip{
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:1rem 1rem 0 0;
  background:#eef1f4;
}

.meet-friend-card-avatar{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.meet-friend-card-topbadges{
  position:absolute;
  top:.4rem;
  left:.4rem;
  display:flex;
  align-items:center;
  gap:.2rem;
  z-index:25;
  pointer-events:auto;
}

.meet-friend-card-cornerbadge{
  position:absolute;
  right:.4rem;
  bottom:.4rem;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  z-index:25;
  pointer-events:none;
}


.meet-friend-card-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.34rem .56rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1;
  text-transform:uppercase;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}

.meet-user-row-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.26rem .5rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1;
  text-transform:uppercase;
  vertical-align:middle;
}

.meet-friend-card-topactions{
  position:absolute;
  top:.4rem;
  right:.4rem;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:.25rem;
  flex-wrap:wrap;
  max-width:calc(100% - .8rem);
  z-index:30;
  pointer-events:auto;
}

.meet-friend-card-topaction-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.25rem;
  max-width:14rem;
}

.meet-friend-card-topaction-buttons .btn{
  border-radius:999px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.97) !important;
  color:rgba(0,0,0,.84) !important;
}

.meet-friend-card-topaction-buttons .btn:hover,
.meet-friend-card-topaction-buttons .btn:focus{
  background:#fff !important;
  color:#000 !important;
}

.meet-friend-card-topaction-buttons .btn.btn-danger{
  background:rgba(220,53,69,.95) !important;
  border-color:rgba(220,53,69,.95) !important;
  color:#fff !important;
}

.meet-friend-card-topaction-buttons .btn.btn-danger:hover,
.meet-friend-card-topaction-buttons .btn.btn-danger:focus{
  background:rgba(220,53,69,1) !important;
  border-color:rgba(220,53,69,1) !important;
  color:#fff !important;
}

.meet-friend-card-topaction-buttons .btn.btn-success{
  background:rgba(25,135,84,.95) !important;
  border-color:rgba(25,135,84,.95) !important;
  color:#fff !important;
}

.meet-friend-card-topaction-buttons .btn.btn-success:hover,
.meet-friend-card-topaction-buttons .btn.btn-success:focus{
  background:rgba(25,135,84,1) !important;
  border-color:rgba(25,135,84,1) !important;
  color:#fff !important;
}

.meet-friend-card-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  text-decoration:none !important;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.30));
}

.meet-friend-card-icon--star{
  width:1.95rem;
  height:1.95rem;
  font-size:1.95rem; /* drives .meet-star-badge sizing properly */
}

.meet-friend-card-icon--star,
.meet-friend-card-icon--star *{
  line-height:1 !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.meet-friend-card-icon--star > *{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  transform:translate(.42rem, .22rem);
  transform-origin:center center;
}

.meet-friend-card-favbtn,
.meet-friend-card-menubtn,
.meet-friend-card-msgbtn{
  width:1.95rem;
  height:1.95rem;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px !important;
  text-decoration:none !important;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}

.meet-friend-card-favbtn,
.meet-friend-card-msgbtn{
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.97) !important;
  color:rgba(0,0,0,.84) !important;
}

.meet-friend-card-favbtn:hover,
.meet-friend-card-favbtn:focus,
.meet-friend-card-msgbtn:hover,
.meet-friend-card-msgbtn:focus{
  background:#fff !important;
  color:#000 !important;
}

.meet-friend-card-favbtn.is-on{
  background:rgba(220,53,69,.95) !important;
  border-color:rgba(220,53,69,.95) !important;
  color:#fff !important;
}

.meet-friend-card-favbtn.is-on i{
  color:#fff !important;
}

.meet-friend-card-menu{
  position:relative;
  z-index:30;
}

.meet-friend-card-menu .dropdown-menu{
  z-index:6000;
  min-width:220px;
}

.meet-friend-card-menubtn{
  border:1px solid rgba(0,0,0,.12) !important;
  background:rgba(255,255,255,.97) !important;
  color:rgba(0,0,0,.84) !important;
}

.meet-friend-card-menubtn:hover,
.meet-friend-card-menubtn:focus{
  background:#fff !important;
  color:#000 !important;
}

.meet-friend-card-menubtn::after{
  display:none !important;
}

.meet-friend-card-body{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:.22rem;
  padding:.78rem .9rem .9rem .9rem;
  background:#111;
  color:#fff;
  border-radius:0 0 1rem 1rem;
}

.meet-friend-card-namewrap{
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.5rem;
}

.meet-friend-card-name{
  font-weight:700;
  line-height:1.18;
  font-size:1.03rem;
  color:#fff;
  flex:1 1 auto;
  min-width:0;
  word-break:break-word;
}

.meet-friend-card-namebadges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.25rem;
  flex:0 0 auto;
}

.meet-friend-card-meta,
.meet-friend-card-subtitle,
.meet-friend-card-tagline{
  width:100%;
  line-height:1.25;
}

.meet-friend-card-meta{
  font-size:.82rem;
  color:rgba(255,255,255,.84);
}

.meet-friend-card-subtitle{
  font-size:.77rem;
  color:rgba(255,255,255,.68);
}

.meet-friend-card-tagline{
  margin-top:.18rem;
  font-size:.84rem;
  color:rgba(255,255,255,.94);
}

#meetFriendsLoadingMore .progress{
  max-width:280px;
  margin:.7rem auto 0 auto;
}

#meetFriendsLoadMoreSentinel{
  height:1px;
}

.meet-cardlist-header:empty{
  display:none;
}

.meet-cardlist-loading .progress{
  max-width:280px;
  margin:.7rem auto 0 auto;
}

.meet-cardlist-sentinel{
  height:1px;
}

html.dark .meet-friend-card{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 8px 22px rgba(0,0,0,.24);
}

html.dark .meet-friend-card:hover{
  border-color:rgba(255,255,255,.18);
}

html.dark .meet-friend-card-avatarclip{
  background:#1c1f23;
}

html.dark .meet-friend-card-icon--verified{
  color:#55a8ff;
}

html.dark .meet-friend-card-icon{
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.45));
}

html.dark .meet-friend-card-favbtn,
html.dark .meet-friend-card-msgbtn{
  background:rgba(18,20,23,.95) !important;
  color:rgba(255,255,255,.9) !important;
  border-color:rgba(255,255,255,.12) !important;
}

html.dark .meet-friend-card-favbtn.is-on{
  background:rgba(220,53,69,.95) !important;
  color:#fff !important;
  border-color:rgba(220,53,69,.95) !important;
}

html.dark .meet-friend-card-favbtn.is-on i{
  color:#fff !important;
}

html.dark .meet-friend-card-favbtn:hover,
html.dark .meet-friend-card-favbtn:focus,
html.dark .meet-friend-card-msgbtn:hover,
html.dark .meet-friend-card-msgbtn:focus{
  background:rgba(24,27,31,.98) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-topaction-buttons .btn{
  background:rgba(18,20,23,.95) !important;
  color:rgba(255,255,255,.9) !important;
  border-color:rgba(255,255,255,.12) !important;
}

html.dark .meet-friend-card-topaction-buttons .btn:hover,
html.dark .meet-friend-card-topaction-buttons .btn:focus{
  background:rgba(24,27,31,.98) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-topaction-buttons .btn.btn-danger{
  background:rgba(220,53,69,.95) !important;
  border-color:rgba(220,53,69,.95) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-topaction-buttons .btn.btn-danger:hover,
html.dark .meet-friend-card-topaction-buttons .btn.btn-danger:focus{
  background:rgba(220,53,69,1) !important;
  border-color:rgba(220,53,69,1) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-topaction-buttons .btn.btn-success{
  background:rgba(25,135,84,.95) !important;
  border-color:rgba(25,135,84,.95) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-topaction-buttons .btn.btn-success:hover,
html.dark .meet-friend-card-topaction-buttons .btn.btn-success:focus{
  background:rgba(25,135,84,1) !important;
  border-color:rgba(25,135,84,1) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-menubtn{
  background:rgba(18,20,23,.95) !important;
  color:rgba(255,255,255,.9) !important;
  border-color:rgba(255,255,255,.12) !important;
}

html.dark .meet-friend-card-menubtn:hover,
html.dark .meet-friend-card-menubtn:focus{
  background:rgba(24,27,31,.98) !important;
  color:#fff !important;
}

html.dark .meet-friend-card-body{
  background:#0d0f12;
}


/* -------------------------
   Leaderboard cards (same base card, only add rank badge)
-------------------------- */
.meet-leaderboard-grid{
  gap: 1.5rem;
  padding-top: 1rem;
  padding-left: 1rem;
}

.meet-leader-card{
  overflow: visible;
}


.meet-leader-card .meet-leader-rank{
  position: absolute;
  top: -1.55rem;
  left: -1.55rem;
  z-index: 40;
  min-width: 2.9rem;
  height: 2.9rem;
  padding: 0 .55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #111 0%, #333 100%);
  color: #fff;
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(0,0,0,.22);
  border: 2px solid #fff;
  pointer-events: none;
}

@media (max-width: 767.98px){
  .meet-leaderboard-grid{
    gap: 1rem;
    padding-top: .75rem;
    padding-left: .75rem;
  }

  .meet-leader-card .meet-leader-rank{
    top: -1.1rem;
    left: -1.1rem;
    min-width: 2.45rem;
    height: 2.45rem;
    font-size: .9rem;
  }
}
/* Friend request action buttons: compact, touch-safe icon buttons. */
.meet-request-action-btn{
  width:2.15rem;
  height:2.15rem;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px !important;
}
.meet-friend-card-topaction-buttons .meet-request-action-btn{
  width:2.15rem;
  height:2.15rem;
  flex:0 0 2.15rem;
}

/* -------------------------
   Meet criteria checkbox grids
-------------------------- */
#frmUpdateCriteria .checkbox-group--cols,
#frmUpdateCriteria .meet-checkbox-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr));
  gap:.65rem .9rem;
  align-items:start;
  margin-top:.35rem;
}

#frmUpdateCriteria .checkbox-group--cols .form-check,
#frmUpdateCriteria .meet-checkbox-grid .form-check{
  display:flex !important;
  align-items:center !important;
  width:100%;
  min-width:0;
  margin:0 !important;
  padding:0 !important;
}

#frmUpdateCriteria .checkbox-group--cols .checkbox-all{
  grid-column:1 / -1;
  width:auto;
  max-width:max-content;
  margin-bottom:.15rem !important;
}

#frmUpdateCriteria .checkbox-group--cols .form-check-label,
#frmUpdateCriteria .meet-checkbox-grid .form-check-label{
  min-width:0;
  line-height:1.25;
  margin-top:0 !important;
}

@media (max-width: 575.98px){
  #frmUpdateCriteria .checkbox-group--cols,
  #frmUpdateCriteria .meet-checkbox-grid{
    grid-template-columns:1fr;
  }
}
