@import url('/css/icheck-material.css');
/* titleBox */
.titleBox{display:flex;justify-content: space-between;align-items: center;flex-wrap: wrap;margin-bottom: 1.5em;}
#content_wrap .titleBox .h1tit{margin:0}

/* price_box */
.price_box { margin-bottom: 0; display: flex; align-items: baseline; }
.price_box * { margin: 0 .2em; font-weight: 500; font-size: .9em; color: var(--g_300); }
.price_box ins {text-decoration: none;font-size: 1em;display: flex;align-items: center;gap: 5px;}
.price_box ins span{font-size:22px;}
.price_box del{opacity: .75;margin-left: 20px;}

/* product_list */
#product_list .category_btn { position: absolute; padding: .4em 1em; background: var(--primary); border-radius: 2em; display: inline-block; line-height: 1; font-weight: 300; font-size: .9em; color: white; top: 1em; left: 1em; z-index: 2; }
#product_list .img_box{position:relative}
#product_list .img_box:before{content:url(/images/01/img-phover.png);position:absolute;right:-50px;top:-40px;opacity:0;transform:translate(20px,-20px) scale(.9);transition:all .4s ease;}
#product_list .item_row:hover .img_box:before{opacity:1;transform:translate(0,0) scale(1);}
#product_list .img_box:after{content:url(/images/01/img-phover2.png);position: absolute;bottom: -70px;left: -70px;opacity: 0;}
#product_list .item_row:hover .img_box:after{left:25px;bottom:30px;opacity:1;}
#product_list .img_box img {width: 100%;aspect-ratio: 17 / 21;border-radius: 50px 15px;}
#product_list .item_row .h3{height: 68px;-webkit-line-clamp: 2;margin-top: 15px;font-size: 20px;color: #595858;font-weight: 500;letter-spacing: 0.5px;font-family: 'Noto Serif TC';}
#product_list .info_box {display: flex;justify-content: space-between;align-items: center;margin-top: 15px;}
#product_list .info_box p{position:relative;z-index: 5;}
#product_list .info_box * {text-align: center;color: #595858;}
#product_list .info_box .contact_btn { padding: .1em .8em; position: relative; background: var(--primary); font-size: .9em; color: white; z-index: 11; }
#product_list .price_box { justify-content: center; }
#product_list .price_box del{margin-left:0}
#product_list .righJJ{
    display: flex;
    gap: 5px;
}
/* grid_list */
.grid_list {display: grid;grid-template-columns: repeat(3, 1fr);grid-gap: 4em;}

/* product_item */
.product_item { margin: 0 auto 3em; }
.product_item .item_title_box {position: relative;margin-bottom: 3em;padding-bottom: .5em;letter-spacing: .1em;text-align: center;font-weight: 500;font-size: 1.5em;}
.product_item .item_title_box:before { position: absolute; width: 3em; height: .1em; background: var(--primary); display: block; bottom: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); content: ""; }

/* product_detail */
#product_detail { flex-wrap: wrap; display: flex; justify-content: space-between; }

/* imglist */
#imglist { width: 45%; }
#imglist a , #imglist img {width: 100%;aspect-ratio: 17 / 21;object-fit: cover;}
#imglist .img_box {margin-bottom: 1.3em;padding: 2.5%;border: 1px var(--g_100) solid;}
#imglist .img_nav .item { margin: 0 .5em; width: 100px; aspect-ratio: 1/1; border: 1px var(--g_100) solid; }
#imglist .img_nav .item img {margin: 10%;width: 80%;aspect-ratio: 1/1;}

/* product_info */
#product_info { margin-left: 5%; width: 1%; flex: 1 1 auto; }
#product_info .tit_box { margin-bottom: 2em; }
#product_info .tit_box .cat { color: var(--g_500); }
#product_info .tit_box .title {font-weight: 500;font-size: 27px;font-family: 'Noto Serif TC';letter-spacing: 1px;margin-bottom: 15px;}
#product_info .tit_box article, .specinfo p { margin-top: 1em; font-size: .9em; color: var(--g_700); }
#product_info .price_box ins {margin: 0 .5em 0 0;font-size: 1.3em;color: #595858;}

/* order_box */
#order_box .box label { width: 4em; display: block; font-size: .9em; color: var(--g_600); }
#order_box #quantity_box label { width: 100%; }

/* shape_box */
#shape_box { margin-top: 1.3em; }
#shape_box .control_list { margin-bottom: 1.3em; }
#shape_box .control_list .option_list { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; }
#shape_box .control_list .option_list font { padding: .4em 1em; border: 1px var(--g_200) solid; line-height: 1; color: var(--g_700); cursor: pointer; }
#shape_box .control_list .option_list font.action {background: var(--fourty);border-color: var(--fourty);color: var(--g_100);}

/* q_control */
.q_control { border: 1px var(--g_200) solid; display: inline-flex; align-items: stretch; }
.q_control button { position: relative; width: 2em; cursor: pointer; }
.q_control button:before { position: absolute; width: 30%; height: 1px; background: var(--g_500); display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); content: ""; }
.q_control button.plus:after { position: absolute; width: 30%; height: 1px; background: var(--g_500); display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); content: ""; }
.q_control input { padding: .3em; width: 5em; border: 0; border-radius: 0; text-align: center; }
.q_control button[disabled] , .q_control input[disabled] , #buy_btns button[disabled] { opacity: .5; cursor: not-allowed; }

/* buy_btns */
#buy_btns { display: flex; flex-wrap: wrap; align-items: center; gap: .3em .5em; }
#buy_btns button { padding: .3em .5em; width: 7em; border: 1px var(--g_200) solid; text-align: center; }
#buy_btns button:hover{background:#333;color:white}
#buy_btns button[data-type="0"] {background: var(--fourty);border-color: var(--fourty);color: white;}
#buy_btns button[data-type="0"]:hover{background:#333}

/* quantity_box */
#quantity_box { margin-bottom: 1.3em; display: flex; flex-wrap: wrap; align-items: center; gap: .3em .5em; }
#quantity_box .inventory_txt { margin-top: .3em; width: 100%; font-size: .9em; color: var(--g_600); }
#quantity_box .inventory_txt.red { color: var(--red); }

/* track */
#track { display: inline-flex; align-items: center; color: var(--g_500); }
#track:before { margin-right: .2em; font-family: 'Font Awesome 5 Free'; font-weight: 400; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; -webkit-transition: none; transition: none; content: "\f004"; }

/* add_product_list */
#add_product_list .grid_list { grid-gap: .8em 1em; }
#add_product_list li { position: relative; padding: 4%; border: 2px var(--g_100) solid; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#add_product_list li [class*="icheck-material"] { position: absolute; margin-right: 0; top: 4%; right: 0; }
#add_product_list li .img_box img { width: 100px; aspect-ratio: 1/1; }
#add_product_list li .info_box { margin-left: 4%; width: 1%; flex: 1 1 auto; }
#add_product_list li .info_box h3 { margin-bottom: .5em; max-height: 3.2em; height: auto; -webkit-line-clamp: 2; }

/* product_tabs */
#product_tabs .tabs {margin-bottom: 1.5em;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;background: #f5f5f5;}
#product_tabs .tabs li {margin: 0 2em;padding: .5em .2em;border-bottom: 2px transparent solid;letter-spacing: .1em;font-weight: 500;font-size: 1.1em;color: var(--g_400);cursor: pointer;}

#product_tabs .tabs li.active {border-color: var(--fourty);color: var(--fourty);}

/* other_product */
#other_product {grid-template-columns: repeat(4, 1fr);grid-gap: 3em;}

/* sort_box */
#sort_box { position: relative; margin-bottom: 1em; display: flex; justify-content: end; align-items: center; gap: .5em 1em; }
#sort_box font { padding: .3em 1em; width: 9em; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 5l-6.5 7L1 5' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") white no-repeat calc(100% - .5em) 50% / auto .5em; background-clip: padding-box; border: 1px solid var(--g_200); border-radius: .2em; cursor: pointer; }
#sort_box .sort_list { position: absolute; width: 9em; display: flex; flex-direction: column; background: #fff; box-shadow: 0 0 10px #ccc; top: 3em; right: 0; -webkit-transform: translateY(-.5em); transform: translateY(-.5em); opacity: 0; z-index: -1; pointer-events: none; }
#sort_box .sort_list button { padding: .3em 1em; text-align: center; }
#sort_box .sort_list button.action { background: var(--blue); border-color: var(--blue); color: white; }
#sort_box .sort_list button:not(:last-child) { border-bottom: 1px var(--g_200) solid; }
#sort_box font[data-type="1"] { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.5 7.5L7 .5l6.5 7' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
#sort_box .sort_list[data-type="1"] { -webkit-transform: translateY(.2em); transform: translateY(.2em); opacity: 1; z-index: 999; pointer-events: auto; }

/* ask_btns */
#ask_btns { margin: 1.3em 0; display: flex; align-items: center; }
#ask_btns .btn { width: min(50%, 15em); background: #fff; border: 1px var(--g_200) solid; border-radius: 0; }
#ask_btns .btn.contact_btn { background: var(--primary); border-color: var(--primary); color: white; }

@media screen and (min-width: 1161px){
	#shape_box .control_list .option_list font:hover {background: var(--fourty);border-color: var(--fourty);color: var(--g_100);}
	#track:hover {color: #9d3658;}
	#track:hover:before { font-weight: 900; }
}
@media screen and (max-width: 1280px){
    #product_list .item_row .h3{font-size:18px;height: 61px;}
}
@media screen and (max-width: 980px){
	.product_item { width: min(700px, 100%); }
	#imglist { margin-bottom: 2em; width: 100%; }
	#product_info { margin-left: 0; width: 100%; }
	#add_product_list .grid_list, .grid_list{ grid-template-columns: repeat(2, 1fr); }
	#other_product { grid-template-columns: repeat(2, 1fr); grid-gap: 2em; }
}
@media screen and (max-width: 640px) {
    .grid_list{grid-template-columns: 1fr;gap: 3em;}
    .titleBox{display:block;}
    #product_list .item_row .h3{font-size:18px;height:auto}
	#add_product_list li .img_box { width: 100%; }
	#add_product_list li .img_box img { width: 100%; aspect-ratio: 1/1; }
	#add_product_list li .info_box { position: relative; margin: .5em 0 0; width: 100%; }
	#add_product_list .grid_list { grid-template-columns: repeat(1, 1fr); }
	#other_product {grid-gap: 2em;grid-template-columns: 1fr;}
    #product_info .tit_box .title{font-size:22px}
}