/* 모바일 GNB — 삼선(햄버거) 메뉴 고정, 카테고리만 가로 스크롤 */
@media screen and (max-width: 900px) {
	.sc_Header .gnb_menu {
		overflow: visible;
	}

	.sc_Header .gnb_menu .btn_slide {
		flex-shrink: 0;
		background-color: #fff;
	}

	.sc_Header .gnb_menu .nav_box_left {
		flex: 1;
		min-width: 0;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		touch-action: pan-x;
	}

	.sc_Header .gnb_menu .nav_box_left::-webkit-scrollbar {
		display: none;
	}
}

/* 메인 비주얼 — 스와이프/드래그 중 링크 오버레이가 포인터를 가로막지 않도록 */
.sc_Visual .js_main_visual.is_touching .visual_layer__link,
.sc_Visual .js_main_visual.is_dragging .visual_layer__link {
	pointer-events: none;
}

/* 메인 비주얼 — 모바일/삼성 인터넷: Swiper 컨테이너 너비 고정 */
@media screen and (max-width: 900px) {
	.sc_Visual .layout_fix,
	.sc_Visual .rolling_wrap,
	.sc_Visual .rolling_box,
	.sc_Visual .banner_list.js_main_visual {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.sc_Visual .rolling_wrap,
	.sc_Visual .banner_list.js_main_visual {
		overflow: hidden;
	}

	.sc_Visual .rolling_wrap.is_visual_mobile .banner_list .swiper-slide {
		width: auto;
		max-width: none;
	}

	.sc_Visual .rolling_wrap.is_visual_mobile .visual_layer {
		width: 100%;
		max-width: none;
	}
}

/* 메인 비주얼 — PC(900px~) 배너 1장: 카드 고정 (시안 555×300) */
@media screen and (min-width: 901px) {
	.sc_Visual .banner_list .swiper-slide {
		width: 555px;
		height: auto;
	}

	.sc_Visual .visual_layer {
		width: 555px;
		max-width: 555px;
		height: 300px;
		min-height: 300px;
		aspect-ratio: unset;
	}

	/* PC 2장 이상: Swiper 2.5장 노출 (슬라이드 너비는 Swiper가 계산) */
	.sc_Visual .rolling_wrap.is_visual_pc_multi .banner_list .swiper-slide {
		width: auto;
		height: auto;
	}

	.sc_Visual .rolling_wrap.is_visual_pc_multi .visual_layer {
		width: 100%;
		max-width: none;
		height: auto;
		min-height: unset;
		aspect-ratio: 555 / 300;
	}

	/* 추천상품(MD) 더보기 하단 여백 */
	.sc_Md {
		padding-bottom: 70px;
	}
}

/* 로그인 (/login) */
.ms_login_head {padding: 28px 0 8px; text-align: center;}
.ms_login_head__tit {margin: 0; font-size: 22px; font-weight: 700; color: #111;}

.ms_login .layout_fix {max-width: 420px; margin: 0 auto; padding: 0 20px 40px;}
.ms_login li {list-style: none;}

.ms_login_pay {text-align: center; margin: 18px 0 22px;}
.ms_login_pay__badges {display: flex; justify-content: center; align-items: center; gap: 10px; margin: 0; padding: 0;}
.ms_login_pay__img {display: block; height: 30px; width: auto;}
.ms_login_pay__txt {margin: 10px 0 0; font-size: 13px; color: #888;}

.ms_login_sns {display: flex; flex-direction: column; gap: 10px;}
.ms_login_sns__btn {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	width: 100%; height: 52px; border-radius: 8px; box-sizing: border-box;
	font-size: 15px; font-weight: 600; text-decoration: none;
}
.ms_login_sns__btn.kakao {background: #fee500; color: #191600;}
.ms_login_sns__btn.naver {background: #03c75a; color: #fff;}
.ms_login_sns__icon {
	width: 20px; height: 20px; flex-shrink: 0;
	background-repeat: no-repeat; background-position: center; background-size: contain;
}
.ms_login_sns__btn.kakao .ms_login_sns__icon {
	background-image: url('/skin/site_m/responsive-food/images/c_img/logo_kakao.svg');
}
.ms_login_sns__btn.naver .ms_login_sns__icon {
	background-image: url('/skin/site_m/responsive-food/images/c_img/logo_naver.svg');
}

.ms_login_or {position: relative; margin: 22px 0; text-align: center;}
.ms_login_or:before {content: ''; position: absolute; left: 0; top: 50%; width: 100%; height: 1px; background: #ddd;}
.ms_login_or span {position: relative; display: inline-block; padding: 0 14px; background: #fff; font-size: 13px; color: #666;}

.ms_login_form .input_design {height: 50px; font-size: 14px;}
.ms_login_form .c_btnbox {margin-top: 14px;}
.ms_login_save {display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #333; cursor: pointer;}
.ms_login_save input {margin: 0;}

.ms_login_links.other_link {
	display: flex; justify-content: space-between; align-items: center;
	margin-top: 8px; font-size: 13px;
}
.ms_login_links dt .btn em {color: #e10000; font-style: normal; text-decoration: underline;}
.ms_login_links dd .btn {color: #333; position: relative; padding: 5px 0;}
.ms_login_links dd .btn + .btn {margin-left: 10px; padding-left: 11px;}
.ms_login_links dd .btn + .btn:before {
	content: ''; position: absolute; left: 0; top: 50%; width: 1px; height: 11px;
	background: #ddd; transform: translateY(-50%);
}

.ms_login .btn_guest {
	margin-top: 20px; border: 2px solid #e5e5e5; border-radius: 100px;
	display: flex; justify-content: center; align-items: center; padding: 15px 0;
	font-size: 13px; text-decoration: none;
}
.ms_login .btn_guest em {color: #999; font-style: normal;}
.ms_login .btn_guest strong {color: #000; margin-left: 10px; font-weight: 600;}

/* 회원가입 약관동의 (/member.join.agree) */
.ms_join_form {margin-top: 0;}
.ms_join_form .c_btnbox {margin-top: 18px;}
.ms_join_form .c_btnbox ul {display: flex; gap: 8px;}
.ms_join_form .c_btnbox li {flex: 1;}
.ms_join_form .c_btnbox .c_btn {width: 100%; box-sizing: border-box;}

/* 메인 중간 배너(패럴럭스) — layout_fix 콘텐츠 폭(1280px)과 정렬, 좌우 gutter 제거 */
.sc_MainParallax .main_parallax__inner.layout_fix {
	max-width: 1280px;
	padding: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.sc_MainParallax .main_parallax__media {
	border-radius: 14px;
	/* moosankim_main02.jpg 실제 비율 1980×676 (기본 skin 500/1980은 세로가 짧음) */
	padding-top: calc(676 / 1980 * 100%);
	background-position: center center;
}

/* 카피 — 배너 좌측 안쪽 여백, 세로 중앙(기본 flex 유지) */
.sc_MainParallax .main_parallax__copy_layer .layout_fix {
	max-width: 100%;
	padding: 0;
	padding-left: clamp(24px, 4.5vw, 56px);
	box-sizing: border-box;
}

.sc_MainParallax .main_parallax__copy {
	max-width: min(560px, 52%);
}

/* 패럴럭스 헤드라인 — skin 기본 대비 약 20% 축소 (line은 미변경) */
.sc_MainParallax .main_parallax__headline {
	font-size: clamp(22px, 4.2vw, 51px);
}

/* 메인 중간 배너(패럴럭스) — 모바일 높이·더보기 간격 */
@media screen and (max-width: 900px) {
	.sc_Md .sc_More_btn {
		margin-bottom: 16px;
	}

	.sc_MainParallax {
		margin-top: 8px;
		margin-bottom: 8px;
	}

	.sc_MainParallax .main_parallax__media {
		border-radius: 10px;
		background-position: 62% center;
		background-image: var(--bg-mo, var(--bg-pc)) !important;
	}

	.sc_MainParallax .main_parallax__copy {
		max-width: 58%;
	}

	.sc_MainParallax .main_parallax__line {
		font-size: clamp(11px, 2.8vw, 15px);
		line-height: 1.45;
	}

	.sc_MainParallax .main_parallax__headline {
		margin-top: 0.15em;
	}
}

@media screen and (max-width: 600px) {
	.sc_MainParallax .main_parallax__headline {
		font-size: clamp(19px, 6.4vw, 32px);
	}
}

@media screen and (max-width: 480px) {
	.sc_Md .sc_More_btn {
		margin-bottom: 20px;
	}

	.sc_MainParallax {
		margin-top: 12px;
	}

	.sc_MainParallax .main_parallax__media {
		border-radius: 8px;
		background-position: 68% center;
	}

	.sc_MainParallax .main_parallax__copy_layer .layout_fix {
		padding-left: 20px;
	}

	.sc_MainParallax .main_parallax__copy {
		max-width: 62%;
	}
}

/* MD(선물세트 등) 모바일 상품 그리드 — 세로 간격 축소 */
@media screen and (max-width: 700px) {
	.sc_Md .js_main_md_rolling.is_mobile_wrap .swiper-wrapper {
		display: grid !important;
		column-gap: 0;
		row-gap: 12px;
		transform: none !important;
	}

	.sc_Md .js_main_md_rolling.is_mobile_wrap.mobile_type_box1 .swiper-wrapper {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.sc_Md .js_main_md_rolling.is_mobile_wrap.mobile_type_box2 .swiper-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sc_Md .js_main_md_rolling.is_mobile_wrap.mobile_type_box3 .swiper-wrapper {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sc_Md .js_main_md_rolling.is_mobile_wrap .swiper-slide {
		width: auto !important;
		margin-bottom: 0;
		box-sizing: border-box;
	}
}

/* 메인 비주얼 슬라이더 — 모바일 페이지네이션 슬림 */
@media screen and (max-width: 700px) {
	.sc_Visual .sc_Roll_ctrl {
		height: 24px;
		padding: 0 2px;
		margin-top: 8px !important;
	}

	.sc_Visual .sc_Roll_ctrl .roll_pagi {
		font-size: 10px;
		font-weight: 400;
		line-height: 1;
		padding: 0 8px 0 10px;
		gap: 2px;
		letter-spacing: -0.02em;
	}

	.sc_Visual .sc_Roll_ctrl .roll_pagi .active {
		font-weight: 500;
	}

	.sc_Visual .sc_Roll_ctrl .roll_pause {
		width: 22px;
		height: 22px;
	}

	.sc_Visual .sc_Roll_ctrl .roll_pause .pause_icon {
		width: 6px;
		height: 8px;
	}

	.sc_Visual .sc_Roll_ctrl .roll_pause .pause_icon:before,
	.sc_Visual .sc_Roll_ctrl .roll_pause .pause_icon:after {
		width: 2px;
	}
}

/* 고객센터(sc_Service) — 모바일 행 높이 약 70% */
@media screen and (max-width: 900px) {
	.sc_Service .inner dl {
		padding: 14px 0;
	}

	.sc_Service dt {
		gap: 3px;
	}

	.sc_Service .icon_box {
		margin-bottom: 3px;
	}

	.sc_Service .icon_box img {
		height: 21px;
	}

	.sc_Service .tit_en {
		font-size: 13px;
	}

	.sc_Service .inner dd {
		padding: 0 7px;
		font-size: 12px;
	}

	.sc_Service .btn_order {
		height: 28px;
		padding: 0 21px;
	}

	.sc_Service .tel {
		font-size: 16px;
	}

	.sc_Service .open_time {
		margin-top: 3px;
		line-height: 1.35;
	}

	.sc_Service .bank_list {
		gap: 3px;
	}

	.sc_Service .sns_list .btn_sns {
		width: 25px;
		height: 25px;
	}
}

@media screen and (max-width: 700px) {
	.sc_Service .inner dt {
		width: 105px;
	}
}
