@charset "utf-8";
/* ================================
  responsive_store.css
  - 스토어 반응형
================================ */

/* shell-frame 상쇄 */
body {
	overflow: auto;
}
#wrap {
	max-width: unset;
	min-width: 420px;
}
.store .container,
.store .contents {
	padding-top: 0;
}
.store .contents {
	padding-bottom: 6rem;
}
.store .header-any {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	height: 8.6rem;
	padding: 0 var(--sdcm-mobile-content-px);
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

.store .header-any .btn-wrap {
	width: auto;
	gap: 2rem;
}
.store .header-any .btn-wrap .btn {
	display: inline-flex !important;
	min-height: 3.2rem;
	min-width: 3.2rem;
	padding: 0;
}

.store .header-any .svg-icon {
	width: 2rem;
	height: 2rem;
}
.store .header-any .btn-cart {
	position: relative;
	flex: 0 0 auto;
	width: 3.2rem;
}
.store .header-any .btn-cart .badge {
	position: absolute;
	top:-6px;
	right: -6px;
	font-size: 1rem;
	font-weight: var(--sdcm-font-weight-bold);
	font-family: 'Paperlogy', 'Pretendard Variable' ;
	width: 1.6rem;
	height: 1.6rem;
}
.store .user {
	flex-direction: row;
	align-items: center;
	gap: .4rem;
	height: 3.2rem;
	font-size: 1.3rem;
	padding: 0 .4rem;
}
.store .user > span {
	display: flex;
	flex-direction: nowrap;
}
.store .user strong {
	font-size: 1.5rem;
	font-weight: var(--sdcm-font-weight-medium);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
    max-width: 100px;
}
.store .btn-admin .ico-chevron-right {
	background-color: var(--sdcm-color-text-subtler);
}

/* 상품 상세 */
.store.board #btn_back {
	top: calc(8.6rem + 3rem);
}

.store .bottom-action-bar.fixed.mobile-only {
	max-width: unset;
}

.store .page-info {
	display: flex;
}

/* pc/mobile only */
.mobile-only {

}
.pc-only {
	display: none;
}

.pay .terms-item.pc-only {
  	 display: none;
  }

/* 태블릿 이상 → 카드 여백/폰트 키우기 */
@media (min-width: 568px) {

	.store .banner {
		aspect-ratio: 353 / 130;
		padding: 4rem;
	}

	/* 제품 상세 */
	.store .slide-wrap {
		max-height: 54rem;
	}
}


/* 태블릿 이상 → 카드 여백/폰트 키우기 */
@media (min-width: 768px) {
	.store .header-any img {
		width: 12rem;
	}

	.store .banner {
		aspect-ratio : 1280 / 500;
		border-radius: 2.4rem;
		margin-bottom: 6rem;
		padding: 4.8rem 6rem;
		background-image: url(/images/sdcm/m/img-store-banner-bg-web.png);
	}
	.store .banner p {
		text-shadow : 0 0 6px rgba(0,0,0,0.5)
	}
	.store .banner .slogan {
		font-size: 3.2rem;
	}
	.store .banner .text {
		font-size: 2rem;
	}

	/* 상품 상세 */
	.store .slide-wrap {
		max-height: 64rem;
	}
}

/* 데스크톱 이상 → 카드 레이아웃 변경 */
@media (min-width: 1024px) {
	.mobile-only {
		display: none !important;
	}
	.pc-only {
		display: inline-flex !important;
	}

	/* 상품 공통 */
	#wrap {
		min-width: unset;
	}
	.contents {
		width: 100%;
		padding-top: 2.4rem !important;
	}
	.store .header-any {
		height: 12rem;
	}
	.store .header-any .logo img{
		width: 15rem;
	}
	.store .header-any .btn-wrap {
		gap: 1.2rem;
	}
	.store .header-any > .btn-wrap {
		gap: 1.6rem;
	}
	.store .header-any > .btn-wrap > .btn-wrap {
		position: relative;
	}
	.store .header-any > .btn-wrap > .btn-wrap:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 100%;
		transform: translateY(-50%);
		width: 1px;
		height: 20px;
		background-color: var(--sdcm-color-divider-gray-light);
		margin: 0 8px;
	}
	.store .header-any .btn-wrap .btn {
		padding: 0 .4rem;
	}

	.store .header-any .svg-icon {
		width: 1.6rem;
		height: 1.6rem;
	}

	.store .header-any .btn-cart {
		width: auto;
	}
	.store .header-any .btn-cart .badge {
		position: static;
	}

	.store .user {
		display: inline-flex;
	}


	/* 상품 리스트 */
	.store .header {
		display: none;
	}
	.store .bottom-nav {
		display: none;
	}

	.store .banner {
		aspect-ratio : 1280 / 302;
		margin-bottom: 8rem;
	}
	.store .banner p {
		text-shadow : 0 0 4px rgba(0,0,0,0.25)
	}
	.store .banner .slogan {
        font-size: 4rem;
    }
	.store .banner .text {
		font-size: 1.7rem;
	}


	.store .prd-list {
		gap: 2.4rem;
	}
	.store .prd-list .list-group {
		grid-template-columns: repeat(4, 1fr);
	    row-gap: 4rem;
	    column-gap: 2.8rem;
	}


	/* 상품 상세 */
	.store.detail .contents {
		position: relative;
		padding-top: 4.4rem !important;
	}
	.store #btn_back {
	 	top: 0;
	 	left: 0;
	 	background-color: var(--sdcm-color-primary-5);
	}
	.store .prd-summary {
		display: flex;
		flex-direction: row;
		gap: 8rem;
		margin-top: 2.4rem;
	}
	.store .prd-summary .slide-wrap {
		aspect-ratio: 1 / 1;
		width: 50.3125%;
		max-width: 64.4rem;
		background-color: transparent;
	}
	.store .prd-summary .slide-wrap .swiper {
		border-radius: 1.2rem;
	}
	.store .prd-summary .prd-info.board-info {
		flex: 1;
		padding: .4rem 0;
	}
	.store .prd-info.board-info .sub {
		font-size: 1.7rem;
	}
	.store .prd-info.board-info > .tit {
		font-size: 2.2rem;
		padding-bottom: 2rem;
	}
	.store .prd-info.board-info .price-box {
		padding-bottom: 3.2rem;
		box-shadow: none;
	}
	.store .prd-info.board-info div:has(.btn-wrap) {
		margin-top: 2.4rem;
	}

	.store .board-conts .accordion .accordion-item .btn-accordion {
		font-size: 1.7rem;
	}

	.store .board-conts .accordion {
		--sdcm-accordion--padding: calc(2.8rem - var(--sdcm-accordion--list-margin-y));
		--sdcm-accordion--line-padding: var(--sdcm-accordion--padding);
		--sdcm-accordion--button-icon-size: 2.4rem;
	}

	.store .table-wrap + .table-wrap {
		margin-top: 3.2rem;
	}

	.store .board-conts .tab {
		padding-top: 0rem;
		margin-top: 8rem;
	}
	.store .tab.full .btn-tab {
		--sdcm-tab--full-button-size-height: 6rem;
		font-size: 1.9rem;
	}
	.store .board-conts .tab .btn-tab {
		max-width: 24.6rem;
	}

	/* 장바구니 */
	.store .page-info {
		margin: 0 0 1.6rem 0;
	}

	.cart .container:has(.bottom-action-bar.fixed) {
		padding-bottom: 0 !important;
	}
	.cart-table {
		position: relative;
		padding-top: 4.4rem;
	}
	.cart-table .cart-table-header {
		margin-bottom: 0;
		border-top: .2rem solid var(--sdcm-color-divider-gray-darker);
	}
	.cart-table .cart-table-body {
		border-top: none;
	}

	.cart-table .cart-table-th,
	.cart-table .cart-table-td {
		flex: 1;
	}
	.cart-table .cart-table-th {
		align-items: center;
		justify-content: center;
		height: 7.4rem;
		font-weight: var(--sdcm-font-weight-semibold);
	}
	.cart-table .cart-table-header > .cart-table-th.th-chk {
		flex: 0 0 5.6rem;
	}
	.cart-table .cart-table-header > .cart-table-th.th-cnt {
		flex: 0 0 15%;
	}
	.cart-table .cart-table-header > .cart-table-th.th-price {
		flex: 0 0 15%;
	}
	.cart-table .cart-table-header .chk-total label{
		--sdcm-form-check--mobile-font-size: 0;
	}
	.cart-table .cart-table-body > .cart-item:first-child {
		border-top: 1px solid var(--sdcm-color-divider-gray-light);
	}
	.cart-table .cart-item {
		flex-direction: row;
		padding-bottom: 0;
	}
	.cart-table .cart-item .td-chk {
		flex: 0 0 5.6rem;
		align-items: center;
		padding-left: .8rem;
	}
	.cart-item .inp-chk.form-check {
		position: static;
	}
	.cart-table .cart-table-header .chk-selected {
		position: absolute;
		top: 0;
		left: 0;
		height: auto;
	}
	.cart-table .cart-table-header .chk-selected:before  {
		display:none;
	}
	.cart-table .cart-table-header .chk-selected .btn.text {
		border: 1px solid var(--sdcm-color-primary-40);
		font-weight: var(--sdcm-font-weight-regular);
		color: var(--sdcm-color-primary-50);
	}
	.cart-table .cart-item-info {
		flex-direction: row;
		padding: 2.4rem 6rem 3rem 0;
	}
	.cart-table .cart-item-info .cart-thumb {
		width: 11rem;
		height: 11rem;
	}

	.cart-table .cart-table-td.cart-item-etc {
		flex: 0 0 30%;
	}
	.cart-table .cart-table-td.cart-item-etc > div {
		flex: 0 0 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		border-left: 1px solid var(--sdcm-color-divider-gray-light);
	}

	.cart .payment {
		display: flex;
		flex-direction: row;
		gap: 3.2rem;
	}
	.cart .payment .list-group {
		flex: 0 0 70%;
		flex-direction: row;
		gap: 2.6rem;
		padding: 2.4rem 0;
		border-radius: 1.2rem;
		background-color: var(--sdcm-color-primary-5);
	}
	.cart .payment .list-group li {
		position:relative;
		flex: 0 0 auto;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		width: calc((100% - 5.2rem) / 3);
	}
	.cart .payment .list-group li:not(:last-child):after {
		content: '';
		position: absolute;
		top: 50%;
		left: 100%;
		width: 2.6rem;
		height: 2.6rem;
		transform: translateY(-50%);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
	.cart .payment .list-group li:nth-child(1):after{
		background-image: url(/images/sdcm/m/img-cart-plus.svg);
	}
	.cart .payment .list-group li:nth-child(2):after{
		background-image: url(/images/sdcm/m/img-cart-equal.svg);
	}

	.cart .payment .price {
		font-size: 2.2rem;
	}
	.cart .payment .list-group li.total {
		gap: 1rem;
	}
	.cart .payment .total > span {
		font-weight: var(--sdcm-font-weight-regular);
		font-size: 1.7rem;
	}
	.cart .payment .total .price {
		font-size: 2.2rem;
		font-weight: var(--sdcm-font-weight-bold);
		color: var(--sdcm-color-secondary-50);
	}
	.cart .payment .btn-wrap .btn {
		--sdcm-button--size-height : 5.6rem;
	}



	/* 주문/결제 */
	.pay .grid-wrap {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); /* 메인 / 사이드 */
		column-gap: 4rem;
    	align-items: flex-start;
	}

	.pay-main {
	    grid-column: 1;
	  }

	  .pay-side {
	    grid-column: 2;
	  }

	  .pay-side.sticky {
	    position: sticky;
	    top: 0; /* 기존 헤더+여백 */
	    padding-top: 6rem;
	  }

	  .pay .terms-item.pc-only {
	  	 display: flex;
	  }


}

@media (min-width: 1280px) {
	.contents {
		max-width: 1280px;
		margin: 0 auto;
	}
	.contents > .inner {
		padding: 0;
	}
	.store .header-any {
		padding: 0;
	}
}