/* ====== Full site styles (compact, consistent) ====== */

:root{
  --bg:#f0f0f0;
  --card-w:150px;
  --container-w:680px;
  --lav:#f3e8ff; /* subtle lavender */
  --muted:#666;
  --accent1:#8e44ad;
  --accent2:#6c5ce7;
}

/* body / outer */
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:#333;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

/* central box */
.container{
  width:90%;
  max-width:var(--container-w);
  background:#fff;
  padding:26px 30px;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
}

/* titles */
h1{ font-size:2.6rem; margin:6px 0; }
p{ margin:4px 0; font-size:1rem; color:#333; }

/* BLUR IMAGES row */
.blur-images{ display:flex; gap:10px; justify-content:center; }
.blur-images img{ width:var(--card-w); height:auto; border-radius:12px; }

/* INFO BOX - subtle lavender centered text */
.info-box{
  background:var(--lav);
  border-radius:12px;
  padding:14px 18px;
  max-width:470px;
  width:100%;
  box-shadow:0 4px 10px rgba(0,0,0,0.04);
  text-align:center;
}
.info-box h3{ margin:10px 0 6px; font-size:1.05rem; }
.pull-list{ list-style:none; padding:0; margin:0; color:#333; }
.pull-list li{ margin:4px 0; font-size:0.98rem; }
.pull-list .muted{ color:var(--muted); font-style:italic; font-size:0.9rem; }

/* inputs & buttons */
input[type="text"], input[type="password"]{
  width:220px;
  padding:10px;
  border-radius:10px;
  border:1px solid #ccc;
  text-align:center;
  font-size:1rem;
}
button{
  padding:10px 32px;
  border-radius:12px;
  border:none;
  background: linear-gradient(135deg,var(--accent1),var(--accent2));
  color:#fff;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(0,0,0,0.12);
  transition:transform .12s ease, box-shadow .12s ease;
}
button:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(0,0,0,0.14); }

/* admin text-link */
.admin-link{ margin-top:8px; color:#333; text-decoration:underline; }

/* photo container (reveal) & card elements */
.photo-container{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin:8px 0 10px; }

/* card wrapper with 3D flip */
.card{ width:var(--card-w); height:225px; perspective:1000px; }
.card-inner{
  width:100%; height:100%;
  position:relative;
  transition: transform .8s;
  transform-style:preserve-3d;
}
.card.flipped .card-inner{ transform:rotateY(180deg); }

/* faces */
.card-front, .card-back{
  position:absolute; inset:0;
  border-radius:12px;
  backface-visibility:hidden;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,0.12);
}
.card-front img, .card-back img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.card-back{ transform:rotateY(0deg); background:#eee; }
.card-front{ transform:rotateY(180deg); }

/* glow for SR/SSR (applied when card flips) */
@keyframes glowPulse {
  0%{ box-shadow:0 0 8px rgba(255,255,255,0.2); }
  50%{ box-shadow:0 0 28px rgba(255,230,150,0.8); }
  100%{ box-shadow:0 0 12px rgba(255,255,255,0.2); }
}
.card.glow .card-front, .card.glow .card-back{
  animation: glowPulse 1.6s infinite alternate;
}

/* small responsive tweaks */
@media (max-width:520px){
  .container{ padding:18px; }
  .blur-images img{ width:110px; }
  .card{ width:110px; height:165px; }
}

/* toast (temporary popup) */
.toast{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:24px;
  background:rgba(0,0,0,0.85);
  color:#fff;
  padding:10px 16px;
  border-radius:10px;
  font-weight:600;
  opacity:1;
  pointer-events:none;
  transition:opacity .4s ease;
  z-index:9999;
}
