body{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background-color:#f5f7fb;
}

.container-1024{
  max-width:1024px;
  margin:0 auto;
  width:100%;
}

.material-symbols-outlined{
  font-family: "Material Symbols Outlined";
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1;
  display:inline-block;
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* top */
.top-bar-wrapper{
  position: sticky;
  top: 0;
  z-index: 1000;
  transform: translateY(0);
  transition: transform 0.25s ease-out;
}
.top-bar-wrapper.hide{ transform: translateY(-100%); }

.site-header{
  background: linear-gradient(135deg, #005bbb, #00a3ff);
  color:#fff;
  padding: 0.75rem 0;
  width:100%;
}

.site-logo{ display:flex; align-items:center; gap:0.4rem; }
.logo-img{ height:26px; width:auto; display:block; }
.site-title-text{ font-weight:700; font-size:1.1rem; }
.menu-toggle{ border:none; background:transparent; color:#fff; font-size:1.4rem; }

.lottery-bar{
  background:#fff;
  border-bottom:1px solid #dde2ee;
  padding:0.5rem 0;
  width:100%;
}
.lottery-bar .container-1024{ padding:0 10px; }
.lottery-select{ max-width:220px; }

/* main layout */
.main-container{
  padding:1rem 0.75rem 5rem;
  max-width:1024px;
  margin:0 auto;
  width:100%;
}

.card{
  border-radius:0.75rem;
  border:1px solid #e1e5f0;
  box-shadow:0 4px 10px rgba(15,35,90,0.06);
}

/* =========================
   Side Menu (restore)
========================= */
.side-menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.45);
  display:none;
  z-index:1200;
}

.side-menu{
  position:fixed;
  top:0;
  left:0;
  width:300px;
  max-width:86vw;
  height:100%;
  background:#fff;
  transform:translateX(-105%);
  transition:transform .25s ease-out, box-shadow .25s ease-out;
  z-index:1300;
  display:flex;
  flex-direction:column;
  border-right:1px solid #e4e8f4;
}

.side-menu.open{
  transform:translateX(0);
  box-shadow:6px 0 20px rgba(0,0,0,.22);
}

.side-menu-header{
  padding:14px 16px;
  font-weight:800;
  font-size:1rem;
  color:#1f2a44;
  border-bottom:1px solid #e4e8f4;
}

.side-menu-body{
  padding:8px 8px 12px;
  overflow:auto;
}

.menu-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 10px;
  border-radius:10px;
  color:#1f2a44;
}

.menu-item:hover{
  background:#f3f6ff;
}

.menu-item-main{
  font-weight:700;
  font-size:.95rem;
}

.menu-toggle-box{
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d6dced;
  border-radius:8px;
  font-weight:900;
  color:#1f2a44;
  cursor:pointer;
  user-select:none;
  background:#fff;
}

.menu-toggle-box:hover{
  background:#f1f4fb;
}

.submenu{
  display:none;              /* ⭐ 이게 없으면 지금처럼 다 펼쳐져 보임 */
  margin:0 6px 8px 6px;
  padding:6px 6px 8px 6px;
  border-left:2px solid #e4e8f4;
}

.submenu a{
  display:block;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none !important;
  color:#33415c !important;  /* bootstrap 기본 링크색(파랑) 방지 */
  font-weight:600;
  font-size:.9rem;
}

.submenu a:hover{
  background:#f3f6ff;
}

.side-menu-footer{
  margin-top:auto;
  padding:12px 14px;
  border-top:1px solid #e4e8f4;
  display:flex;
  gap:10px;
  justify-content:flex-start;
}

.country-flag{
  width:38px;
  height:30px;
  border-radius:10px;
  border:1px solid #d6dced;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:#1f2a44;
  background:#fff;
}
