@charset "utf-8";
/* CSS Document */


/* ------------------ CATALOG DETAIL ------------------ */
.equal-height.catalog-detail li .box .arrow-left {
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
}
.equal-height.catalog-detail li .box .arrow-left button {
	background-color: rgba(147,47,103,0.7);
	background-image: url("../img/arrow-back.png");
}
.equal-height.catalog-detail li .box a {
	z-index: 1;
}
.equal-height.catalog-detail { margin-bottom: 50px; }
.equal-height.catalog-detail li {
	background-color: transparent;  
  	flex: 0 0 calc((100% - (0 * 30px)) / 1);
	display: block;
	position: relative;
	box-sizing: border-box;
}
.equal-height.catalog-detail li .box {
	width: 50%;
	margin: 0;
	padding: 0;
	display: block;
	position: relative;
	float: left;
	top: 0;
	order: 1;
	overflow: hidden;
}
.equal-height.catalog-detail li .box .img-portrait { aspect-ratio: 1 / 1.05; }
.equal-height.catalog-detail li .box:hover { background-color: transparent; }
.equal-height.catalog-detail li .box:hover img {
	transform: scale(1.05);
	opacity: 1;
}
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb {
	width: 100%;
	margin: 0;
	margin-bottom: 30px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	gap: 20px;
	flex-wrap: wrap;
}
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li {
	background-color:#faf1f6;  
	flex: 0 0 calc((100% - (5 * 20px)) / 6);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	position: relative;
}
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li .box   { width: 100%; height: 100%; }
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li .box .img-square { aspect-ratio: 1 / 1; }
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li .box:hover { background:  var(--purple02-color); }
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li .box:hover img {
	transform: scale(1.1);
	opacity: .6;
}
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li .box.active { background:  var(--purple02-color); }
.equal-height.catalog-detail li .catalog-info  ul.catalog-thumb  li .box.active img {
	transform: scale(1.1);
	opacity: .4;
}

.equal-height.catalog-detail li .catalog-info { 
	width: 50%;
	margin: 0;
	padding: 50px 20px 20px 50px;
	border: 1px solid #ebc9dc;
	border-left: none;
	display: block;
	position: absolute;
	float: right;
	top: 0;
	right:0;
	order: 2;
	overflow: hidden;
}
.equal-height.catalog-detail li .catalog-name { 
	margin: 0 0 30px;
	padding: 0;
	font-family: var(--secondary-font);
	font-size: clamp(28px, 14vw, 50px);	
	font-weight: 700;
}
.equal-height.catalog-detail li .catalog-code { 
	margin-bottom: 7px;
	padding-bottom: 7px;
	border-bottom: 1px solid #ebc9dc;
	display: block; 
}
.catalog-size-single { 
	margin-bottom: 7px;
	padding-bottom: 7px;
	border-bottom: 1px solid #ebc9dc;
	display: none; 
}
.equal-height.catalog-detail li .catalog-size { 
	width: 340px;
	height: 40px;
	margin: 0;
	margin-bottom: 10px;
	padding: 0;
	vertical-align:top;
	bottom: auto;
	background-color: transparent;
	overflow: hidden;
}
.equal-height.catalog-detail li .catalog-note { 
	margin-bottom: 7px;
	padding-bottom: 7px;
	border-bottom: 1px solid #ebc9dc;
	display: block; 
}
.equal-height.catalog-detail li .catalog-price { 
	width: 100%;
	margin-bottom: 20px;
	padding-top: 15px;
	padding-bottom: 0;
	padding-left: 0;
	font-weight: 500;
	text-align: left !important;
	border: none;
	background-color: transparent;
	position: relative;
}
.equal-height.catalog-detail li .catalog-price .text-price { display: inline-block; }
.equal-height.catalog-detail li .catalog-number { 
	width: 340px!important;
	height: auto;
	margin: 0;
	padding: 0;
	display: block;
	position: relative;
	bottom: 0;
	right: 0;
	overflow: hidden;
}
.equal-height.catalog-detail li .catalog-number .qtySelector { 
	width: calc(100% - 170px);
	height: 40px;
	margin: 0;
	margin-right: 5px;
	padding: 0;
	display: inline-block!important;
	overflow: hidden;
	z-index: 2; 
}

.equal-height.catalog-detail li .catalog-number .catalog-add { 
	width: auto;
	margin: 0;
	padding: 0;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	vertical-align: top;
	bottom: 0;
	right: 0;
	top: 0;
	overflow: hidden;
	z-index: 1;
}
.equal-height.catalog-detail li .catalog-number .catalog-add input { 
	width: 100%;
	margin: 0;
	padding-left: 24px;
	padding-right: 24px;
	background-image:url(),
		linear-gradient(to right,
              var(--purple00-color) 0px, 
              var(--purple00-color) 5px,
              var(--purple00-color) 5px,
              var(--purple00-color) 100%);
}
.equal-height.catalog-detail li .catalog-add input:hover { 
	background-image: url(),
		linear-gradient(to right,
			var(--purple02-color) 0px, 
			var(--purple02-color) 5px,
			var(--purple00-color) 5px,
			var(--purple00-color) 100%);
}
.equal-height.catalog-detail li .catalog-price.coming-soon {
	color: var(--purple00-color);
	font-style: normal;
	font-size: 22px;
	text-align: left!important;
	letter-spacing: 0.5px;
}
	

/* ------------------ POPUP LAYER ------------------ */
/* เลเยอร์พื้นหลัง */
.lightbox-overlay {
  	position: fixed;
  	top: 0; left: 0;
  	width: 100%; height: 100%;
	background-color: rgba(78,100,53,0.7);
  	display: none;
  	align-items: center;
  	justify-content: center;
  	z-index: 9997;
}

/* กล่องคอนเทนต์ */
.lightbox-content {
  max-width: 90%;
  max-height: 90%;
  position: relative;
}

/* รูปภาพ / วีดีโอ */
.lightbox-content img,
.lightbox-content video {
	max-width: 90vw;     /* กว้างสุดไม่เกินหน้าจอ */
	max-height: 90vh;    /* สูงสุดไม่เกินหน้าจอ */
	object-fit: contain; /* ทำให้ไม่ทะลุจอทั้งแนวตั้ง-แนวนอน */
	display: block;
	margin: auto;
	background: rgba(108,86,123,1);
	opacity: 0;                 /* เริ่มโปร่ง */
	transition: opacity 0.8s ease; /* เอฟเฟกต์ fade */
}
.lightbox-content img.fade-in,
.lightbox-content video.fade-in {
  opacity: 1;  /* ค่อย ๆ ปรากฏ */
}

/* ปุ่มปิด */
.lightbox-close {
	width: 60px;
	height: 60px;
  	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
  	top: 0; 
  	left: 0;
  	font-size: 70px;
	font-family: var(--third-font);
  	color: #fff;
  	cursor: pointer;
  	font-weight: 100;
	line-height: 1;
	text-align: center;
	background: rgba(147,47,103,0.8);
	z-index: 9998;
	
}
.lightbox-close::before {
  content: "×";
  display: inline-block;
  transition: transform 0.3s ease;
}

.lightbox-close:hover::before {
 	transform: rotate(180deg);
	transition: transform 0.6s ease; 
}
