.sg,.sg *{box-sizing:border-box;word-break:keep-all;overflow-wrap:break-word;}
/* 테마 h2/버튼 스타일 차단 — 프로토타입과 동일 */
.sg h2,.sg h3{font-family:'Cinzel','Noto Sans KR','Apple SD Gothic Neo',sans-serif;}
.sg button,.sg a.sg-map-btn,.sg a.sg-caption-link{font-family:inherit;background:none;border:none;color:inherit;text-transform:none;letter-spacing:-0.01em;box-shadow:none;}
.sg .sg-tab{background:none!important;border:1px solid transparent!important;color:#666!important;min-height:0;line-height:1;text-shadow:none;border-radius:100px!important;font-size:12px!important;}
.sg .sg-tab.is-active{color:#222!important;border-color:#222!important;}
.sg .sg-map-btn{background:#fff!important;color:#222!important;box-shadow:rgba(0,0,0,0.08) 0 4px 12px!important;border:0!important;}
.sg .sg-map-btn:hover{background:#222!important;color:#fff!important;}
.sg{position:relative;width:90vw;max-width:1680px;left:50%;transform:translateX(-50%);margin:0;padding:180px 0 160px;font-family:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;color:#222;line-height:1.5;}
.sg::before{content:"";position:absolute;top:50%;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#F3EFE8;z-index:-1;}
.sg--column::before{display:none!important;}
.sg--card::before{
	display:block!important;
	top:0;bottom:0;
	left:calc(50% - 50vw);
	transform:none;
	width:calc(100vw * var(--sg-card-bg-w, 55) / 100);
	background:var(--sg-card-bg, #EBE9E6);
	opacity:.5;
	z-index:0;
}
.sg button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

.sg-header{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px;}
.sg-intro{}
.sg-title{font-family:var(--sg-sec-title-font,'Cinzel'),'Noto Sans KR','Apple SD Gothic Neo',sans-serif!important;font-size:var(--sg-sec-title-size,44px);font-weight:var(--sg-sec-title-weight,700)!important;letter-spacing:-0.02em;line-height:var(--sg-sec-title-lh, 1.2);margin:0 0 14px;padding:0!important;color:#222;}
.sg-desc{font-family:var(--sg-sec-desc-font,'Noto Sans KR'),'Apple SD Gothic Neo',sans-serif;font-size:var(--sg-sec-desc-size,15px);color:#666;font-weight:var(--sg-sec-desc-weight,400);letter-spacing:-0.01em;line-height:var(--sg-sec-desc-lh, 1.6);margin:0!important;padding:0!important;}
.sg-desc--mo{display:none;}
.sg-tabs{display:flex;gap:4px;flex-wrap:wrap;}
.sg-tab{padding:8px 18px;font-size:12px;font-weight:500;color:#666;border-radius:100px;border:1px solid transparent;transition:all .2s;letter-spacing:-0.01em;white-space:nowrap;}
.sg-tab:hover{color:#222;}
.sg-tab.is-active{color:#222;border-color:#222;}

.sg-stage{position:relative;width:100%;border-radius:4px;overflow:hidden;aspect-ratio:16/8;height:var(--sg-stage-h, auto);background:#eee;}
.sg-slides{position:absolute;inset:0;}
.sg-slide{position:absolute;inset:0;opacity:0;pointer-events:none;}
.sg-slide.is-active{opacity:1;pointer-events:auto;z-index:2;}
.sg-slide.is-under{opacity:1;z-index:1;}
.sg-slide img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;display:block!important;}
.sg-slide::after{content:"";position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,0) 100%);pointer-events:none;z-index:1;}

.sg-slide-caption{position:absolute!important;left:68px!important;right:68px!important;bottom:40px!important;top:auto!important;z-index:2;color:#fff!important;max-width:min(720px, calc(100% - 136px));text-shadow:0 2px 12px rgba(0,0,0,.25);padding:0!important;margin:0!important;}
.sg-slide-caption *{color:#fff!important;}
.sg-caption-title{font-family:var(--sg-cap-title-font,'Cinzel'),'Noto Sans KR','Apple SD Gothic Neo',sans-serif!important;font-size:var(--sg-cap-title-size,32px);font-weight:var(--sg-cap-title-weight,700)!important;letter-spacing:-0.02em;margin:0 0 12px!important;padding:0!important;color:#fff!important;line-height:var(--sg-cap-title-lh, 1.3)!important;}
.sg-caption-desc{font-family:var(--sg-cap-desc-font,'Noto Sans KR'),'Apple SD Gothic Neo',sans-serif;font-size:var(--sg-cap-desc-size,14px);font-weight:var(--sg-cap-desc-weight,400);line-height:var(--sg-cap-desc-lh, 1.6)!important;opacity:.95;margin:0!important;padding:0!important;color:#fff!important;}
.sg-caption-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.06em;color:#fff;text-decoration:none;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.4);transition:border-color .2s;}
.sg-caption-link:hover{border-color:#fff;color:#fff;}
.sg-caption-link svg{transition:transform .3s;}
.sg-caption-link:hover svg{transform:translateX(4px);}

.sg-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;color:#fff!important;cursor:pointer;padding:0;box-shadow:none!important;transition:opacity .2s;opacity:.85;}
.sg-nav:hover{opacity:1;}
.sg-nav--prev{left:16px;}
.sg-nav--next{right:16px;}
.sg-nav svg{display:block;filter:drop-shadow(0 1px 6px rgba(0,0,0,.35));}

.sg-map-btn{position:absolute;right:32px;bottom:32px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:#fff;color:#222;border-radius:999px;padding:14px 22px 14px 26px;font-size:13px;font-weight:600;letter-spacing:-0.01em;text-decoration:none;box-shadow:rgba(0,0,0,0.08) 0 4px 12px;transition:background .2s,color .2s,transform .2s;}
.sg-map-btn:hover{background:#222;color:#fff;transform:translateY(-1px);}
.sg-map-btn svg{transition:transform .3s;}
.sg-map-btn:hover svg{transform:translateX(4px);}

@media(max-width:768px){
	/* 와이드형/칼럼형 섹션 제목 — 카드형과 동일 스펙 (16px, uppercase, weight 500, 중앙) */
	.sg-title{
		font-size:var(--sg-sec-title-size-mo,16px)!important;
		font-weight:500!important;
		text-transform:uppercase;
		letter-spacing:.005em!important;
		margin:0 0 4px!important;
		text-align:center;
	}
	.sg-desc{
		font-size:var(--sg-sec-desc-size-mo,15px)!important;
		color:#444!important;
		line-height:1.6!important;
		text-align:center;
	}
	.sg-caption-title{font-size:var(--sg-cap-title-size-mo,var(--sg-cap-title-size,24px));}
	.sg-caption-desc{font-size:var(--sg-cap-desc-size-mo,var(--sg-cap-desc-size,13px));}
	/* 모바일: 칼럼형 제목 위 여백 — 통일 (0) */
	.sg--column .sg-header{margin-top:0!important;}
	/* 모바일: 공간안내 텍스트 중앙정렬 (헤더 + 카드 본문) */
	.sg-header{align-items:center!important;text-align:center;}
	.sg--column .sg-col-body{text-align:center;}
	/* 모바일: PC/모바일 설명 토글 */
	.sg-desc--pc{display:none;}
	.sg-desc--mo{display:block;}
	/* 모바일: 룸 버튼 — 11px, 버튼 모양 제거, 활성은 굵기로 */
	.sg .sg-tab{padding:4px 0!important;font-size:11px!important;border:0!important;border-radius:0!important;background:none!important;font-weight:400!important;}
	.sg .sg-tab.is-active{font-weight:700!important;color:#111!important;border:0!important;background:none!important;}
	/* 모바일: 칼럼형 상단 룸 탭 숨김 (PC는 유지) */
	.sg--column .sg-tabs{display:none!important;}
}
@media(max-width:900px){
	.sg{padding:20px 0!important;margin:0!important;}
	.sg-header{flex-direction:column;align-items:flex-start;gap:24px;}
	.sg-title{font-size:30px;}
	.sg-tabs{flex-wrap:nowrap;overflow-x:auto;gap:12px;width:calc(100% + 40px);margin:0 -20px;padding:0 20px 4px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;}
	.sg-tabs::-webkit-scrollbar{display:none;}
	.sg-tabs > *{scroll-snap-align:start;flex-shrink:0;}
	.sg-tab{padding:7px 14px;font-size:12px;}
	.sg-stage{aspect-ratio:4/5;height:var(--sg-stage-h-mo, var(--sg-stage-h, auto));border-radius:4px;}
	.sg-slide-caption{left:30px!important;right:30px!important;bottom:30px!important;}
	.sg-caption-title{font-size:22px;}
	.sg-caption-desc{font-size:13px;margin-bottom:16px;}
	.sg-map-btn{right:20px;bottom:20px;padding:11px 18px;font-size:12px;}
}

/* ===== 칼럼형 레이아웃 ===== */
.sg--column .sg-col-stage{position:relative;width:100%;}
.sg--column .sg-col-viewport{position:relative;width:100%;overflow:hidden;}
.sg--column .sg-col-track{display:flex;flex-wrap:nowrap;gap:20px;transition:transform .5s cubic-bezier(.4,.2,.2,1);will-change:transform;}
.sg--column .sg-col{flex:0 0 auto;width:calc((100% - 20px * (var(--sg-col-count, 3) - 1)) / var(--sg-col-count, 3));display:flex;flex-direction:column;transition:opacity .3s ease;}
.sg--column .sg-col.is-active{opacity:1;}
.sg--column .sg-col-image{position:relative;width:100%;aspect-ratio:3/4;height:var(--sg-stage-h, auto);overflow:hidden;border-radius:4px;background:#eee;}
.sg--column .sg-col-image img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;display:block!important;transition:transform .6s ease;}
.sg--column .sg-col:hover .sg-col-image img{transform:scale(1.03);}
.sg--column .sg-col-body{padding:18px 4px 0;}
.sg--column .sg-col-title{font-family:var(--sg-card-title-font,'Cinzel'),'Noto Sans KR','Apple SD Gothic Neo',sans-serif!important;font-size:var(--sg-card-title-size,20px);font-weight:var(--sg-card-title-weight,700)!important;letter-spacing:-0.02em;color:#222!important;margin:0 0 6px!important;padding:0!important;line-height:var(--sg-card-title-lh, 1.3)!important;}
.sg--column .sg-col-desc{font-family:var(--sg-card-desc-font,'Noto Sans KR'),'Apple SD Gothic Neo',sans-serif!important;font-size:var(--sg-card-desc-size,13px);font-weight:var(--sg-card-desc-weight,400)!important;color:#666!important;line-height:var(--sg-card-desc-lh, 1.5)!important;margin:0!important;padding:0!important;}

/* 외부 화살표 — 이미지 위 오버레이 (그리드 너비 유지, 배경 없음 + 드롭섀도) */
.sg--column .sg-nav--outside{position:absolute!important;top:var(--sg-img-center, 50%);transform:translateY(-50%);width:44px;height:44px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s, transform .2s;z-index:5;padding:0!important;opacity:.92;}
.sg--column .sg-nav--outside:hover{opacity:1;transform:translateY(-50%) scale(1.08);}
.sg--column .sg-nav--prev.sg-nav--outside{left:20px;}
.sg--column .sg-nav--next.sg-nav--outside{right:20px;}
.sg--column .sg-nav--outside svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)) drop-shadow(0 0 2px rgba(0,0,0,.35));stroke-width:1.5;}

.sg--column .sg-col-map-wrap{display:flex;justify-content:flex-end;margin-top:24px;}
.sg--column .sg-col-map-wrap .sg-map-btn{position:static;}

@media(max-width:1024px){
	.sg--column .sg-col{width:calc((100% - 20px) / 2);}
}
@media(max-width:640px){
	/* 모바일 룸갤러리 칼럼형:
	   1) 섹션 전체너비 (100vw)
	   2) 중앙 카드 opacity 1
	   3) 중앙 정렬 (viewport padding으로 peek 공간 확보 → visibleCount=1)
	   4) 좌/우에 카드의 ~8% peek (반투명) */
	.sg.sg--column{width:100vw;max-width:100vw;}
	.sg--column .sg-header{padding:0 20px;}
	.sg--column .sg-tabs{padding-left:20px;padding-right:20px;}
	.sg--column .sg-col-viewport{padding:0 10vw;box-sizing:border-box;}
	.sg--column .sg-col{width:80vw;opacity:.4;transition:opacity .35s ease;}
	.sg--column .sg-col.is-active{opacity:1;}
	.sg--column .sg-col-track{gap:16px;}
	.sg--column .sg-col-image{height:var(--sg-stage-h-mo, var(--sg-stage-h, auto));}
	.sg--column .sg-col-title{font-size:var(--sg-card-title-size-mo,17px);}
	.sg--column .sg-col-desc{font-size:var(--sg-card-desc-size-mo,12px);}
	.sg--column .sg-nav--outside{width:40px;height:40px;}
}

/* ===== 카드형 레이아웃 (asymmetric) ===== */
.sg--card{padding:100px 0 27px!important;margin:240px 0!important;overflow:visible;}
.sg--card{position:relative;}
.sg--card .sg-card-stage{position:relative;width:100%;z-index:1;}
.sg--card .sg-card-inner{
	position:relative;z-index:1;
	display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:center;
	padding:40px 0;
}
.sg--card .sg-card-image-area{position:relative;}
.sg--card .sg-card-slides{position:relative;width:100%;aspect-ratio:16/11;height:var(--sg-stage-h, auto);overflow:hidden;background:#eee;}
.sg--card .sg-card-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.sg--card .sg-card-slide.is-active{opacity:1;}
.sg--card .sg-card-slide img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;display:block!important;}


.sg--card .sg-card-text{position:relative;}
.sg--card .sg-card-title{font-family:var(--sg-sec-title-font,'Playfair Display'),serif!important;font-size:var(--sg-sec-title-size,44px);font-weight:var(--sg-sec-title-weight,500)!important;line-height:var(--sg-sec-title-lh, 1.2);letter-spacing:.01em;color:#111!important;margin:0 0 24px!important;padding:0!important;text-transform:uppercase;}
.sg--card .sg-card-desc{font-family:var(--sg-sec-desc-font,'Noto Sans KR'),sans-serif!important;font-size:var(--sg-sec-desc-size,16px);font-weight:var(--sg-sec-desc-weight,400)!important;line-height:var(--sg-sec-desc-lh, 1.6);color:#111!important;margin:0 0 32px!important;padding:0!important;}

/* 객실 선택 버튼 — 플랫 (라운드 없음), 수평 스크롤 */
.sg--card .sg-card-tabs{
	display:flex;
	gap:22px;
	flex-wrap:nowrap;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-snap-type:x proximity;
	margin:20px 0 0;
	padding-bottom:4px;
	-webkit-overflow-scrolling:touch;
	mask-image:linear-gradient(to right, transparent 0, black 24px, black calc(100% - 24px), transparent 100%);
	-webkit-mask-image:linear-gradient(to right, transparent 0, black 24px, black calc(100% - 24px), transparent 100%);
}
.sg--card .sg-card-tabs::-webkit-scrollbar{display:none;}
.sg--card .sg-card-tabs{scrollbar-width:none;}
.sg--card .sg-card-tab{
	flex:0 0 auto;
	scroll-snap-align:start;
	padding:6px 2px!important;
	font-family:'Noto Sans KR','Apple SD Gothic Neo',sans-serif!important;
	font-size:13px!important;
	font-weight:300!important;
	color:#888!important;
	background:none!important;
	border:0!important;
	border-radius:0!important;
	letter-spacing:-0.01em;
	white-space:nowrap;
	line-height:1!important;
	min-height:0!important;
	cursor:pointer;
	transition:color .2s ease, font-weight .2s ease;
	box-shadow:none!important;
	text-shadow:none!important;
}
.sg--card .sg-card-tab:hover{color:#222!important;}
.sg--card .sg-card-tab.is-active{color:#111!important;font-weight:400!important;}
.sg--card .sg-card-more{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid #111;color:#111!important;background:transparent!important;text-decoration:none!important;transition:background .25s ease, color .25s ease, transform .25s ease;}
.sg--card .sg-card-more:hover{background:#111!important;color:#fff!important;}
.sg--card .sg-card-more svg{transition:transform .3s;}
.sg--card .sg-card-more:hover svg{transform:translateX(3px);}

/* 인덱스 라벨 / 도트 (PC에서는 숨김, 모바일에서 표시) */
.sg--card .sg-card-index{display:none;}
.sg--card .sg-card-dots{display:none;}

@media(max-width:960px){
	.sg--card{padding:60px 0!important;margin:80px 0!important;}
	.sg--card .sg-card-stage::before{width:100vw;height:60%;top:auto;bottom:0;}
	.sg--card .sg-card-inner{grid-template-columns:1fr;gap:20px;padding:0;}
}

/* ===== 카드형 모바일 최적화 (≤768px) ===== */
@media(max-width:768px){
	/* A안: 풀-뷰포트 breakout 전부 제거 — 부모 컨테이너 흐름에 맡김 (통일 padding 20, margin 0) */
	.sg--card{
		padding:20px 0!important;
		margin:0!important;
		box-sizing:border-box;
	}

	/* 스테이지 — 부모 폭 그대로 */
	.sg--card .sg-card-stage{padding:0;width:100%;max-width:100%;position:relative;}

	/* 카드형 배경 블록 — 부모 폭 안에서 풀블리드 */
	.sg--card .sg-card-stage::before{
		content:"";position:absolute;
		left:0;right:0;bottom:0;
		width:100%;height:60%;
		background:var(--sg-card-bg, #EBE9E6);
		z-index:0;
	}

	/* 콘텐츠 내부 — 부모 폭 흐름 (텍스트 위 / 이미지 아래) */
	.sg--card .sg-card-inner{grid-template-columns:1fr;gap:20px;padding:0;position:relative;z-index:1;width:100%;max-width:100%;box-sizing:border-box;}
	.sg--card .sg-card-text{order:-1;}
	.sg--card .sg-card-image-area{order:0;}

	/* 이미지 영역: 4:3, 라운딩, 풀블리드 느낌 */
	.sg--card .sg-card-image-area{position:relative;}
	.sg--card .sg-card-slides{
		aspect-ratio:4/3;
		height:auto!important;
		border-radius:16px;
		overflow:hidden;
		box-shadow:0 6px 20px rgba(0,0,0,.08);
	}

	/* 좌우 화살표 숨김 (스와이프 우선) */
	.sg--card .sg-card-slides .sg-nav--prev,
	.sg--card .sg-card-slides .sg-nav--next{display:none!important;}

	/* 좌상단 인덱스 라벨 (01 / 04) */
	.sg--card .sg-card-index{
		display:inline-flex;align-items:baseline;
		position:absolute;top:14px;left:14px;z-index:3;
		font-family:'Cinzel','Noto Sans KR',serif;
		font-weight:600;font-size:11px;letter-spacing:.08em;
		color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);
		line-height:1;user-select:none;
		padding:6px 10px;background:rgba(0,0,0,.25);backdrop-filter:blur(4px);
		-webkit-backdrop-filter:blur(4px);border-radius:999px;
	}
	.sg--card .sg-card-index-sep,
	.sg--card .sg-card-index-total{opacity:.7;}

	/* 도트 인디케이터 — 카드 바로 아래 중앙 */
	.sg--card .sg-card-dots{
		display:flex;justify-content:center;align-items:center;gap:8px;
		margin:14px 0 0;
	}
	.sg--card .sg-card-dots[data-mode="counter"]{display:none;}
	.sg--card .sg-card-dot{
		position:relative;width:6px;height:6px;border-radius:50%;
		background:rgba(0,0,0,.25);border:0;padding:0;cursor:pointer;
		transition:background .2s ease, transform .2s ease;
	}
	.sg--card .sg-card-dot::after{
		content:"";position:absolute;inset:-13px;border-radius:50%;
	}
	.sg--card .sg-card-dot.is-active{background:#111;transform:scale(1.3);}

	/* 카운터 ("1/8") — 도트 대신 표시 */
	.sg--card .sg-card-counter{
		display:none;justify-content:center;align-items:baseline;gap:2px;
		margin:14px 0 0;font-size:12px;color:#666;
		font-family:'Cinzel','Noto Sans KR',serif;letter-spacing:.06em;
	}
	.sg--card[data-many="1"] .sg-card-dots{display:none;}
	.sg--card[data-many="1"] .sg-card-counter{display:inline-flex;}

	/* 탭 영역 — 4x2 그리드 (모바일 전용, 한 줄 4개 균등 배치) */
	.sg--card .sg-card-tabs{
		display:grid!important;
		grid-template-columns:repeat(4, 1fr)!important;
		grid-auto-rows:minmax(44px, auto);
		gap:4px!important;
		margin:20px 0 0!important;
		padding:0!important;
		overflow:visible!important;
		mask-image:none!important;
		-webkit-mask-image:none!important;
	}
	.sg--card .sg-card-tab{
		min-height:44px!important;
		padding:0 4px!important;
		font-size:12px!important;
		display:inline-flex;align-items:center;justify-content:center;
		position:relative;
		text-align:center;
		flex:none!important;
		white-space:nowrap;
		min-width:0;
	}
	.sg--card .sg-card-tab.is-active::after{
		content:"";position:absolute;left:50%;bottom:8px;
		width:24px;height:1px;background:#111;
		transform:translateX(-50%);
	}

	/* 텍스트 영역 — 위계 정리 (중앙 정렬) */
	.sg--card .sg-card-text{padding:8px 4px 0;position:relative;text-align:center;}
	.sg--card .sg-card-title{
		font-family:var(--sg-sec-title-font,'Playfair Display'),'Noto Sans KR',serif!important;
		font-size:var(--sg-sec-title-size-mo,16px)!important;
		font-weight:500!important;
		line-height:1.25;letter-spacing:.005em;
		text-transform:uppercase;
		margin:0 0 4px!important;
		padding-right:0;
		text-align:center;
	}
	.sg--card .sg-card-desc{
		font-size:var(--sg-sec-desc-size-mo,15px);
		line-height:1.6;color:#444!important;
		margin:0 0 24px!important;
		text-align:center;
	}

	/* CTA 원형 버튼 — 우측 상단에 유지 */
	.sg--card .sg-card-more{
		width:48px;height:48px;
		position:absolute;right:4px;top:0;
	}
	/* 모바일에서는 미니 prev/next 페어 숨김 (탭 + 도트로 충분) */
	.sg--card .sg-card-mininav{display:none!important;}
}
