/* =========================== shop main ============================= */

.shopVisWrap{
	width:100%; 
	height:800px;
	z-index:1;
	overflow:hidden;
}

.shopVis{
	height:100%;
	position:relative;
}

.shopVis .bg01{background:url(../images/main/shopVis01.jpg)no-repeat 50% 50%; background-size:cover;}
.shopVis .bg02{background:url(../images/main/shopVis02.jpg)no-repeat 50% 50%; background-size:cover;}
.shopVis .bg03{background:url(../images/main/shopVis03.jpg)no-repeat 50% 50%; background-size:cover;}
.shopVis .bg04{background:url(../images/main/shopVis04.jpg)no-repeat 50% 50%; background-size:cover;}

.shopVis .textWrap{
	width:80%;
	margin:330px auto 0;
}

.shopVis .textWrap a{
	display: inline-block;
	font-size: 14px;
	background: transparent;
	color: #000;
	border: 1px solid #3b3836;
	transition: all 0.5s;
	padding: 20px 30px;
	border-radius: 7px;
	margin-top: 30px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
}
.shopVis .textWrap a:hover{background: #3b3836;color: #fff;}
.shopVis .text{
	display: table;
	font-family:'Montserrat', sans-serif;
	font-size:14px;
	font-weight: 500;
	color: rgba(255,255,255,1);
	background:#000;
	padding: 7px 10px;
	line-height:1;
	margin-bottom:30px;
}
.shopVis .text01{font-size: 30px;color: #000;font-weight:500;}
.shopVis .text02{font-size: 52px;font-weight:700;color: #000; margin:15px 0 30px;}
.shopVis .smTxt{font-size:18px;color: #696969;line-height:1;margin-top: 25px;}

.shopVis .swiper-button-prev, 
.shopVis .swiper-button-next{
	width:26px;
	height:46px;
	color:transparent
}

.shopVis .swiper-button-prev{	background:url(../images/main/arrowL.png);}
.shopVis .swiper-button-next{	background:url(../images/main/arrowR.png);}

.shopVis .swiper-button-prev, 
.shopVis .swiper-container-rtl .swiper-button-next{left:30px;}

.shopVis .swiper-button-next, 
.shopVis .swiper-container-rtl .swiper-button-prev{right:30px;}

.shopVis .swiper-pagination-progressbar{
	width:180px;
	height:3px;
	background:rgba(255,255,255,0.3);
	position:absolute;
	top:600px;
	left:50%;
	margin-left:-600px;
}

.shopVis .swiper-pagination-progressbar-fill{background:#fff;}

.tpl_2 .shopVisWrap{
	width: 95%;
	height:900px;
    margin: 0 auto;
    border-radius: 30px;
}
.tpl_2 .shopVis .swiper-button-prev {
    width: 60px;
    height: 120px;
    background: rgba(0, 0, 0, .2) url(../images/main/arrowL.png) no-repeat 15px 50%;
    border-radius: 0 120px 120px 0;
    background-size: 18px;
}
.tpl_2 .shopVis .swiper-button-next {
    width: 60px;
    height: 120px;
    background: rgba(0, 0, 0, .2) url(../images/main/arrowR.png) no-repeat 30px 50%;
    border-radius: 120px 0 0 120px;
    background-size: 18px;
}
.tpl_2 .shopVis .swiper-button-prev, 
.tpl_2 .shopVis .swiper-container-rtl .swiper-button-next{left:0;}

.tpl_2 .shopVis .swiper-button-next, 
.tpl_2 .shopVis .swiper-container-rtl .swiper-button-prev{right:0;}


/* 메인 퀵카테고리 */
.shopTopCate{
	width: 90%;
    margin: 120px auto;
}

.shopTopCate ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5%;
}

.shopTopCate li{text-align: center;}

.shopTopCate li a{
	display: block;
	font-size: 1.3em;
	color: #000;
}

.shopTopCate li a p{
	width: 100px;
	height: 100px;
	border: 1px solid #eee;
	border-radius: 25px;
	margin-bottom: 20px; 
	transition-duration:0.3s;
}

.shopTopCate li a p:hover{
	border: 1px solid #e1e1e1;
	box-shadow: 0 8px 15px 0 rgba(17,21,23,.1);
	-webkit-transform: translateY(-5px);-moz-transform: translateY(-5px);-ms-transform: translateY(-5px);-o-transform: translateY(-5px);transform: translateY(-5px);
}

.shopTopCate li a p.cate_01{background:#f5f5f5 url(../images/main/cate_02.png) no-repeat 50% 50%;}
.shopTopCate li a p.cate_02{background:#f5f5f5 url(../images/main/cate_01.png) no-repeat 50% 50%;}
.shopTopCate li a p.cate_03{background:#f5f5f5 url(../images/main/cate_06.png) no-repeat 50% 50%;}
.shopTopCate li a p.cate_04{background:#f5f5f5 url(../images/main/cate_03.png) no-repeat 50% 50%;}
.shopTopCate li a p.cate_05{background:#f5f5f5 url(../images/main/cate_07.png) no-repeat 50% 50%;}
.shopTopCate li a p.cate_06{background:#f5f5f5 url(../images/main/cate_06.png) no-repeat 50% 50%;}
.shopTopCate li a p.cate_07{background:#f5f5f5 url(../images/main/cate_07.png) no-repeat 50% 50%;}

/* 신제품 롤링 */
.shopNewPd{
	width: 90%; 
	margin:120px auto 0; 
	position:relative;	
}

.newPd{
	width: 100%;
	position:relative;
	overflow: hidden;
	height:fit-content;
}

.shopNewPd .swiper-button-prev, 
.shopNewPd .swiper-button-next{
	width: 50px;
	height: 50px;
	color:transparent;
	z-index: 10;
	border-radius: 50%;
}

.shopNewPd .swiper-button-prev{ 
	background: rgba(255,255,255,.1) url(../images/main/arrowL.png) no-repeat 50% 50%; 
	filter: invert(100%);
	background-size: 25%;
}

.shopNewPd .swiper-button-next{ 
	background: rgba(255,255,255,.1) url(../images/main/arrowR.png) no-repeat 50% 50%; 
	filter: invert(100%);
	background-size: 25%;
}

.shopNewPd .swiper-button-prev, 
.shopNewPd .swiper-container-rtl .swiper-button-next{top:290px; left:-25px;}

.shopNewPd .swiper-button-next, 
.shopNewPd .swiper-container-rtl .swiper-button-prev{top:290px; right:-25px;}

.shopNewPd .pd_Info{margin-bottom:0;}

/* 메인 베너 */
.shopBn{
	width:90%;
	display: flex;
	flex-wrap: wrap;
	gap: 3%;
	margin:0 auto;
}

.shopBn a{
    flex-basis: 48.5%;
    display: flex;
    flex-direction: column;
}

.shopBn a img{ width:100%;}

.shopTit{
	font-size: 4.5rem; 
	font-weight: 700; 
	color: #000;
	text-align: center; 
	line-height: 1; 
	margin-bottom: 50px;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: -0.02em;
}
.shopTit p{
	font-size: 1.2rem;
	color: rgba(0, 0, 0, .5);
	font-weight: 500;
	margin-top: 10px;
	letter-spacing: 0;
	line-height: 1.3;
}

/* 슬라이더 전체 박스 */
.slider_how {
  --slide-width: 220px;
 /* --slide-height: 220px;*/
  width: 100%;
  overflow: hidden;
  margin: 120px auto 0;
}

/* 슬라이드들을 가로로 나열 + 애니메이션 */
.slider_how .slide-track {
  display: flex;
  width: calc(var(--slide-width) * 22);   /* 슬라이드 22개 (11 + 11 복제) */
  animation: scroll_how 40s linear infinite; 
}

/* 마우스 올리면 애니메이션 일시정지 */
.slider_how:hover .slide-track {animation-play-state: paused;}

/* 개별 슬라이드 카드 */
.slider_how .slide {
  flex: 0 0 var(--slide-width);
  height: var(--slide-height);
  position:relative;
}
.slider_how .slide::before{
	content:url('../images/main/how_arr.png'); 
	width: 15px; 
	display: block; 
	position: absolute; 
	left: 0; 
	top: 110px;
}

/*.slider_how .slide img {  width: 100%;  height: 100%;  object-fit: cover;  display: block;}*/

.slider_how a {
	display:block; 
	width:100%; 
	height:100%; 
	text-align: center;
}
.slider_how a p.howImg {
	width:250px; 
	height:242px; 
	margin-bottom:40px;
	transition: 1s all ease; transform: scale(1);
}
.slider_how a p.howImg:hover{transform: scale(1.1);}
.slider_how a p.howTxt {
	font-size:20px; 
	color:#000; 
	padding: 40px 0;    
	background: #f0f0f0;
}
.slider_how a p.howTxt span{
	font-size:15px; 
	color:#ababab; 
	font-weight:400; 
	font-family:'Montserrat', sans-serif;
}

/* 핵심 애니메이션 */
@keyframes scroll_how {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-1 * var(--slide-width) * 12)); }
}

/* main_best */
.main_best {margin: 200px auto;}
.main_best ul{
	position: relative;
	width:90%;
	margin: -30px auto 0;;
	display: flex;
	align-items: center;
	gap: 100px;
	justify-content: space-between; 
}
.main_best li{flex-basis: 33.33%;display: flex;flex-direction: column;margin: 0 auto 60px;}
.main_best li a{display:block;}
.main_best li:nth-child(2){margin: 60px auto 0;}
.main_best dl{text-align: center;}
.main_best dt{height: 400px;overflow:hidden;}
.main_best dt img{height:100%;transition: 1s all ease;transform: scale(1);}
.main_best dt img:hover{transform: scale(1.1); filter: brightness(70%);}
.main_best dd.name{
	font-family:'Montserrat', sans-serif;
	font-size:30px;
	color:#000;
	line-height: 35px;
	font-weight: 600;
	margin: 30px 0 10px;
}
.main_best dd{font-size: 16px;color: #7d7d7d;line-height: 1.5;}

/* main_video */
.main_video {
	position: relative;
	width:100%;
	background: url(../images/main/mv_bg.png) no-repeat;
	background-size: cover;
	overflow: hidden;
	padding: 120px 0;
	text-align: center;
}
.main_video .video_wrap {
    position: relative;
    width: 1000px; 
    margin: 0 auto;
}
.main_video iframe{
	width: 100%;
    height: 562px;
    margin: 0 auto;
}


/* 전체메뉴 */
.allPd{	width: 90%;	margin:120px auto;}

.more_btn{border-top: 1px solid #eee;}
.more_btn a{ 
	display: table; 
	margin: -1px auto 0; 
	padding: 15px 50px; 
	border: 1px solid #eee;
}

.main_official{
	width: 100%;	
	margin:0 auto; 
	position: relative; 
	background: #f8f8f8;
    padding: 120px 0;
}
.main_official2{border-top:1px solid rgba(0,0,0,.2);}
.main_official .official_slider,
.main_official .official_slider2 {width: 90%; margin:0 auto; overflow: hidden; }
.main_official .official_item a{display: block; overflow: hidden;}
.main_official .official_item img{width:100%; transition: 1s all ease; transform: scale(1);}
.main_official .official_item img:hover{transform: scale(1.1); filter: brightness(70%);}
.main_official .slide_arrow {
	position: absolute;
	width:40px;
	height:40px;
	background:url(../images/common/arrow-left.png);
	bottom:250px;
	background-size: cover;
	border: 1px solid rgba(0, 0, 0, .08); 
	border-radius: 20px;
	z-index: 9;
}
.main_official .official_prev, 
.main_official .official_prev2 {left: 5%; margin-left: -20px;}
.main_official .official_next, 
.main_official .official_next2 {right: 5%; margin-right: -20px;transform: rotate(180deg) !important;}
.main_official .btn {position: absolute; right: 5%; top: 210px}
.main_official .btn a {
	position: relative;
	display: inline-block;
	font-size:14px;
	color:rgba(0,0,0,0.7);
	transition:0.3s;
	padding: 10px 30px;
	border: 1px solid rgba(0,0,0,0.3);
}
.main_official .btn a:hover{background:rgba(0,0,0,0.7); color:rgba(255,255,255,0.7);}

/* 메인 프로모션 */
.shopPro{
	width:90%;
	display: flex;
	gap: 3%;
	margin:100px auto;
}
.shopPro .proBox{width: calc(31.33% - 0px);}
.shopPro .proBox p{	width:100%; height:auto; overflow:hidden;}
.shopPro .proBox p img{width:100%; transition: 1s all ease; transform: scale(1); }
.shopPro .proBox p img:hover{transform: scale(1.1); filter: brightness(70%);}
.shopPro .proBox dl{padding: 40px 5px; border-bottom: 1px solid #ebebeb;line-height: 1.5;}
.shopPro .proBox dt{font-size: 1.5rem; color: #000;}
.shopPro .proBox dd{font-size: 1.1rem; color: #929292;}

/* 메인하단컨텐츠 */

.btnCont{width:90%;	margin: 120px auto;}
.btnCont ul{display: flex; flex-wrap: wrap;	gap: 2%;}
.btnCont li {
	flex-basis: 15%;
	display: flex;
	flex-direction: column;
	text-align:center;
	border: 1px solid #eee;
	border-radius:30px;
	background:#eff1f6;
	transition-duration:0.3s;
}
.btnCont li:nth-child(even){background:#f4efec;}
.btnCont li.btn_bg01 {background:url(../images/main/btn_b01.jpg) no-repeat; background-size: cover;}
.btnCont li.btn_bg02 {background:url(../images/main/btn_b02.jpg) no-repeat; background-size: cover;}
.btnCont li.btn_bg03 {background:url(../images/main/btn_b03.jpg) no-repeat; background-size: cover;}
.btnCont li:hover{
	border: 1px solid #e1e1e1; 
	box-shadow: 0 8px 15px 0 rgba(17,21,23,.1);
	-webkit-transform: translateY(-5px);
	-moz-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	-o-transform: translateY(-5px);
	transform: translateY(-5px);
}
.btnCont li a {
	display:block;
	height: 100%;
	padding: 60px 20px 30px;
	font-size: 1.3rem;
	transition-duration:0.3s;
}
.btnCont li.btn_bg a {
	line-height:220px; 
	padding: 0; 
	color:#fff; 
	font-size: 1.5rem;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
.btnCont li a p{margin-bottom:20px;}
.btnCont li a p.btn_01{background:url(../images/main/btn_b01.png) no-repeat 50% 50%;height:48px;}
.btnCont li a p.btn_02{background:url(../images/main/btn_b02.png) no-repeat 50% 50%;height:48px;}
.btnCont li a p.btn_03{background:url(../images/main/btn_b03.png) no-repeat 50% 50%;height:48px;}
.btnCont li a p.btn_04{background:url(../images/main/btn_b04.png) no-repeat 50% 50%;height:48px;}

/* 메인추가컨텐츠 */
.mainCont01{background: #f4f7f6; padding: 150px 0;}
.mainCont01 .inner{
	width:90%; 
	margin: 0 auto; 
	display:flex; 
	justify-content: space-between;
	align-items: center;
}
.mainCont01 .inner .left{}
.mainCont01 .inner .left p{font-size: 22px;}
.mainCont01 .inner .left h3{ font-size: 60px; margin: 10px 0 80px; line-height: 1;}
.mainCont01 .inner .left a{
    display: inline-block;
    padding: 22px 50px;
    background: #333;
    border-radius: 30px;
    font-size: 15px;
    color: #fff;
}
.mainCont01 .inner .right{
	width: 60%;
	height: 600px;
	background:url(../images/main/mainCont.png) no-repeat 50% 50%;
	background-size: cover;
}


/* =========================== shop prod list ============================= */

.prodFilter{ position: relative; width: 100%;}
.user .prodFilter,
.user .prodGalList,
.user .pd_list_hor{padding: 0 10px;}/*마이오피스 주문등록*/

.prodFilter select{width:130px;background-position-x:90%;vertical-align:bottom;}
.prodFilter a.select{
	display:inline-block;
	font-size:1rem;
	color:#aaa;
	line-height:40px;
	position: relative;
	padding: 0 15px; 
	transition-duration:0.3s;
}
.prodFilter a.on, 
.prodFilter a:hover{color:#000;}
.prodFilter a.select:before {
	content: '';
	display: block;
	position: absolute;
	left: -2px;
	top: 12px;
	width: 1px;
	height: 14px;
	background: #e9e9e9;
}
.prodFilter a:nth-child(1).select:before {background: transparent;}
.prodFilter a.view{
	display:inline-block;
	width:40px;
	height:40px;
	border: 1px solid #eee;
	border-radius:3px;
	text-align:center;
	line-height:40px;
	color:#aaa;
	vertical-align:bottom;
	margin-left: 5px;
}
.prodFilter a.view.on{
	color: #111;
	border: 1px solid rgba(0,0,0,0.5) !important;
	outline: 0;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0, 0.1);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0, 0.1);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0, 0.1);
}
.prodFilter a.view.viewGal{background:url(../images/common/icon_list.svg) no-repeat 50% 50%; background-size: 50%;}
.prodFilter a.view.viewList{background:url(../images/common/icon_list2.svg) no-repeat 50% 50%; background-size: 50%;}
.prodFilter a.view img{width:50%;}

.totalProdNum{
	float:left;
	display:inline-block;
	line-height:40px;
	color: #444;
	font-size: 1.3rem;
}

.pd_list ul{
    display: flex;
    flex-wrap: wrap;
    gap: 3%;
    margin:30px auto 0;
}

.pd_list li{
	width: calc(22.75% - 0px);
    height: fit-content;
}

/*
.skeleton {
  width: 100%;
  padding-top: 100%;
  background-color: #f0f0f0;
  position: relative;
  overflow: hidden;
}

.skeleton::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  animation: shimmer 1.2s infinite linear;
  background: linear-gradient(to right, #f0f0f0 0%, #e0e0e0 50%, #f0f0f0 100%);
  background-size: 200% 100%;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
*/
.pd_list .pdImg,
.newPd .pdImg{
	/*border-radius: 20px;*/
	overflow: hidden;
	position: relative;
	background: #f8f8f8;
	border: 1px solid #f4f4f4;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.pd_list .pdImg a,
.newPd .pdImg a{
	display: block; 
	width: 100%;
	aspect-ratio: 1 / 1;
}

.pd_list .pdImg img,
.newPd .pdImg img{
	width: 100%;
	height: 100%;
	transition: 1s all ease;
	transform: scale(1);
}

.pd_list .pdImg img:hover,
.newPd .pdImg img:hover{transform: scale(1.1); filter: brightness(70%);}

.pd_list .pdImg > a::before,
.newPd .pdImg > a::before{
	content: ''; 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
	background-color: rgba(0,0,0,0); 
	transition: all 0.2s ease;
}

.pd_list .pdImg:hover > a::before,
.newPd .pdImg:hover > a::before{background-color: rgba(0,0,0,0.15);}

.pd_list .pdImg:hover .pd_btn,
.newPd .pdImg:hover .pd_btn,
.pd_list .pdImg:hover .pd_btn2,
.newPd .pdImg:hover .pd_btn2{
	margin-bottom: 0; 
	opacity: 1;
}

.pd_list .pd_btn,
.newPd .pd_btn,
.pd_btn2{
	width:100%;
	display: flex;
	position: absolute;
	bottom: 0;
	left: 0;
	margin-bottom: -10px;
	opacity: 0;
	transition: all 0.2s ease;
}

.pd_list .pd_btn a,
.newPd .pd_btn a{
	display:block;
	width: 50%;
	height:65px;
	font-size: 1.1rem;
	color: #fff;
	text-align: center;
	line-height: 65px;
	background: #283748;
	transition-duration:0.3s;
	position: relative;
}

.pd_btn .btn a:first-child:after{content: ""; display: block; width: 1px; height: 12px; background: rgba(255, 255, 255, 0.4); position: absolute; right: 0; top: 14px;}
.pd_btn .btn a:hover{color: rgba(255,255,255,1)}

.pd_list .pd_btn a:first-child:after,
.newPd .pd_btn a:first-child:after,
.pd_btn2 a.line:after{
	content: ""; 
	display: block; 
	width: 1px; 
	height: 12px; 
	background: rgba(255, 255, 255, 0.4); 
	position: absolute; 
	right: 0; 
	top: 25px;
}
.pd_btn2 a.line:after{top: 20px;}

.pd_btn2{justify-content: space-between;}
.pd_btn2 .galCount{	display: flex;	border:1px solid #283748;}

.pd_btn2 a {
    display: block;
    width: 100%;
    height: 50px !important;
    line-height: 50px !important;
}
.pd_btn2 a.countBtn{
	background: #fff; 
	color:#000; 
	max-width: 30px;
	height: 48px !important; 
	line-height: 48px !important;
}
.pd_btn2 a:first-child:after{display:none !important;}
.pd_btn2 a span.pcNo{display:none;}

.pd_btn2 input{
	width: 50px; 
	height: 48px;
	text-align:center; 
	border: 0; 
	border-radius: 0;
}

.pd_Info{margin: 40px 0;}
.pd_Info a{display: block;}
.pd_Info p:after{
	content: ""; 
	display: block; 
	clear: both;
}

.pd_Info p span.tagCate,
.pd_list_hor .tagCate{
	display: inline-block;
	background: #283748;
	color: #fff;
	font-size: 1rem;
	padding: 8px 15px;
	border-radius: 25px;
}

.pd_Info p span.sale,
.pd_list_hor span.sale {
	font-size: 1rem;
	font-weight: 800;
	color: #e8421a;
	line-height: 30px;
}

.pd_Info dt{
	color: #000;
	font-size: 1.45rem;
	margin: 15px 0 30px;
	font-weight: 400;
	line-height: 1.3;
	height: 68px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	word-break: break-all;
	overflow: hidden;
	border-bottom: 1px solid #e5e5e5;
	padding-bottom: 15px;
}

.pd_Info dd{
	font-size: 1.1rem;
	color: #000;
	line-height: 1;
	margin-top: 16px;
}

.pd_Info dd span,
.pd_list_hor .horiPrice span{float:right;}

.pd_Info dd span.price,
.pd_list_hor .horiPrice span.price{
	font-size: 1.2rem;
	font-weight: 600;
}

.pd_Info dd span.price2,
.pd_list_hor .horiPrice span.price_B{
	font-size: 1.3rem;
	font-weight: 700;
}

.pd_Info dd span,
.pd_list_hor .horiPrice span{font-size: 1.2rem;font-weight: 600;}

.galCountInner{margin-top: 20px;}
.galCountInner p{
	display: inline-block;
	font-size: 18px;
	color: #000;
	line-height: 40px;
}

.galCountInner .galCount{ 
	float: right; 
	margin-top: 0; 
	display: flex;
}

.galCountInner .galCount a{
	font-size: 18px;
	display:inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border: 1px solid #e0e0e0;
	text-align:center;
	transition:all 0.3s;
}

.galCountInner .galCount input{
	width: 80px !important;
	height: 40px;
	margin:0 3px;
	border: 1px solid #e0e0e0;
	text-align:center; 
	vertical-align: top; 
	font-size: 1rem;
}

.galCountInner .countBtn.minus{background: rgba(255,255,255,1) url(../images/common/icon_minus.svg) no-repeat 50% 50%; background-size: 50%;}
.galCountInner .countBtn.plus{background: rgba(255,255,255,1) url(../images/common/icon_plus.svg) no-repeat 50% 50%; background-size: 50%;}

.galCountInner .addCart{margin-left:5px; display:none !important; border: 0 !important}
.galCountInner .addCart i{color:#fff; font-size: .95em;}

.galCountInner .prodInfo p span{float:right;}
.galCountInner .prodInfo p:after{
	content:"";
	display:block;
	clear:both;
}

.pd_Info .btn {display: flex; justify-content: space-between;}
.pd_Info .btn a{
	display: block;
	width: calc(50% - 0px);
	font-size: 1rem;
	color: rgba(255,255,255,.8);
	background: #283748;
	margin: 10px 0;
	padding: 12px 0;
    text-align: center;
    border-radius: 3px;
}

.pd_list_hor{}
.pd_list_hor dl{
	display: flex;
	background: #f7f9fa;
	padding: 20px;
	margin-top: 40px;
	border-radius: 10px;
	align-items: center;
}

.pd_list_hor dl dt{
    width: 12%;
    margin-right: 2%;
    aspect-ratio: 1 / 1;
}

.pd_list_hor dl dt a{display: block;width: 100%;aspect-ratio: 1 / 1;}

.pd_list_hor dl dt p{
	border:1px solid #eee;
	overflow:hidden;
	width:100%;
	aspect-ratio: 1 / 1;
}

.pd_list_hor dl dt p img{width:100%;height:100%;transition:all 0.3s;}
.pd_list_hor dl dt img:hover{transform: scale( 1.2 );}

.pd_list_hor dl dd{	
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
}

.pd_list_hor .ptName{
	position: relative;
	width: 40%;
	padding-bottom: 30px;
}

.pd_list_hor .tagCate{margin:10px 0;}

.pd_list_hor h2{
	font-size: 1.3rem;
	font-weight: 400;
	color: #000;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	word-break: break-all;
	overflow: hidden;
}

.pd_list_hor span.sale{
	position: absolute;
	left: 0;
	bottom: 0;
}

.pd_list_hor .horiPrice{width: 20%;}
.pd_list_hor .horiPrice p{line-height: 2rem;}
.pd_list_hor .horiPrice div{width:100%}

.pd_list_hor .horiPrice span.tit{
	float: left;
	display: block;
	width: 35%;
	font-size: 1.1rem;
	color: #000;
	text-align:left;
}

.pd_list_hor .horiPrice span{
	width:65%;
	text-align:right;
}

.pd_list_hor .galCountInner{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%;
	margin: 0;
}

.pd_list_hor dl dd .btn{ width: 10%;}
.pd_list_hor dl dd .btn a{
	display: block;
	font-size: 1rem;
	color: rgba(255,255,255,.8);
	background: #283748;
	margin: 8px 0;
	padding: 10px 0;
    text-align: center;
    border-radius: 3px;
}


/* =========================== media-1580 ============================= */

@media screen and (max-width: 1580px)and (min-width: 1081px) {
	
	/* shop main */

	.pd_list_hor dl dt {width: 15%;	}
	.pd_list_hor .horiPrice,
	.pd_list_hor .galCountInner{width: 25%;}

	.viewDetail .tabCont{padding:0;}

}

/* =========================== media-1280 ============================= */

@media screen and (max-width: 1280px) {
	
	.shopNewPd .swiper-button-prev, 
	.shopNewPd .swiper-button-next{
		display:none;
	}
	
}


/* =========================== media-1080 ============================= */

@media screen and (max-width: 1080px) {

	/* shop main */	
	.pd_list ul {gap: 2% !important;}
	.pd_list li {width: calc(32% - 0px);}
	
	.main_best ul{gap: 30px;}
}


/* =========================== media-980 ============================= */

@media screen and (max-width: 980px) {  
	.pd_Info dt{font-size: 1.3em;}
	.pd_Info dd span.price2, 
	.pd_list_hor .horiPrice span.price2{font-size: 1.2em;}
	.pd_Info dd{font-size: 1em;}
	.pd_Info dd span,
	.pd_list_hor .horiPrice span{font-size: 1.1em;}
	
	.pd_btn{display:none !important;}
	.pd_btn2{display:flex !important;}
	.pd_list .pdImg .pd_btn2,
	.newPd .pdImg .pd_btn2{
		margin-bottom: 0; 
		opacity: 1;
	}
	.pd_list .pd_btn2 a.countBtn, 
	.newPd .pd_btn2 a.countBtn,
	.pd_list .pd_btn2 input, 
	.newPd .pd_btn2 input{max-width: 40px;}
	.pd_btn2 a span.mbNo{display:none;}
	.pd_btn2 a span.pcNo{display:block;}
	.pd_btn2 a span i{font-size: 1.3em;line-height: 50px;}
	.pd_btn2 a.line:after{height: 50px; top:0}
	
	.galCountInner p{display: none;}
	.galCountInner .galCount input,
	.pd_list_hor .galCountInner .galCount input {width: calc(100% - 120px) !important;}
	.galCountInner .addCart{display:block !important;}

	.pd_list_hor dl dt {width: 13%;	}
	.pd_list_hor .ptName {width: 35%;}
	.pd_list_hor .horiPrice,
	.pd_list_hor .galCountInner{width: 27%;}
	.pd_list_hor .horiPrice p{line-height: 1.7rem;}
	.pd_list_hor  .galCountInner .galCount input{width: calc(100% - 80px) !important;}
	
	.pd_list_hor dl {align-items: normal;}
	.pd_list_hor dl dt {width: 35%; margin-right:5%;}
	.pd_list_hor dl dd {display: block; width: 60%;	}
	.pd_list_hor dl dd div {width: 100% !important ;}

	.pd_list_hor .tagCate {display: none;}
	.pd_list_hor .ptName {
		padding: 5px 0 10px;
		border-bottom: 1px solid rgba(0, 0, 0, .1);
		margin-bottom: 15px;
	}
	.pd_list_hor span.sale{
		right: -10px !important;
        left: auto;
        top: -15px;
	}	

	.pd_list_hor dl dd .btn {display: flex; margin-top: 10px;}
	.pd_list_hor dl dd .btn a {width: 48%; margin:0 1%;	}
	
	.prodFilter a.select{padding: 0 8px;}
	
	.pd_btn2 a,
	.pd_btn2 a.countBtn{height: 36px !important; line-height: 36px !important;}
	.pd_btn2 a.countBtn,
	.pd_btn2 input{height: 34px !important; line-height: 34px !important; max-width:28px !important;}
	.pd_btn2 input{max-width:20px !important; padding: 0;}
	.pd_btn2 a.line:after{height: 36px; top:0}
	.pd_btn2 a span i{font-size: 1.15em;line-height: 36px;}

	/* shop main */
	
	.shopVisM{height:650px;}
	.shopVisM .shopVis .bg01{background:url(../images/main/mMainVis1.jpg)no-repeat 50% 50%; background-size:cover;}
	.shopVisM .shopVis .bg02{background:url(../images/main/mMainVis2.jpg)no-repeat 50% 50%; background-size:cover;}
	.shopVisM .shopVis .bg03{background:url(../images/main/mMainVis3.jpg)no-repeat 50% 50%; background-size:cover;}
	.shopVisM .shopVis .bg04{background:url(../images/main/mMainVis4.jpg)no-repeat 50% 50%; background-size:cover;}
	.shopVisM .shopVis .textWrap{display:none;}
	
	.shopTopCate li a{font-size: 1.15em;}
	
	.shopBn {display: block !important ;}	
	.shopBn a {width: 100%;}
	.shopBn a:nth-child(1) {margin-bottom:40px;}

	.shopTopCate ul{gap: 2.5%;}
	.shopTopCate li{width: calc(12% - 0px);}
	.shopTopCate li a p {
		border-radius: 20px;
		display: block;
		margin: 0 auto 20px;
	}

	.btnCont ul {gap: 5% !important ;}
	.btnCont li {flex-basis: 30%;}
	.btnCont li:nth-child(-n+3){margin-bottom:30px;}
	.btnCont li a {font-size: 1.15rem;}
	.btnCont li.btn_bg a{font-size: 1.25rem;}
	
	.mainCont01 {padding: 80px 0;}
	.mainCont01 .inner .right{width:50%;}
	
	.m_allmenu{
		position: relative;
		width: 100%;
        border: 1px solid #e5e5e5;
        margin: 0 auto 30px;
        display: block;
        border-bottom: 0;
        background: #fff;
    }
    .m_allmenu:after{
    	content: "";
    	display: block;
	    width: 100%;
	    height: 1px;
	    background: #e5e5e5;
	    position: absolute;
	    bottom: 0;
	   }
	.m_allmenu ul{display: flex;flex-wrap: wrap;height: auto;justify-content: flex-start;}
	.m_allmenu li{width: calc(33.33% - 0px);border-right: 1px solid rgba(0,0,0,.1);border-bottom: 1px solid rgba(0,0,0,.1);margin: 0;}
	.m_allmenu li a{display: block;font-size: 1em;color: rgba(0,0,0,.7);background: #fff;overflow:hidden;text-align: center;transition-duration:0.3s;padding: 15px 5px;border: 0;}
	.m_allmenu li a.active, .m_allmenu li a:hover{color: rgba(0,0,0,1);font-weight: 600; background-image: none;}
	.m_allmenu li a.active span,
	.m_allmenu li a:hover span{color: rgba(0,0,0,1) !important ;}
	.m_allmenu li:nth-child(3),
	.m_allmenu li:nth-child(6){border-right: 0;}
	.m_allmenu li a:before,
	.m_allmenu li a:after{display:none;}
	
	.prodFilter .pc_disNo{display:block;}
	
	.main_video .video_wrap{
		position: relative;
	    padding-bottom: 56.25%;
	    width: 85%;
	    height: 0;
	    overflow: hidden;
    }
	.main_video iframe{position: absolute;
    top: 0;
    left: 0%;
    width: 100%;
    height: 100%;}
	
}

/* =========================== media-780 ============================= */

@media screen and (max-width: 780px) {

	/* shop prod list */
	
	.shopTit{font-size: 3rem; margin-bottom:30px;}

	.pd_list ul {gap: 4% !important;}
	.pd_list li {flex-basis: 48% !important;}
	
	.galCountInner .galCount{
		display: flex;
		justify-content: space-between;
		float: none;
	}

	
	/* shop main */
	.shopPro{display: block;}
	.shopPro .proBox{width: calc(100% - 0px);}
	.shopPro .proBox p{height: 200px !important ;}

	.shopTopCate{margin: 60px auto;}
	.shopTopCate ul{gap:3%}
	.shopTopCate li{flex-basis: 31.3333%; border-radius: 20px;}
	.shopTopCate li:nth-child(3n){margin-bottom:15px;}
	.shopTopCate li a p {width: 100%;}
	
	.prodFilter .select{width:100px;}
	.prodFilter .select.none{display:none !important;}
	
	.shopPro .proBox dl{padding: 20px 5px 40px;}
	.shopPro .proBox dt{font-size: 1.35rem;}

	.btnCont ul {gap: 3% !important ;}
	.btnCont li {flex-basis: 31.3333%; border-radius: 20px;}
	.btnCont li:nth-child(-n+3){margin-bottom:15px;}
	.btnCont li a{padding: 30px 0;}
	.btnCont li.btn_bg a{line-height: 150px;}
	
	.mainCont01 {padding: 80px 0;}
	.mainCont01 .inner{display:block;}
	.mainCont01 .inner .left h3{margin: 10px 0 40px;}
	
	.slider_how {
		--slide-width: 60vw;  /* 모바일에서는 화면 기준 */
	    --slide-height: 60vw;
	}
	.slider_how .slide{flex: initial !important; height: initial !important;}
	.slider_how .slide-track{animation: scroll_how 80s linear infinite;}
	
	.shopNewPd,
	.main_best,
	.allPd{margin: 100px auto 120px;}
	.main_video{padding: 80px 0;}
	
	.main_best ul{display: block; margin: 0 auto;}
	.main_best li{position: relative; width: 100%;}
	.main_best li:nth-child(2){margin: 0 auto 60px;}
	.main_best dt{height: 250px; overflow: hidden}
	.main_best dt img{
		width: 100%; 
		object-fit: cover; /* 이미지 비율 유지 + 영역에 맞게 채우기 */
		object-position: center;
	}
	.main_official{padding: 80px 0 130px;}
	.main_official .btn{
		top: auto;
        left: 50%;
        bottom: 80px;
        margin-left: -70px;
    }
    .main_official .slide_arrow{bottom: 40%;}

}

/* =========================== media-580 ============================= */

@media screen and (max-width: 580px) {

}


