
.home-landing{display:block}.home-landing.hidden{display:none!important}
body.home-mode .hero-card,body.home-mode #announcementBar,body.home-mode .tabs,body.home-mode main.shell>.panel{display:none!important}
body.home-mode .shell{padding-top:18px}
.home-announcement-bar{margin-bottom:16px}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.home-grid>.card{margin:0}
.home-media-card{grid-column:1/-1}
.home-placeholder{min-height:90px;border:1px dashed rgba(0,0,0,.18);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--muted,#746b68);padding:15px;text-align:center}

.home-winners-display{position:relative;min-height:145px}
.home-winner-slide{display:none;min-height:145px;padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:rgba(255,255,255,.55);animation:homeWinnerFade .45s ease}
.home-winner-slide.active{display:block}
.home-winner-slide strong{display:block;font-size:clamp(22px,3vw,34px);color:var(--navy,#70201f)}
.home-winner-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.home-winner-meta span{padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.05);font-size:12px;font-weight:800}
.home-winner-points{margin-top:12px;font-size:20px;font-weight:900;color:var(--gold,#d79b2d)}
.home-slide-dots{display:flex;justify-content:center;gap:6px;margin-top:9px}
.home-slide-dot{width:7px;height:7px;border-radius:50%;background:rgba(0,0,0,.2)}
.home-slide-dot.active{background:var(--gold,#d79b2d)}
@keyframes homeWinnerFade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}

.home-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-media-item{border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.1);background:#fff}
.home-media-item img,.home-media-item video{display:block;width:100%;height:230px;object-fit:cover;background:#111}
.home-media-caption{padding:9px 11px;font-weight:800}

.home-admin-block{padding:18px;border:1px solid rgba(0,0,0,.1);border-radius:18px;background:rgba(255,255,255,.55)}
.home-admin-block textarea{width:100%}
.home-admin-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-admin-check{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:#fff}
.home-admin-check input{margin-top:3px}.home-admin-check strong{display:block}.home-admin-check small{display:block;color:var(--muted);margin-top:3px}
.home-winner-detail-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.home-winner-detail-options label{padding:9px 10px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#fff}
.home-media-add-grid{display:grid;grid-template-columns:1.1fr 1fr auto;gap:8px}

@media(max-width:760px){
  body.home-mode .app-header p{display:none}
  body.home-mode .shell{padding-top:10px}
  .home-grid{grid-template-columns:1fr;gap:10px}
  .home-media-card{grid-column:auto}
  .home-media-grid{grid-template-columns:1fr 1fr}
  .home-media-item img,.home-media-item video{height:165px}
  #homeProfileForm{display:grid;grid-template-columns:1fr auto}
  .home-admin-checklist,.home-winner-detail-options{grid-template-columns:1fr}
  .home-media-add-grid{grid-template-columns:1fr}
}



/* ===== Home media fullscreen preview ===== */
.home-media-item{
  cursor:pointer;
  position:relative;
}
.home-media-item img,
.home-media-item video{
  pointer-events:none;
}

.home-media-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(10,10,12,.94);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 74px;
}

.home-media-lightbox.hidden{
  display:none !important;
}

.home-media-lightbox-stage{
  width:min(94vw,1500px);
  height:min(90vh,1000px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.home-media-lightbox-content{
  width:100%;
  height:calc(100% - 46px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.home-media-lightbox-content img,
.home-media-lightbox-content video{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  background:#000;
  border-radius:12px;
  box-shadow:0 20px 70px rgba(0,0,0,.5);
}

.home-media-lightbox-caption{
  min-height:42px;
  padding-top:10px;
  color:#fff;
  font-weight:800;
  text-align:center;
  font-size:15px;
}

.home-media-lightbox-close,
.home-media-lightbox-nav{
  position:fixed;
  z-index:100000;
  border:0 !important;
  color:#fff !important;
  background:rgba(255,255,255,.14) !important;
  box-shadow:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
}

.home-media-lightbox-close{
  top:18px;
  right:20px;
  width:46px;
  height:46px;
  border-radius:50% !important;
  font-size:32px !important;
  padding:0 !important;
}

.home-media-lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:70px;
  border-radius:16px !important;
  font-size:48px !important;
  padding:0 !important;
}

.home-media-lightbox-prev{left:14px}
.home-media-lightbox-next{right:14px}

.home-media-lightbox-close:hover,
.home-media-lightbox-nav:hover{
  background:rgba(255,255,255,.24) !important;
}

body.home-media-open{
  overflow:hidden !important;
}

@media(max-width:700px){
  .home-media-lightbox{
    padding:56px 12px 72px;
  }

  .home-media-lightbox-stage{
    width:100%;
    height:100%;
  }

  .home-media-lightbox-content{
    height:calc(100% - 42px);
  }

  .home-media-lightbox-content img,
  .home-media-lightbox-content video{
    border-radius:8px;
  }

  .home-media-lightbox-close{
    top:10px;
    right:10px;
    width:40px;
    height:40px;
    font-size:28px !important;
  }

  .home-media-lightbox-nav{
    top:auto;
    bottom:14px;
    transform:none;
    width:46px;
    height:46px;
    border-radius:50% !important;
    font-size:36px !important;
  }

  .home-media-lightbox-prev{
    left:calc(50% - 60px);
  }

  .home-media-lightbox-next{
    right:calc(50% - 60px);
  }

  .home-media-lightbox-caption{
    min-height:36px;
    font-size:13px;
    padding-top:8px;
  }
}

/* =========================================================
   TASHJEE HOME2 - INLINE CURRENT EVENT ATTENDANCE
   ========================================================= */

.home2-events-card{
  grid-column:1 / -1;
  margin:0;
}

.home2-events-status{
  margin-top:10px;
}

.home2-events-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.home2-event-row{
  display:grid;
  grid-template-columns:minmax(180px,.85fr) minmax(360px,1.35fr);
  gap:14px 18px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(159,41,38,.13);
  border-radius:16px;
  background:rgba(255,255,255,.58);
}

.home2-event-info strong{
  display:block;
  color:var(--forest-dark,#761d1b);
  font-size:15px;
  line-height:1.3;
}

.home2-event-info span{
  display:block;
  margin-top:5px;
  color:var(--muted,#746a66);
  font-size:13px;
  font-weight:700;
}

.home2-attendance-form{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto;
  gap:9px;
  align-items:center;
}

.home2-attendance-input{
  width:100%;
  min-height:44px;
  padding:10px 13px;
  border:1px solid #dfd1cb;
  border-radius:12px;
  background:#fff;
  color:var(--ink,#342826);
  font:inherit;
  outline:none;
}

.home2-attendance-input:focus{
  border-color:var(--forest,#9f2926);
  box-shadow:0 0 0 3px rgba(159,41,38,.08);
}

.home2-attendance-form button{
  min-height:44px;
  padding:10px 16px;
  white-space:nowrap;
  border-radius:12px;
  background:linear-gradient(135deg,#a62522,#8c1f1d);
  color:#fff;
}

.home2-attendance-form button:disabled,
.home2-attendance-input:disabled{
  opacity:.58;
  cursor:wait;
}

.home2-attendance-result{
  grid-column:1 / -1;
  min-height:0;
  margin-top:-4px;
  padding-left:2px;
  font-size:12px;
  font-weight:800;
}

.home2-attendance-result:empty{display:none}
.home2-attendance-result.success{color:#24734a}
.home2-attendance-result.pending{color:#8a671d}
.home2-attendance-result.error{color:#9f2926}

@media(max-width:760px){
  .home2-event-row{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }

  .home2-attendance-form{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .home2-attendance-form button{
    padding-left:12px;
    padding-right:12px;
    font-size:12px;
  }
}

@media(max-width:430px){
  .home2-attendance-form{
    grid-template-columns:1fr;
  }

  .home2-attendance-form button{
    width:100%;
  }
}

/* =========================================================
   HOME2 FAST LOADING
   Secondary cards are not painted until deferred content loads.
   ========================================================= */
.home2-deferred{
  content-visibility:auto;
  contain-intrinsic-size:1px 220px;
  opacity:.001;
  pointer-events:none;
}

.home2-events-card{
  content-visibility:auto;
  contain-intrinsic-size:1px 170px;
}

/* Reduce initial media rendering cost */
.home-media-item img,
.home-media-item video{
  content-visibility:auto;
}

/* Keep current events visually prioritized */
#home2CurrentEventsCard{
  order:2;
}
.home-media-card{
  order:3;
}
