@charset "utf-8";

@media (min-width: 767px) {
	.map-search {
		margin-top: 45px;
	}
}

.pg-sub>.at-content {
	padding-top: 0;
}

.map-search {
	position: relative;
	padding: 70px 0;
	text-align: center;
}

.map-search:before {
	content: "";
	position: absolute;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: #f8f8f8;
	top: 0;
	bottom: 0;
	z-index: -1;
}

.map-search .head {
	font-size: 1.5rem;
	margin-bottom: 30px;
}

.map-search .head span {
	border-bottom: 2px solid #444;
	padding: 0 20px 10px;
}

.map-search .mapwrap {
	overflow: hidden;
	margin-top: 20px;
	max-height: 0;
	transition-duration: 1s;
}

.map-search .head.on~.mapwrap {
	max-height: 100vh;
}

.map-search .mapwrap .search-box {
	max-width: 300px;
	margin: 20px auto;
	display: flex;
}

.map-search .mapwrap .search-box input {
	width: 250px;
}

.map-search .mapwrap .search-box button {
	background: #222;
	color: #fff;
	box-shadow: none;
	border: none;
	padding: 0 20px;
	font-size: .875rem;
}

.map-search .root_daum_roughmap {
	width: 100%;
	margin-top: 20px;
}

.map-search .root_daum_roughmap .wrap_map {
	height: 400px;
}

.map-search .btn {
	border-radius: 99px;
	padding: 10px;
	display: block;
	width: 170px;
	margin: 15px auto;
	font-size: 1.125rem;
}


.sec1 {
	margin-top: 100px;
}

.sec1 .tiles .tile {
	transition-duration: 400ms;
}

.sec1 .tiles .tile:hover {
	transform: translateY(-10px);
}

.sec1 .tiles .tile>.a {
	box-shadow: 3px 3px 10px #ddd;
	/*border:1px solid #ddd;*/
	background: #fff;
	border-radius: 10px;
}

.sec1 .tiles .tile>.a:hover {
	/*border-color:#fff;*/
}

.sec1 .a .image {
	background: #ddd;
	border-radius: 10px;
}

.sec1 .a .image:before {
	content: "광고주 모집";
	position: absolute;
	left: 10px;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	font-size: 2rem;
	text-align: center;
	font-weight: 600;
	color: #aaa;
}

.sec1 .a .content {
	position: relative;
	margin-top: 0;
	padding: 10px 10px 0;
	font-size: .875rem;
}

.sec1 .a .content .sticker {
	position: absolute;
	top: -10px;
}

.sec1 .a .content .sticker small {
	padding: 3px 7px;
	margin-right: 5px;
	background: linear-gradient(45deg, transparent 40%, var(--main-color2) 93%);
}

.sec1 .a .content .tag {
	margin-top: 10px;
}

.sec1 .a .content .tag span {
	background: none no-repeat left center/contain;
	margin-right: 10px;
}

.sec1 .a .content .tag span i {
	margin-right: 2px;
}

.sec1 .a .content .head {
	margin: 10px 0 5px;
	font-size: 1.25rem;
	color: #111;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.sec1 .a .content .address {
	color: #888;
	margin-bottom: 5px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.sec1 .a .content .price {
	margin-bottom: 15px;
	text-align: right;
}

.sec1 .a .content .price b {
	font-size: 1.25rem;
	color: var(--main-color1);
	margin-right: 2px;
	font-weight: 900;
}

.sec1 .a .content .desc {
	padding: 10px;
	margin: 0 -10px;
	height: 60px;
}

.sec1 .a .content .desc:not(.bg-bc2) {
	background: #f5f5f5;
	line-height: 1.5;
}

.sec1 .a .content .desc span {
	white-space: normal;
	text-overflow: ellipsis;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	font-weight: 500;
}

.sec1 .a .content .desc.bg-bc2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
}

.sec1 .a .content .desc.bg-bc2 i {
	margin-right: 3px;
}

.list-page {
	margin-top: 50px;
}


@media (max-width: 1400px) {
	.sec1 {
		overflow: hidden;
	}
}

@media (max-width: 767px) {

	.map-search {
		padding: 30px 0;
	}

	.map-search .head {
		font-size: 1.25rem;
		letter-spacing:-0.1em;
		margin-bottom:20px !important;
	}

	.map-search .head span {
		padding: 0 10px 10px;
	}

	.map-search .root_daum_roughmap {
		margin-top: 30px;
	}

	.map-search .root_daum_roughmap .wrap_map {
		height: 250px;
	}

	.map-search .btn {
		margin-bottom: 0;
	}

	.sec1 {
		margin-top: 70px;
	}

	/* ❌ 원본에 width:100 이라 오타/깨짐 가능 -> 안전하게 100%로 */
	.sec1 .tiles .tile {
		width: 100% !important;
	}

	.sec1 .tiles .tile>.a {
		padding: 5px;
	}

	.sec1 .a .content .tag {
		margin-top: 5px;
	}

	.sec1 .a .content .tag span {
		margin-right: 5px;
	}

	.sec1 .a .content .tag span i {
		margin-right: 1px;
		font-size: .75rem;
	}

	.sec1 .a .content .head {
		font-size: 1.125rem;
		margin: 5px 0 2px;
	}

	.sec1 .a .content .address {
		margin-bottom: 10px;
	}

	.sec1 .a .content .desc {
		height: 55px;
	}

	.list-page {
		margin-top: 30px;
	}
}

/* =======================================================
   ✅ Premium 리스트: PC 4열 / 모바일 1열 (sec1 premium)
   - tiles/테마 기본 레이아웃이 있어도 이걸로 덮어씀
======================================================= */
.sec1.premium .ts-squareimg-top-1{
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important; /* ✅ PC 4열 */
	gap: 18px !important;
}

/* grid 아이템이 내용(긴 제목) 때문에 늘어나지 않게 */
.sec1.premium .ts-squareimg-top-1 > div{
	width: 100%;
	min-width: 0;
}

@media (max-width: 1024px){
	.sec1.premium .ts-squareimg-top-1{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 태블릿 2열 */
		gap: 14px !important;
	}
}

@media (max-width: 767px){
	.sec1.premium .ts-squareimg-top-1{
		grid-template-columns: 1fr !important; /* ✅ 모바일 1열 */
		gap: 12px !important;
	}
}

/* ================================
   Premium 카드(첨부 이미지 스타일)
   - 가격은 우측하단 absolute
================================ */

/* 링크 카드 전체 */
.sec1.premium .premium-card{
	display:block;
	background:#fff;
	border:1px solid #eee;
	border-radius:12px;
	overflow:hidden;
	box-shadow: 0 4px 14px rgba(0,0,0,.06);
	min-width: 0; /* ✅ 내용 때문에 카드가 늘어나는 현상 방지 */
}

/* 썸네일 */
.sec1.premium .premium-thumb{
	position:relative;
	width:100%;
	aspect-ratio: 16 / 9;
	background:#f2f2f2;
	overflow:hidden;
}
.sec1.premium .premium-thumb img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* 하트(우측하단) */
.sec1.premium .premium-heart{
	position:absolute;
	right:10px;
	bottom:10px;
	width:34px;
	height:34px;
	border-radius:999px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(0,0,0,.35);
	color:#fff;
	z-index:2;
}
.sec1.premium .premium-heart i{
	font-size:18px;
	line-height:1;
}

/* 본문 */
.sec1.premium .premium-body{
	position:relative;
	padding:12px 12px 52px; /* ✅ 가격 absolute 공간 확보 */
	min-width: 0; /* ✅ ellipsis 안정화 */
}

/* ✅ 제목: 무조건 1줄 + ... + 길어도 레이아웃 안 늘어남 */
.sec1.premium .premium-title{
	font-size:18px;
	font-weight:800;
	color:#111;
	line-height:1.25;
	margin:0 0 8px;
	text-align:left;

	display:block;
	max-width:100%;
	min-width:0;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;

	/* 공백없는 긴 문자열(영문/URL)까지 안전하게 */
	overflow-wrap:anywhere;
	word-break:break-word;
}

/* 메타(거리/주소, 시간 등) */
.sec1.premium .premium-meta{
	display:flex;
	flex-direction:column;
	gap:6px;
	margin-bottom:10px;
	color:#666;
	font-size:14px;
}
.sec1.premium .premium-meta .m1,
.sec1.premium .premium-meta .m2{
	display:flex;
	align-items:center;
	gap:6px;
	min-width:0;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.sec1.premium .premium-meta i{
	color:#b7b7b7;
	font-size:14px;
}

/* 하단 작은 통계(댓글/테마 등) */
.sec1.premium .premium-stats{
	display:flex;
	gap:10px;
	align-items:center;
	color:#9a9a9a;
	font-size:14px;
}
.sec1.premium .premium-stats span{
	display:inline-flex;
	align-items:center;
	gap:4px;
	min-width:0;
}
.sec1.premium .premium-stats i{
	font-size:14px;
	margin-top:-1px;
}

/* ✅ 가격영역: 우측하단 absolute */
.sec1.premium .premium-price{
	position:absolute;
	right:12px;
	bottom:10px;
	text-align:right;
}

/* salebox(할인율+정가 위 / 판매가 아래) */
.sec1.premium .premium-price .salebox{
	display:flex;
	flex-direction:column;
	gap:4px;
}

/* 위줄: 할인율 + 정가(취소선) */
.sec1.premium .premium-price .salebox .top{
	display:flex;
	justify-content:flex-end;
	align-items:baseline;
	gap:6px;
	font-size:12px;
	line-height:1;
}
.sec1.premium .premium-price .salebox .top .per{
	color:#ff3b30;
	font-weight:900;
}
.sec1.premium .premium-price .salebox .top .ori{
	color:#bdbdbd;
	text-decoration:line-through;
	font-weight:700;
}

/* 아래줄: 판매가 */
.sec1.premium .premium-price .salebox .bottom{
	font-size:16px;
	line-height:1;
}
.sec1.premium .premium-price .salebox .bottom .calc b{
	color:#111;
	font-weight:900;
	font-size:18px;
}

/* 모바일 폰트/패딩만 조절 */
@media (max-width: 767px){
	/* 모바일에서 sec1 overflow:hidden 때문에 테두리 클리핑 되는 것 방지 */
	.sec1{ overflow: visible !important; }

	.sec1.premium .premium-body{
		padding:10px 10px 50px;
	}
	.sec1.premium .premium-title{
		font-size:16px;
	}
	.sec1.premium .premium-meta,
	.sec1.premium .premium-stats{
		font-size:12px;
	}
	.sec1.premium .premium-price .salebox .bottom .calc b{
		font-size:16px;
	}
}
