body, html {
	background: #F3F5F6;
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: #1E2229;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden; /* body에는 스크롤 없음 */
	overflow-x: hidden;
	box-sizing: border-box;
}

* {
	box-sizing: border-box;
}

*, *::before, *::after {
	box-sizing: inherit;
}

body {
	font-size: clamp(14px, 2vw, 18px);
}

body, .new_wrapper {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

.responsive-text {
	font-size: min(5vw, 32px); /* 최대 32px까지만 */
}

:root {
  --vh: 100%;
}

.home_main_t {
	display: flex; justify-content: center; padding: 16px 0; color: black; font-size: clamp(14px, 2vw, 24px); font-family: Pretendard; font-weight: 400; line-height: clamp(19px, 2vw, 30px)
}

.home_main_tab_a {
	margin: 0 clamp(8px, 4vw, 32px);
	padding: clamp(4px, 1px, 16px);
	background: #F3F5F6;
	border-radius: 8px;
	outline-offset: -1px;
	display: flex;
	gap: 0;
}

.home_main_tab {
	flex: 1; height: clamp(32px, 4vw, 64px); padding: 0 clamp(8px, 2vw, 24px); border-radius: 6px; display: flex; justify-content: center; align-items: center
}

.home_main_tab div {
	text-align: center; color: #1E2229; font-size: clamp(13px, 2vw, 18px); font-family: Pretendard; font-weight: 600; line-height: clamp(16px, 2vw, 24px)
}

.home_content_a {
	flex: 1; overflow-y: auto; margin-bottom:70px;
}

.home_main_spot_a {
    margin: clamp(8px, 4vw, 32px);
    display: flex
;
    flex-direction: column;
    gap: clamp(8px, 2vw, 20px);
}

#spot .spot_a {
	display: flex; flex-direction: column; gap: clamp(8px, 2vw, 20px);
}

#spot .spot_a .search_a {
	display: flex; align-items: center; gap: clamp(4px, 2vw, 16px); padding: clamp(4px, 2vw, 12px) clamp(8px, 3vw, 20px); background: #F3F5F6; border-radius: clamp(10px, 5vw, 30px)
}

#home {
    margin: clamp(8px, 4vw, 32px);
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 2vw, 20px);
}

.adbox {
	width: 375px;
	min-height: 100vh;
	background: white;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	position: relative;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.topbar {
	width: 100%;
	height: 48px;
	background: white;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #eee;
	position: sticky;
	top: 0;
	z-index: 10;
}
.topbar-title {
	flex: 1;
	text-align: center;
	color: #1E2229;
	font-size: clamp(12px, 2vw, 18px);
	font-family: Pretendard;
	font-weight: 600;
	line-height: clamp(19px, 2vw, 25px);
}
.topbar-btn {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.topbar-btn.invisible {
	opacity: 0;
	pointer-events: none;
}
.form-wrap {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 24px 24px 70px 24px;
	overflow-y: auto;
}
#adEditForm {
	width:100%;
	display: flex;
	flex-direction: column;
	gap: clamp(8px, 2vw, 32px);
	flex: 0 0 auto;
}
.submit-btn-wrap {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 16px 0 24px 0;
	background: white;
	box-shadow: 0 -2px 8px rgba(0,0,0,0.01);
}
.btn {
	padding: clamp(8px, 2vw, 32px) clamp(12px, 3vw, 48px);
	border: none;
	border-radius: 8px;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 600;
	font-family: Pretendard, sans-serif;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	text-align: center;
}
.btn-primary {
	background: #0072E4;
	color: white;
	width: 343px;
}
.form-group {
	margin-bottom: 16px;
}
.form-label {
	display: block;
	color: #1E2229;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 600;
	margin-bottom: 8px;
}
.form-input {
	width: 100%;
	padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	font-size: clamp(12px, 2vw, 18px);
	font-family: Pretendard, sans-serif;
	box-sizing: border-box;
}
.form-input:focus {
	outline: none;
	border-color: #0072E4;
}
.form-select {
	width: 100%;
	padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	font-size: clamp(12px, 2vw, 18px);
	font-family: Pretendard, sans-serif;
	background-color: white;
	box-sizing: border-box;
}
.message {
	padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
	border-radius: 8px;
	margin-bottom: 16px;
	font-size: clamp(14px, 2vw, 20px);
}
.message.success {
	background: #D1FAE5;
	color: #065F46;
	border: 1px solid #A7F3D0;
}
.message.error {
	background: #FEE2E2;
	color: #991B1B;
	border: 1px solid #FCA5A5;
}




.tab-content {
	display: none !important;
}
.tab-content.active {
	display: block !important;
}
.tab-button {
	cursor: pointer;
	transition: all 0.3s ease;
}
.tab-button.active {
	background: white;
	outline: 1px #D8DDE2 solid;
	outline-offset: -1px;
}
.tab-button.active div {
	color: #1E2229;
}

.ad-card-title {
	font-size: clamp(16px, 2.5vw, 22px);
}

.comunity_top_area {
	display: flex; justify-content: space-between; align-items: center; width: 90%; margin: 0 auto;
	padding-top:10px; padding-bottom:10px;
}

.searchTxt {
	border:none;outline:none;width:100%;background:transparent;font-size: clamp(12px, 2vw, 20px);
}

.header-bar {
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: clamp(12px, 2vw, 18px);
	color: #000;
}
.time2 {
	flex: 1;
	text-align: center;
	color: #000;
	line-height: clamp(24px, 2vw, 42px);
}
.top-bar {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    border-bottom: 1px solid #ececec;
    background: #fff;
}
.top-bar-title {
	flex: 1;
	text-align: center;
	color: #1E2229;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 600;
}
.section {
    width: 100%;
    margin: 0 auto 24px auto;
    display: flex;
    flex-direction: column;
    --gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
}
.section-label {
	color: #1E2229;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 600;
}
.input-box, .tag-box, .content-box, .image-box {
	width: 100%;
	border-radius: 8px;
	border: 1px solid #E2E2E2;
	padding: clamp(8px, 2vw, 24px);
	background: #fff;
	color: #1E2229;
	box-sizing: border-box;
	font-size: clamp(12px, 2vw, 18px);
	line-height: clamp(16px, 2vw, 22px);
	font-family: Pretendard, sans-serif;
}

#like-btn {
	background:none;border:none;cursor:pointer;outline:none;display:flex;align-items:center;gap:4px;
}

.content-box {
	min-height: 120px;
	height: 180px;
	resize: vertical;
}
.button-submit {
	width: 100%;
	max-width: 343px;
	margin: 24px auto 0 auto;
	padding: 16px 0;
	background: #0072E4;
	color: #fff;
	border: none;
	border-radius: 8px;
	text-align: center;
	cursor: pointer;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 500;
}
.image-upload-row {
	--gap: clamp(4px, 1vw + 4px, 16px);
	display: flex;
	align-items: center;
	gap: var(--gap);
}
.image-icon {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	background: #A3A6AA;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.container {
	/*min-height: 100vh;*/
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #F3F5F6;
	position:relative;
}

.container2 {
	height: 100%;
	background: #F3F5F6;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	position:relative;
}

.container3 {
	height: 100%;
	margin: 0 auto;
	background: white;
	position:relative;
}

.status-bar, .title-bar {
	width: 100vw;
	max-width: 480px;
	margin: 0 auto;
	box-sizing: border-box;
	max-width: 100vw;
}
.status-bar {
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-left: clamp(8px, 5vw, 32px); padding-right: clamp(8px, 5vw, 32px);
}
.status-time {
	color: black;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 600;
	line-height: clamp(18px, 1.2vw + 1rem, 24px);
	margin-right: auto;
}
.title-bar {
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #E5E7EB;
	width: 376px;
}
.title-text {
	color: #1E2229;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 600;
	line-height: clamp(19px, 2vw, 25px);
}
.search-bar {
	width: 90%;
	/*max-width: 343px;*/
	margin: 16px 0 8px 0;
	background: white;
	box-shadow: 0px 4px 12px rgba(29, 34, 41, 0.04);
	border-radius: 20px;
	display: flex;
	align-items: center;
	--gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
	padding: clamp(8px, 1vw, 16px) clamp(12px, 2vw, 24px);
}
.search-icon {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	background: #999999;
	border-radius: 50%;
}
.search-placeholder {
	color: #B1B8C0;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 400;
	line-height: clamp(20px, 2vw, 32px);
}
.list-box {
    width: 90%;
    /*max-width: 370px;*/
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
    padding: 0;
    position: relative;
    flex: 1 1 auto;
}

.list-box2 {
    width: 90%;
    background: white;
    box-shadow: 0px 4px 12px rgba(29, 34, 41, 0.04);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    margin-bottom: 80px;
    padding: 0;
}

.list-item {
	display: flex;
	box-shadow: 0px 4px 12px rgba(29, 34, 41, 0.04);
	background: white;
	justify-content: space-between;
	align-items: center;
	padding: 12px;
	border-bottom: 1px #E5E7EB solid;
}
.item-info {
	display: flex;
	flex: 1; /* 왼쪽 영역 차지 */
	align-items: center;
	--gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
}
.item-num {
	width: clamp(16px, 5vw, 32px);
	text-align: center;
	color: #A3A6AA;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: 500;
}
.item-topic {
	width: clamp(32px, 8vw, 100px);
	text-align: center;
	color: #0072E4;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: 500;
}
.item-title {
	color: #1E2229;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: 500;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
	width: 100%;
}

.list-item svg {
	flex-shrink: 0;   /* 아이콘 크기 고정 */
	margin-left: 8px; /* 텍스트와 아이콘 사이 간격 */
}

.item-icon {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	background: #B1B8C0;
	border-radius: 4px;
}
.floating-btn {
	position: absolute;
	right: 24px;
	bottom: 80px;
	width: 48px;
	height: 48px;
	background: #0072E4;
	box-shadow: 0px 4px 8px rgba(29, 34, 41, 0.20);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 100;
}
.floating-icon {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	background: white;
	border-radius: 50%;
}

.status-bar2 {
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: clamp(12px, 2vw, 18px);
	color: #000;
}
.back-btn, .right-btn {
	background: none;
	border: none;
	font-size: clamp(1rem, 2vw, 1.5rem);
	color: #1E2229;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.title {
	font-weight: 600;
	font-size: clamp(14px, 2vw, 18px);
	color: #1E2229;
}
.post-content {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background:#ffffff;
}
.post-header {
    display: flex;
    justify-content: space-between;
    font-size: clamp(12px, 2vw, 18px);
    font-weight: 600;
    color: #1E2229;
}
.post-header .author {
    float: left;
}
.post-header .time {
    color: #A3A6AA;
    font-size: clamp(14px, 2vw, 20px);
    font-weight: 400;
    float: right;
}
.post-image {
	width: 100%;
	height: auto;

	background: #d9d9d9;
	display: block;
}
.post-text {
	font-size: clamp(12px, 2vw, 18px);
	line-height: 1.5;
	color: #1E2229;
}
.post-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.like {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.like-icon {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #B1B8C0;
	border-radius: 50%;
	color: #fff;
	font-size: clamp(1rem, 2vw, 1.5rem);
}

.like-icon2 {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	background: #0072E4;
	border-radius: 4px;
}

.like-count {
	color: #0072E4;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 500;
}

.like-count2 {
	color: #0072E4;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 500;
	line-height: clamp(20px, 2vw, 28px);
	margin-left: 6px; /* 좋아요 아이콘과 숫자 사이 여백 */
}

/* 댓글 섹션 */
.comments-section2 {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 2vw, 32px);
}

.comments-title {
	color: #1E2229;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 600;
	line-height: clamp(1.1, 1.2vw, 1.6);
}


.comment-item {
	display: flex;
	flex-direction: column;
	--gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
	padding-bottom:1rem;
}

.comment-header2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.comment-info {
	display: flex;
	align-items: center;
	gap: clamp(6px, 2vw, 20px);
}

.comment-author {
	color: #1E2229;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 600;
	line-height: clamp(1.1, 1.2vw, 1.6);
}

.comment-dot {
	width: 3px;
	height: 3px;
	background: #A3A6AA;
	border-radius: 50%;
}
.comment-time2 {
	color: #A3A6AA;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 400;
	line-height: clamp(1.1, 1.2vw, 1.6);
}
.comment-more {
	width: 18px;
	height: 18px;
	background: #A3A6AA;
	border-radius: 50%;
}
.comment-text2 {
	color: #1E2229;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 400;
	line-height: clamp(20px, 2vw, 28px);
}

/* 로그인 안내 */
.login-prompt {
	padding: clamp(10px, 5vw, 40px);
	text-align: center;
	background: #F8F9FA;
	border-radius: 8px;
	margin: 16px;
}
.login-prompt-text {
	color: #686E7B;
	font-size: clamp(14px, 2vw, 20px);
	margin-bottom: 12px;
}
.login-button {
	display: inline-block;
	padding: clamp(6px, 1vw, 16px) clamp(12px, 2vw, 32px);
	background: #0072E4;
	color: white;
	text-decoration: none;
	border-radius: 6px;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 500;
}

/* 댓글 입력 */
.comment-input-section {
	height: 72px;
	padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
	display: flex;
	--gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
}
.comment-input {
	flex: 1;
	padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
	background: #F3F5F6;
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	color: #A3A6AA;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 400;
	line-height: clamp(20px, 2vw, 28px);
	outline: none;
}
.comment-submit {
	padding: 0px clamp(12px, 3vw, 24px);
	background: #686E7B;
	border: none;
	border-radius: 8px;
	color: white;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 500;
	line-height: clamp(20px, 2vw, 28px);
	cursor: pointer;
}
.comment-submit:disabled {
	background: #A3A6AA;
	cursor: not-allowed;
}

/* 네비게이션 */
.navigation-section {
	display: flex;
	flex-direction: column;
}
.nav-divider {
	height: 8px;
	background: #F4F4F4;
	border-top: 1px solid #ECECEC;
}
.nav-items {
	padding: 8px 0;
	display: flex;
	flex-direction: column;
}
.nav-item {
	padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
	display: flex;
	align-items: center;
	gap: clamp(8px, 2vw, 24px);
	cursor: pointer;
}
.nav-arrow {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	background: #1E2229;
	border-radius: 4px;
}
.nav-text {
	color: #1E2229;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 400;
	line-height: clamp(20px, 2vw, 28px);
}

/* 에러 메시지 */
.error-message {
	color: #dc3545;
	font-size: clamp(14px, 2vw, 20px);
	margin-top: 8px;
	text-align: center;
}

/* 성공 메시지 */
.success-message {
	color: #28a745;
	font-size: clamp(14px, 2vw, 20px);
	margin-top: 8px;
	text-align: center;
}


.report-button {
	color: #0072E4;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 400;
	line-height: clamp(1.1, 1.2vw, 1.6);
	cursor: pointer;
}

.edit-btn {
	margin-left: auto;
	background: none;
	border: none;
	color: #0072e4;
	font-size: clamp(14px, 2vw, 20px);
	font-family: Pretendard;
	font-weight: 400;
}

.del-btn {
	background: none;
	border: none;
	color: #0072e4;
	font-size: clamp(14px, 2vw, 20px);
	font-family: Pretendard;
	font-weight: 400;
}

.report-btn {
	margin-left: auto;
	background: none;
	border: none;
	color: #0072e4;
	font-size: clamp(14px, 2vw, 20px);
	font-family: Pretendard;
	font-weight: 400;
}

.comment-report-btn {
	background: none;
	border: none;
	color: #0072e4;
	font-size: clamp(14px, 2vw, 20px);
	font-family: Pretendard;
	font-weight: 400;
}

.comments-section {
	padding: 1rem;
	border-top: 8px solid #f4f4f4;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background:#ffffff;
}
.comments-section h2 {
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 600;
	color: #1E2229;
	margin: 0 0 0.5rem 0;
}
.comment {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.comment-header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 600;
	color: #1E2229;
}

.comment-header .comment-report-btn {
	margin-left: auto;
}

.comment-header .dot {
	width: 3px;
	height: 3px;
	background: #a3a6aa;
	border-radius: 50%;
	display: inline-block;
}
.comment-header .comment-time {
	color: #A3A6AA;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 400;
}
.comment-text {
	font-size: clamp(12px, 2vw, 18px);
	color: #1E2229;
	font-weight: 400;
	line-height: 1.5;
	padding-bottom: 12px;
}
.comment-form {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
}
.comment-form input {
	width: 100%;
	box-sizing: border-box;
	flex: 1;
	padding: 0.75rem;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
	background: #f3f5f6;
	font-size: clamp(12px, 2vw, 18px);
}
.comment-form button {
	padding: 0.75rem 1rem;
	border-radius: 8px;
	background: #686e7b;
	color: #fff;
	border: none;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 500;
}
.post-navigation {
	border-top: 8px solid #f4f4f4;
	padding: 0.5rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: clamp(12px, 2vw, 18px);
	background:#ffffff;
}
.post-navigation > div {
	padding: 0.75rem 0;
	color: #1E2229;
}
.error-bar {
	width: 100%;
	background: #ffeaea;
	color: #d32f2f;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 600;
	text-align: center;
	padding: 12px 0;
	border-bottom: 1px solid #ffd6d6;
	margin-bottom: 0.5rem;
	letter-spacing: -0.5px;
}

#report-modal {
	display:none; position:fixed; z-index:9999; top:0; left:0; width:100vw; height:100vh; background:rgba(0,0,0,0.3); justify-content:center; align-items:center;
}

#report-modal .modal_a{
	width:420px; padding:24px; background:white; border-radius:16px; display:flex; flex-direction:column; gap:24px; position:relative;
}

#report-modal .modal_a .tit {
	font-size:20px; font-weight:700; text-align:center;
}

#report-modal .modal_a .msg {
	font-size: clamp(14px, 2vw, 18px); text-align:center;
}

#report-modal #report_reason {
	padding:12px; border-radius:8px; border:1px solid #E2E2E2; min-height:80px; resize:none;
}

#report-modal #report-form {
	display:flex; flex-direction:column; gap:16px;
}

#report-modal .btn_area {
	display:flex; gap:8px;
}

#report-modal .btn_area #report_edit_btn {
	flex:1; height:48px; background:#EE4747; color:white; border:none; border-radius:8px; font-size:15px; font-weight:700;
}

#report-modal .btn_area #report-cancel-btn {
	flex:1; height:48px; border-radius:8px; border:1px solid #0072E4; color:#0072E4; background:white; font-size:15px;
}

#report-complete-modal {
	display:none; position:fixed; z-index:10000; top:0; left:0; width:100vw; height:100vh; background:rgba(0,0,0,0.3); justify-content:center; align-items:center;
}

#report-complete-modal .modal_a {
	width:420px; padding:24px; background:white; border-radius:16px; display:flex; flex-direction:column; gap:16px; align-items:center;
}

#report-complete-modal .modal_a .tit {
	font-size:18px; font-weight:700; text-align:center;
}

#report-complete-modal .modal_a .msg {
	font-size:14px; color:#666; text-align:center;
}

#report-complete-ok {
	margin-top:8px; padding:10px 24px; background:#0072E4; color:white; border:none; border-radius:8px; font-size:15px; font-weight:600;
}

.comunity_add_area {
    min-height: 100vh;
    margin: 0 auto;
    width: 100%;
	position:relative;
	overflow:hidden;
}

#back_btn {
    display: flex;
    align-items: center;   /* 버튼 안에서 svg 수직 중앙 */
    justify-content: center;  /* 버튼 안에서 수평 중앙 */
    width: 28px;
    height: 28px;
    border: none;
    padding: 0;
    cursor: pointer;
	background:none;margin-right:8px;
}

.community-add-post-root form {
	flex:1;display:flex;flex-direction:column;justify-content:space-between;
	margin-block-end: 1em;
}

svg:not(:root) {
    overflow-clip-margin: content-box;
    overflow: hidden;
}

.community-add-post-root form .section2 {
	border: 1px solid #E5E7EB; border-radius: 8px; padding: 12px 0 12px 12px; margin-bottom: 16px;
}




.status-bar3 {
	width: 375px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: clamp(8px, 5vw, 32px); padding-right: clamp(8px, 5vw, 32px);
}

.header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 60px; /* 최소 높이만 유지 */
	background: #ffffff;
}

.header .home {
	width: clamp(40px, 10vw, 100px); height: clamp(40px, 10vw, 100px); display: flex; justify-content: center; align-items: center; cursor: pointer;
}

.header .center {
	text-align: center; color: #1E2229; font-size: clamp(14px, 2vw, 22px); font-family: Pretendard; font-weight: 500; line-height: clamp(17px, 2.5vw, 22px);
	
	/* 텍스트 영역 벗어나지 않게 처리 */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.header .home2 {
	width: clamp(40px, 10vw, 100px); height: clamp(40px, 10vw, 100px); padding: clamp(4px, 1vw, 12px); display: flex; justify-content: center; align-items: center; cursor: pointer;
}

.header .home2 .right {
	width: clamp(24px, 2vw, 32px); height: clamp(24px, 2vw, 32px); position: relative; overflow: hidden;
}

.header .home2 .right2 {
	width: clamp(24px, 2vw, 32px); height: clamp(24px, 2vw, 32px); position: absolute;
}


.header3 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 60px; /* 최소 높이만 유지 */
	background: #ffffff;
}

.back-button {
	width: clamp(40px, 10vw, 120px); height: clamp(40px, 10vw, 120px);
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.back-arrow {
	width: 7.29px;
	height: 14.58px;
	border: 1.80px #1E2229 solid;
	transform: rotate(180deg);
}

.title2 {
	text-align: center;
	color: #1E2229;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: 600;
	line-height: clamp(19px, 2vw, 25px);
}

.title3 {
	text-align: center;
	color: #1E2229;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: 600;
	line-height: clamp(19px, 2vw, 25px);
	flex: 1;
}

.search-bar2 {
	margin: 16px;
	padding: clamp(8px, 1vw, 16px) clamp(12px, 2vw, 24px);
	background: white;
	box-shadow: 0px 4px 12px rgba(29.70, 34.39, 41.44, 0.04);
	border-radius: 20px;
	display: flex;
	align-items: center;
	--gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
}

.search-input {
	color: #1E2229;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 400;
	line-height: clamp(20px, 2vw, 32px);
	border: none;
	outline: none;
	background: transparent;
	flex: 1;
}

.search-input::placeholder {
	color: #B1B8C0;
}

.news-list {
	margin: 0 16px;
	background: white;
	box-shadow: 0px 4px 12px rgba(29.70, 34.39, 41.44, 0.04);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
}
.news-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: clamp(8px, 2vw, 16px) clamp(12px, 3vw, 24px);
    border-bottom: 1px solid #eee;
}
.news-item:last-child {
	border-bottom: none;
}
.news-item:hover {
	background-color: #f8f9fa;
}
.news-content {
    display: flex;
    align-items: center;
    flex: 1;
	--gap: clamp(4px, 1vw + 4px, 16px);
	gap: var(--gap);
    min-width: 0; /* 중요 */
}

.news-content2 {
	color: #1E2229;
	font-weight: 400;
	line-height: clamp(20px, 2vw, 28px);
}

/* 좋아요와 신고 */
.action-row {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.like-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.like-group {
	display: flex;
	align-items: center;
	gap: 6px;
}

.news-number {
	width: clamp(16px, 5vw, 32px);
	text-align: center;
	color: #A3A6AA;
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 500;
	line-height: clamp(20px, 2vw, 28px);
}
.news-category {
    /* width: 32px; */
    min-width: 36px;
    text-align: center;
    color: #0072E4;
    font-size: clamp(12px, 2vw, 18px);
    font-weight: 500;
    line-height: clamp(20px, 2vw, 28px);
}
.news-title {
    color: #1E2229;
    font-size: clamp(12px, 2vw, 18px);
    font-weight: 500;
    line-height: clamp(20px, 2vw, 28px);
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
    min-width: 0; /* 중요 */
}

.news-title2 {
	color: #1E2229;
	font-weight: 600;
	line-height: clamp(20px, 2vw, 28px);
	flex: 1;
}

.time-ago {
	color: #A3A6AA;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: 400;
	line-height: clamp(1.1, 1.2vw, 1.6);
	margin-left: 16px;
}

.news-image {
	max-width: 100%;
	height: auto;
	object-fit: cover;
	background: #D9D9D9;
}

.arrow-icon {
	width: clamp(16px, 5vw, 32px);
	height: clamp(16px, 5vw, 32px);
	position: relative;
	flex-shrink: 0;
	margin-left: 8px;
	align-items: center;
    justify-content: center;

}

.arrow {
	width: 7.78px;
	height: 12.73px;
	background: #B1B8C0;
	position: absolute;
	left: 8.22px;
	top: 5.64px;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* 메인 콘텐츠 영역 */
.main-content {
	padding: clamp(8px, 2vw, 32px);
	padding-bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: clamp(8px, 2vw, 32px);
}

.main2-content {
	flex: 1;
	overflow-y: auto;
	background: #F3F5F6;
	padding-bottom: 80px;
}

.main2-content .total_area {
    width: 90%; 
	padding: clamp(8px, 2vw, 24px); 
	margin: 20px auto 0 auto; 
	background: white; 
	box-shadow: 0px 4px 12px rgba(29.70, 34.39, 41.44, 0.04); 
	border-radius: 8px; outline: 1px #E5E7EB solid; 
	outline-offset: -1px; 
	display: flex; 
	justify-content: space-between; 
	align-items: center;
}

.main2-content .total_area .total_area_a {
    text-align: center; 
	color: #1E2229; 
	font-size: clamp(14px, 2vw, 18px); 
	font-family: Pretendard; 
	font-weight: 600; 
	line-height: clamp(20px, 2vw, 32px);
}

.main2-content .list_area {
	width: 100%; display: flex; flex-direction: column; gap: 0;
}

.main2-content .list_area .date_area {
	width: 90%; margin: 0px auto;  color: #686E7B; font-size: clamp(14px, 2vw, 20px); font-family: Pretendard; font-weight: 400; line-height: clamp(20px, 2vw, 32px); padding-top:30px;
}

.main2-content .list_area .data_area {
	width: 90%; 
	padding: clamp(8px, 2vw, 24px); 
	margin: 0px auto; margin-top:20px; 
	background: white; 
	box-shadow: 0px 4px 12px rgba(29.70, 34.39, 41.44, 0.04); 
	border-radius: 8px; 
	outline: 1px #E5E7EB solid; 
	outline-offset: -1px; 
	display: flex; 
	flex-direction: column; 
	gap: clamp(4px, 2vw, 16px);
}

/* 카테고리 배지 */
.category-badge {
	display: inline-flex;
	padding: clamp(8px, 1vw, 16px) clamp(12px, 2vw, 24px);
	background: #F3F5F6;
	border-radius: 17px;
	color: #1E2229;
	font-weight: 500;
	line-height: clamp(1.1, 1.2vw, 1.6);
	align-self: flex-start;
}

/* 제목과 시간 */
.title-time-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.new_wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;         /* 또는 100% */
	-webkit-overflow-scrolling: touch; /* iOS 부드러운 스크롤 */
	background:#ffffff;
	position: relative;
	overflow:hidden;
}

/** 하단 레이아웃 - bottom_navigation **/
.bottom-nav {
	position: absolute;  /* .new_wrapper 기준 */
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: 70px;
	background-color: #fff;
	border-top: 1px solid #ccc;
	display: flex;
	justify-content: space-around;
	align-items: center;
	z-index: 100;
}

.bottom-nav a {
	flex: 1;
	text-align: center;
	text-decoration: none;
	color: #666;
	padding: 5px 0;
	transition: color 0.3s;
}

.bottom-nav a.active {
    color: #007bff;
    font-weight: bold;
    /* border-bottom: 2px solid #007bff; */
}

.bottom-nav a.inactive:hover {
    color: #333;
}

.card {
	padding: 1rem; /* 16px */
	font-size: clamp(1rem, 2vw, 1.5rem);
}

.ad-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ad-card img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.region-button {
	font-size: clamp(1rem, 2vw, 1.5rem);
}

.stats-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	gap: clamp(8px, 2vw, 24px);
}

img.responsive {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.bottom-sheet {
	position: fixed;
	top: 10%;
	left: 50%;
	transform: translateX(-50%);
	width:100%;
	max-width: 750px;
	background: white;
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
	transition: bottom 0.3s ease;
	z-index: 1000;
	max-height: 80vh;
	overflow-y: auto;
}

.bottom-sheet.show {
	bottom: 0;
}

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 999;
	display: none;
}

.overlay.show {
	display: block;
}

.ad-stats {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(8px, 2vw, 32px);
	padding: 0px 20px 20px 20px;
	justify-content: center;
}

.ad-stat-item {
	flex: 1 1 calc(33.333% - 30px);
	background: white;
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	box-shadow: 0px 4px 12px rgba(29.7, 34.39, 41.44, 0.04);
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 16px 0;
}

.ad-stat-item img {
	width: 48px;
	height: auto;
	object-fit: contain;
	margin-bottom: 8px;
}

.ad-stat-item .label {
	font-size: clamp(12px, 2vw, 18px);
	font-weight: 400;
	color: #1E2229;
	line-height: clamp(20px, 2vw, 28px);
}

.ad-stat-item .value {
	font-size: clamp(16px, 2vw, 24px);
	font-weight: 600;
	color: #0072E4;
	line-height: clamp(20px, 2vw, 28px);
}

.fixed-register-wrapper {
    position: static; /* 또는 position 속성 제거 */
    margin-top: 12px; /* 필요 시 간격 조정 */
}

.fixed-register-btn {
	pointer-events: auto;
	/* width: 100%; */
	/* max-width: 984px; */
	margin: 0 20px;
	background: #0072E4;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 16px 0;
	color: white;
	text-decoration: none;
	margin-bottom:150px;
}

@media screen and (min-width: 768px) {
	html {
		font-size: clamp(14px, 2vw, 18px);;
	}

	.new_wrapper {
		margin: 0 auto;
	}
	
	.info-card, .stats-card {
		flex-direction: row;
		gap: clamp(16px, 4vw, 32px);
	}
}

@media screen and (min-width: 1024px) {
	html {
		font-size: clamp(16px, 2vw, 24px);
	}
}

@media (min-width: 768px) {	
	.new_wrapper {
		max-width: 768px;
		box-shadow: 0 0 20px rgba(0,0,0,0.1);
		border-radius: 8px;
	}
	
	.region-button {
		width: 200px;
		font-size: clamp(14px, 2vw, 18px);;
	}
	
	.ad-card {
		flex: 0 0 48%;
	}

	.ad-list {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

/* 데스크탑 */
@media (min-width: 1024px) {
	.container3 {
		max-width: 1024px;
		margin:0 auto;
	}
	
	.container2 {
		max-width: 1024px;
		margin:0 auto;
	}

	.container {
		max-width: 1024px;
		margin:0 auto;
	}
	
	.new_wrapper {
		max-width: 1024px;
		margin: 0 auto;
	}
	
	.header {
		font-size: clamp(16px, 2vw, 24px);
	}
	
	.ad-card-title {
		font-size: clamp(14px, 2vw, 18px);;
	}
}

@media (max-width: 600px) {
	.status-bar,
	.top-bar,
	.post-header,
	.post-text,
	.like-count,
	.comments-section,
	.comment-text,
	.post-navigation > div {
		font-size: clamp(12px, 2vw, 18px) !important;
	}
	.post-content,
	.comments-section,
	.post-navigation {
		/*padding: 0.5rem !important;*/
	}
	.comment-form button {
		font-size: clamp(12px, 2vw, 18px);
		padding: 0.5rem 0.75rem;
	}
	.error-bar {
		font-size: clamp(12px, 1.2vw, 18px);
		padding: 10px 0;
	}
}

@media screen and (max-width: 480px) {
/*
	.ad-stat-item {
		flex: 1 1 100%;
	}
*/
}


@media (max-width: 480px) {
	.bottom-nav-icon {
		width: 20px;
		height: 20px;
	}

	.bottom-nav-item {
		font-size: clamp(12px, 2vw, 20px);
	}
}

@media (max-width: 400px) {
	.status-bar, .title-bar, .search-bar, .list-box {
		max-width: 100vw;
		width: 98vw;
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.floating-btn {
		right: 12px;
		bottom: 12px;
		width: 40px;
		height: 40px;
	}
	.floating-icon {
		width: 20px;
		height: 20px;
	}
}