body {
      margin: 0;
      padding: 0;
      font-family: Arial, sans-serif;
      background: #f2f2f2;
      display: flex;
      flex-direction: column;
      min-height: 100vh;
    }

    .container {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      padding-top: 80px;
    }

    .logo {
      font-size: 58px;
      font-weight: bold;
      text-align: center;
      margin-top: 20px;
      margin-bottom: 60px;
    }
    .logo span:nth-child(1) { color: #ff00ff; }
    .logo span:nth-child(2) { color: black; }


	 /* ---------------------- List ÄÁÅÙÃ÷ ---------------------- */
    .container_w {
      width: 90%;
      max-width: 1200px;
      margin: 0 auto;
      padding-top: 80px;
      flex: 1;
    }

    .section-title {
      font-size: 24px;
      font-weight: bold;
      margin-left: 10px;
    }

    .section-sub {
      color: #777;
      font-size: 12px;
      margin-left: 10px;
      margin-bottom: 25px;
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 40px 20px;
      padding-bottom: 60px;
    }

    .item-box {
      background: #fff;
      padding-bottom: 10px;
    }

    .thumb {
      width: 100%;
      aspect-ratio: 1/1;
      background: #fafafa;
      border: 1px solid #ddd;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      color: #666;
    }

	.item-title {
      margin-top: 10px;
	  padding-left: 10px;
      font-size: 14px;
      font-weight: bold;
    }

    .item-hit {
      font-size: 11px;
      color: #555;
      margin-top: 4px;
    }

	.counter-box {
    padding: 20px;
    width: 250px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-size: 18px;
    font-weight: bold;
    margin: 50px auto;
    text-align: center;
  }

    .menu {
      display: flex;
      gap: 40px;
      flex-wrap: wrap;
      justify-content: center;
    }

    .menu-item {
      background: #e6e6e6;
      padding: 20px 40px;
      border-radius: 12px;
      font-size: 20px;
      font-weight: bold;
      cursor: pointer;
      transition: 0.2s;
    }

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

	/* ---------------------- ÁÂÃø ¸Þ´º ¹öÆ° ---------------------- */
    .side-menu-btn {
      position: fixed;
      top: 140px;
      left: 0;
      width: 60px;
      height: 60px;
      background: #ddd;
      border-radius: 0 10px 10px 0;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 1000;
      font-weight: bold;
    }

    /* ---------------------- ½½¶óÀÌµå ¸Þ´º (¿À¸¥ÂÊÀ¸·Î ¹Ð·Á ³ª¿È) ---------------------- */
    .side-menu {
      position: fixed;
      top: 200px;
      left: 0;
      width: 60px; /* ±âº»Àº ¹öÆ° ³Êºñ */
      height: auto;
      min-height: 300px;
      background: none;
      border-radius: 0 10px 10px 0;
      /* box-shadow: 2px 0 8px rgba(0,0,0,0.2); */
      transition: width 0.3s ease;
      overflow: hidden;
      z-index: 999;
    }

    .side-menu.open {
      width: 220px; /* ½½¶óÀÌµå È®Àå */
	  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
	  border-radius: 0 10px 10px 0;
    }

    .side-menu ul {
      list-style: none;
      padding: 0;
      margin: 0;
      margin-top: 10px;
      opacity: 0;
      transition: opacity 0.25s;
    }

    .side-menu.open ul {
      opacity: 1;
    }

    .side-menu li {
      padding: 18px 20px;
      border-bottom: 1px solid #eee;
      font-size: 18px;
      cursor: pointer;
    }

    .side-menu li:hover {
      background: #f2f2f2;
    }

/* ---------------- Detail ¿µ¿ª ---------------- */
    .container_d {
      width: 92%;
      max-width: 1300px;
      margin: 0 auto;
      padding-top: 80px;
      flex: 1;
    }

	/* Á¦¸ñ¿µ¿ª */
    .title-row {
      display: flex;
      justify-content: space-between;
      margin-top: 10px;
      margin-bottom: 25px;
      align-items: center;
    }

    .page-title {
      font-size: 36px;
      font-weight: bold;
    }

    .right-title-info {
      text-align: right;
      font-size: 13px;
      font-weight: bold;
    }

    .right-title-info div:last-child {
      margin-top: 3px;
      font-size: 22px;
    }

    /* Áß¾Ó ·¹ÀÌ¾Æ¿ô 2´Ü ±¸¼º */
    .content-wrap {
      display: grid;
      grid-template-columns: 1fr 320px;
      gap: 40px;
      margin-bottom: 40px;
    }

    .card { 
		display: flex; flex-direction: column; 
		padding-bottom: 30px;
	}

/* ÀÌ¹ÌÁö ¹Ú½º */
	.image-box {
		width: 100%;
		aspect-ratio: 1 / 1;
		position: relative;
		background: #fff;
		border: 1px solid #ccc;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		}
	.image-box img {
		width: 100%;
		height: 100%;
		object-fit: contain; /* ÀÌ¹ÌÁö ºñÀ² À¯Áö + Â©¸² ¹æÁö */
	}
	.image-box::after { display:none; }.image-box::after {
		content: 'image';
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		font-size: 13px;
		color: #555;
	}

.card-title { font-weight: bold; margin-top: 12px; }
.hit { font-size: 11px; color: #777; margin-top: 6px; }

	/* ¿ìÃø »ó¼¼ Á¤º¸ */
    .detail-box {
      font-size: 14px;
    }

    .hit-box {
      background: #ddd;
      padding: 8px;
      font-size: 13px;
      margin-bottom: 12px;
    }

    .detail-date {
      font-size: 13px;
      text-align: right;
      margin-bottom: 20px;
    }

    .detail-list div {
      padding: 6px 0;
      font-size: 13px;
    }

	#topBtn {
    position: fixed;
  bottom: 100px;        /* ? footer À§·Î ÀÌµ¿ */
  right: 40px;
  padding: 10px 15px;
  font-size: 14px;
  border: none;
  background: #333;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
  display: none;
  z-index: 10000;       /* ? footer Àý´ë À§! */
}

  #topBtn:hover {
    background: #555;
  }

 /* ¸Þ´º ÀüÃ¼´Â ¼¼·Î·Î ÁÙ ³ª´® */
.menu {
  display: flex;
  flex-direction: column;
  gap: 24px;          /* ÁÙ °£°Ý */
  align-items: center;
  width: 100%;
}

/* °¢ ÁÙ(row)Àº °¡¿îµ¥ Á¤·Ä */
.menu-row {
  display: flex;
  justify-content: center;
  gap: 28px;          /* ¹öÆ° °£ °£°Ý */
  flex-wrap: nowrap;
  width: 100%;
}

/* ±âº» ¸Þ´º ¹öÆ° */
.menu-item {
  background: #e6e6e6;
  padding: 18px 32px;
  border-radius: 12px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  white-space: nowrap;
  transition: 0.2s;
}

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

	footer {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background: #dcdcdc;
		padding: 25px 60px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 14px;
		border-radius: 18px 18px 0 0;
		z-index: 999;
		box-sizing: border-box;
		}

	.footer-left { line-height: 1.4; }
	.footer-right { display: flex; gap: 40px; }

	/* ¸ð¹ÙÀÏ¿¡¼­´Â ÁÙ ³»¿¡¼­ °¨½ÎÁü Çã¿ë */
@media (max-width: 600px) {
  .menu-row {
    flex-wrap: wrap;
    gap: 14px;
  }
  .menu-item {
    padding: 14px 22px;
    font-size: 16px;
  }
}
    @media (max-width: 1200px) {
      .grid { grid-template-columns: repeat(4, 1fr); }
      .slide-menu { width: 640px; }
      .slide-menu.open { left: 0; }
	  .menu-item { padding: 12px 18px; font-size: 16px; }
    }
    @media (max-width: 900px) {
      .grid { grid-template-columns: repeat(3, 1fr); }
      header { font-size: 40px; }
    }
	@media (max-width: 600px) {
      header { font-size: 34px; }
      .grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
      .content { padding: 18px; margin: 10px; }
      .slide-menu { top: 150px; height: 70px; }
      .menu-toggle { top: 170px; }
	  .menu-item { padding: 12px 18px; font-size: 16px; }
      footer { margin: 18px; border-radius: 12px; }
    }

    a { text-decoration: none; color: inherit; }
    a:visited { color: inherit; }
    a:hover { text-decoration: none; }