/* ===================================================
   Detail Page (.dt-page) - Dark Theme
   =================================================== */

/* --- Swiper --- */
.dt-page .swiper-slide img { width:100%; height:280px; object-fit:cover; display:block; }
.dt-page .swiper-pagination-bullet { background:#fff; opacity:.5; }
.dt-page .swiper-pagination-bullet-active { opacity:1; background:var(--primary); }

/* --- Fixed Header --- */
.dt-page .dt-header {
	position:fixed; top:0; left:0; right:0;
	display:flex; align-items:center; justify-content:space-between;
	padding:8px 16px;
	z-index:100;
	backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
	background:rgba(10,10,15,.7);
	max-width:750px; margin:0 auto;
}
.dt-page .dt-header-btn {
	display:flex; align-items:center; justify-content:center;
	width:36px; height:36px;
	border-radius:50%;
	background:rgba(34,34,46,.9);
	border:1px solid rgba(255,255,255,.06);
}
.dt-page .dt-header-btn img { filter:invert(1); }

/* --- Image Carousel --- */
.dt-page .shopImg_area { padding-top:56px; }

/* --- Shop Info Section --- */
.dt-page .dt-shop-info {
	margin-top:-20px; z-index:10;
	background:var(--bg-card);
	padding:24px 16px 16px;
	position:relative;
	border-radius:16px 16px 0 0;
}
.dt-page .dt-shop-dong { display:block; font-size:0.85rem; color:#22D3EE !important; font-weight:600; margin-bottom:4px; }
.dt-page .dt-shop-name { font-size:1.3rem; color:#F1F5F9; font-weight:700; line-height:1.3; }
.dt-page .dt-shop-score { display:flex; align-items:center; gap:8px; margin-bottom:12px; font-size:0.88rem; color:#64748B; font-weight:600; }
.dt-page .dt-shop-score .dt-review-cnt { font-size:0.8rem; color:#8892A8; font-weight:400; }

/* --- Info Rows --- */
.dt-page .dt-info-row {
	display:flex; align-items:flex-start; gap:8px;
	padding:8px 0;
	font-size:0.85rem; color:#64748B;
	border-bottom:1px solid rgba(255,255,255,.06);
}
.dt-page .dt-info-row:last-child { border-bottom:none; }
.dt-page .dt-info-label { flex-shrink:0; width:80px; font-size:0.78rem; font-weight:600; color:#6c757d; }
.dt-page .dt-info-value { flex-grow:1; color:#CBD5E1; }
.dt-page .viet_Mshop_icon { display:inline-flex; align-items:center; gap:4px; }
.dt-page .app_title { font-size:0.82rem; color:var(--text-secondary); }

/* --- Shop Welcome --- */
.dt-page .shop_welcome_t { font-size:0.9rem; color:#F1F5F9; font-weight:700; margin-top:24px; margin-bottom:8px; }
.dt-page .shop_welcome { font-size:0.82rem; color:#8892A8; line-height:1.7; background:var(--bg-elevated); border-radius:10px; padding:12px; }

/* --- Section Divider --- */
.dt-page .detail_middle_line { height:8px; background:var(--bg-dark) !important; }

/* --- Section Common --- */
.dt-page .detail_contents { background:var(--bg-card) !important; }
.dt-page .detail_contents_body { background:var(--bg-card) !important; padding:24px 16px; }
.dt-page .shop_sub_title { font-size:1.0rem; color:#F1F5F9; font-weight:700; margin-bottom:12px; }
.dt-page .shop_sub_title .dt-accent { color:#A78BFA; font-weight:700; }

/* --- Day/Night Time Info --- */
.dt-page .dt-daynight-info { font-size:0.8rem; color:#8892A8; background:var(--bg-elevated); line-height:1.6; border-radius:8px; padding:12px; margin-bottom:12px; }

/* --- Course Box --- */
.dt-page .n_course_box { width:100%; border-radius:16px; overflow:hidden; border:1px solid rgba(167,139,250,.15); background:var(--bg-card); }
.dt-page .n_course_title { background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(34,211,238,.08)); color:#F1F5F9; padding:14px 18px; font-size:1.05rem; font-weight:700; border-bottom:1px solid rgba(167,139,250,.12); letter-spacing:-.01em; }
.dt-page .n_course_title p { color:#94a3b8; margin:5px 0 0; font-size:0.88rem; font-weight:400; }
.dt-page .n_course_item { padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.04); }
.dt-page .n_course_item:last-child { border-bottom:none; }
.dt-page .n_course_time { font-size:1rem; color:#E2E8F0; font-weight:600; margin-bottom:8px; }
.dt-page .n_course_time em { color:#64748B; font-style:normal; font-size:0.92rem; }
.dt-page .n_course_right { width:100%; }

/* --- Price List --- */
.dt-page ul.dayNight { list-style:none; display:flex; gap:10px; flex-wrap:wrap; padding:0; margin:0; }
.dt-page li.c_day { flex:1; min-width:0; background:rgba(251,146,60,.06); border:1px solid rgba(251,146,60,.15); border-radius:12px; padding:12px 14px; text-align:right; }
.dt-page .c_day_1 { display:inline-block; font-size:0.82rem; font-weight:700; color:#A78BFA; background:rgba(167,139,250,.12); padding:3px 10px; border-radius:6px; margin-right:8px; }
.dt-page .c_day_2 { font-size:0.88rem; color:#94a3b8; margin-bottom:4px; }
.dt-page .c_day_2 em { text-decoration:line-through; font-style:normal; }
.dt-page .c_percent { color:#F43F5E; font-weight:800; font-size:1rem; margin-right:4px; }
.dt-page .c_day_3 { font-size:1.35rem; font-weight:800; color:#FB923C; letter-spacing:-.02em; }

/* --- Location --- */
.dt-page .shop_adress { font-size:0.85rem; color:#475569; line-height:1.6; }
.dt-page .shop_adress_map { width:100%; height:180px; }
.dt-page em.addr_copy { display:inline-block; font-size:0.72rem; font-style:normal; color:var(--primary); font-weight:600; cursor:pointer; margin-left:6px; padding:2px 8px; background:rgba(167,139,250,.1); border-radius:4px; }

/* --- Reviews --- */
.dt-page .s_star_wrap { margin-bottom:6px; }
.dt-page .review_contents { font-size:0.85rem; color:var(--text-secondary); line-height:1.6; white-space:pre-line; }
.dt-page .review_member_info { margin-top:6px; font-size:0.75rem; color:var(--text-muted); }
.dt-page .review_member_info em { font-style:normal; }
.dt-page .dt-review-more { background:var(--bg-elevated); color:#A78BFA; font-size:0.85rem; cursor:pointer; border-radius:10px; padding:12px; text-align:center; font-weight:600; }
.dt-page .dt-review-more label { cursor:pointer; }

/* --- Shop Notice --- */
.dt-page .dt-shop-notice { font-size:0.82rem; color:#8892A8; line-height:1.7; padding-bottom:100px; }

/* --- Hide bottom nav on detail page --- */
.dt-page ~ #bottom_area, .dt-page + #bottom_area { display:none !important; }
body:has(.dt-page) #bottom_area { display:none !important; }

/* --- CTA Fixed Button --- */
.dt-page .dt-cta-fixed { position:fixed; bottom:0; left:0; right:0; z-index:999; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); max-width:750px; margin:0 auto; background:linear-gradient(to top, rgba(13,13,18,0.95) 60%, transparent); }
.dt-page .dt-cta-btn { cursor:pointer; background:linear-gradient(135deg,#A78BFA 0%,#8B5CF6 100%); box-shadow:0 4px 20px rgba(167,139,250,.4); border-radius:10px; padding:12px; text-align:center; }
.dt-page .dt-cta-btn .callSend { color:#fff; font-weight:700; font-size:1.0rem; letter-spacing:.02em; }

/* --- Closed Overlay --- */
.dt-page .dt-closed-overlay { width:100%; height:100vh; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); z-index:9999; position:fixed; top:0; left:0; display:flex; align-items:center; justify-content:center; }
.dt-page .dt-closed-box { max-width:400px; background:var(--bg-card); border:1px solid var(--border-dark); border-radius:16px; padding:24px; margin:0 16px; box-shadow:0 8px 32px rgba(0,0,0,.4); }
.dt-page .dt-closed-title { text-align:center; font-weight:700; margin-bottom:12px; font-size:1.0rem; color:#F1F5F9; }
.dt-page .dt-closed-desc { text-align:center; margin-bottom:12px; font-size:0.88rem; color:#94A3B8; }
.dt-page .dt-closed-link { display:block; text-align:center; color:#fff; text-decoration:none; font-weight:700; border-radius:10px; padding:12px; background:linear-gradient(135deg,#6366F1 0%,#8B5CF6 100%); font-size:0.92rem; }
.dt-page .dt-closed-info { margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.06); font-size:0.8rem; color:#64748B; line-height:1.7; }
.dt-page .dt-closed-info b { color:#475569; }
