@charset "utf-8";

/* ==========================================================================
   Modern Cafe Layout CSS (2025–2026 style)
   Clean • Minimal • Smooth • Card-based • Glassmorphism touch
   ========================================================================== */

:root {
  --bg:        #0f0f11;
  --surface:   #16181d;
  --surface-2: #1e2027;
  --text:      #e0e0e3;
  --text-sec:  #a0a0ad;
  --accent:    #ff3b5c;     /* 메인 포인트 컬러 */
  --accent-soft: #ff5a77;
  --border:    #2a2d38;
  --shadow-sm: 0 4px 12px rgba(0,0,0,0.28);
  --shadow-md: 0 8px 32px rgba(0,0,0,0.35);
  --radius:    12px;
  --transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Reset & Base */
.cafe_img {
  display: block;
  float: left;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
  margin: 0 12px 8px 0;
  box-shadow: var(--shadow-sm);
}

/* ── 메인 네비게이션 메뉴 ── */
#cafe_menu {
  position: relative;
  margin-bottom: 1.5rem;
}

#cafe_menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

#cafe_menu ul li {
  flex: 1 1 auto;
  min-width: 110px;
  background: var(--surface);
  border-radius: var(--radius);
  border-bottom: 3px solid transparent;
  overflow: hidden;
  transition: var(--transition);
}

#cafe_menu ul li:hover,
#cafe_menu ul li:focus-within {
  background: var(--surface-2);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-bottom-color: var(--accent);
}

#cafe_menu ul li a {
  display: block;
  padding: 0.9rem 1rem;
  color: var(--text);
  font-weight: 500;
  text-decoration: none;
  transition: var(--transition);
}

#cafe_menu ul li:hover a {
  color: white;
}

#cafe_menu ul .sell {
  background: linear-gradient(135deg, #ff9500, #ff6b00);
  color: white;
  font-weight: 600;
}

/* ── 카페 스토리 영역 ── */
#cf_main_cafestory {
  margin: 0 auto 1.5rem;
  border: none;
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

.cf_main_cafestory_sub {
  padding: 1rem 1.25rem;
  background: linear-gradient(to right, #1e2027, #252830);
  color: white;
  font-size: 1.05rem;
  font-weight: 600;
}

.cf_main_cafestory_sub a {
  color: inherit;
  text-decoration: none;
}

.cf_main_cafestory_sub a:hover {
  color: var(--accent-soft);
}

.cafe_story_today {
  float: left;
  width: 58%;
  padding: 1.25rem;
  background: var(--surface-2);
  border-radius: var(--radius);
}

.cafe_story_today img {
  float: left;
  width: 240px;
  height: 180px;
  object-fit: cover;
  border-radius: 10px;
  margin-right: 1.25rem;
  box-shadow: var(--shadow-sm);
}

.cafe_story_today_small {
  float: right;
  width: 38%;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--border);
}

.cafe_story_today_small img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  border-radius: 8px;
  margin-right: 1rem;
}

/* ── 최근 개설 카페 테이블 ── */
#cf_new {
  margin: 2rem 0 3rem;
}

.newtable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.75rem;
}

.newtable td {
  padding: 0.9rem 1rem;
  background: var(--surface);
  border-radius: var(--radius);
  vertical-align: middle;
}

.newtable .cafe_imgs img {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
}

.newtable .ca_new_sub a {
  color: var(--accent-soft);
  font-weight: 600;
  text-decoration: none;
}

.newtable .ca_new_sub a:hover {
  color: var(--accent);
  text-decoration: underline;
}

.index_new {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.6rem 1.2rem;
  background: var(--accent);
  color: white;
  font-weight: 600;
  border-radius: 10px;
}

/* ── 하단 최신글 영역 ── */
#left_bottom_latest,
#right_bottom_latest {
  width: 49%;
  float: left;
}

#left_bottom_latest .cafe_latest_list {
  padding: 1rem 0;
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}

#left_bottom_latest .cafe_latest_list:hover {
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
}

#left_bottom_latest a {
  color: var(--text-sec);
  text-decoration: none;
}

#left_bottom_latest a:hover {
  color: var(--text);
}

/* ── 이미지형 최신글 ── */
#right_bottom_latest .imglatest {
  border: none;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}

#right_bottom_latest .imglatest:hover {
  transform: scale(1.03);
  box-shadow: var(--shadow-md);
}

/* ── 검색 영역 ── */
#schall {
  padding: 1.5rem 0;
  text-align: center;
}

#schall_stx {
  width: 280px;
  height: 44px;
  padding: 0 1rem;
  border: 1px solid var(--border);
  border-radius: 999px 0 0 999px;
  background: var(--surface-2);
  color: var(--text);
  font-size: 1rem;
}

#schall_submit {
  height: 44px;
  padding: 0 1.5rem;
  margin-left: -1px;
  border: 1px solid var(--border);
  border-radius: 0 999px 999px 0;
  background: var(--accent);
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}

#schall_submit:hover {
  background: var(--accent-soft);
}

/* ── 탭 메뉴 (mycafe 등) ── */
#project_tabs ul {
  display: flex;
  border-bottom: 2px solid var(--border);
}

#project_tabs ul li {
  flex: 1;
  text-align: center;
  padding: 1rem 0;
  color: var(--text-sec);
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
}

#project_tabs ul li.tm1 {
  color: var(--accent);
  border-bottom: 4px solid var(--accent);
}

/* 반응형 대응용 미디어 쿼리 */
@media (max-width: 1240px) {
  .cafe_story_today { width: 100%; float: none; margin-bottom: 1.5rem; }
  .cafe_story_today_small { width: 100%; float: none; }
  #left_bottom_latest, #right_bottom_latest { width: 100%; float: none; margin-bottom: 2rem; }
}

@media (max-width: 680px) {
  #cafe_menu ul li { min-width: 48%; }
}