.qd-shoppable-image, .qd-shoppable-image-item {
	position: relative;
	display: grid;
	overflow: hidden;
}

.qd-shoppable-image.qd-layout-1-2 {
	display: grid;
	grid-template-columns: 1fr 2fr;
}

.qd-shoppable-image.qd-layout-1-1 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.qd-shoppable-image.qd-layout-2-1 {
	display: grid;
	grid-template-columns: 2fr 1fr;
}

.qd-shoppable-image.qd-layout-1-1-1 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 767px) {
	.qd-shoppable-image.qd-shoppable-image {
		grid-template-columns: none;
	}
}

.qd-shoppable-image-item.hidden-anchor .qd-shoppable-image__hotspot{
	display: none;
}

.qd-shoppable-image__hotspot.unavailable:not([data-shopline-editor-block]) {
	display: none;
}

.qd-shoppable-image__image {
	display: block;
}
.qd-shoppable-image__image {
	font-size: 0;
	line-height: 0;
}
.qd-shoppable-image__image--mobile,
.qd-shoppable-image__image--desktop {
	width: 100%;
}
.qd-shoppable-image__image--mobile {
	display: block;
}
.qd-shoppable-image__image--desktop {
	display: none;
}
.qd-shoppable-image__image img {
	width: 100%;
	height: auto;
}

@media (min-width: 769px) {
	.qd-shoppable-image__image--mobile {
		display: none;
	}

	.qd-shoppable-image__image--desktop {
		display: block;
	}
}

@media (max-width: 767px) {
	.qd-shoppable-image__hotspot {
		display: none;
	}
}

.qd-shoppable-image__hotspot {
	position: absolute;
	width: 30px;
	height: 30px;
	cursor: pointer;
	border-radius: 50%;
	outline: 0;
	z-index: 2;
}
/* .qd-shoppable-image__hotspot:hover::before,
.qd-shoppable-image__hotspot:hover::after {
	transform: scale(1.1);
} */
.qd-shoppable-image__hotspot::before,
.qd-shoppable-image__hotspot::after {
	content: "";
	height: 15px;
	width: 15px;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	background-color: var(--color__hotspot);
	/* transition: transform 0.2s; */

	box-shadow: 0 0 0 4px var(--color__hotspot_shadow);
	opacity: 0.5;
}
.qd-shoppable-image__hotspot::after {
	/* animation: pulse 2s infinite; */
	opacity: 0.5;
	box-shadow: 0 0 0 var(--color__hotspot_shadow);
}
@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 var(--color__hotspot_shadow);
		opacity: 0.5;
	}

	70% {
		box-shadow: 0 0 0 10px var(--color__hotspot_shadow);
		opacity: 0.5;
	}

	95% {
		box-shadow: 0 0 0 10px var(--color__hotspot_shadow);
		opacity: 0;
	}

	100% {
		box-shadow: 0 0 0 0 var(--color__hotspot_shadow);
		opacity: 0;
	}
}

.qd-shoppable-image__hotspot .hotspot__tooltip-wrapper {
	position: absolute;
	top: 0px;
	left: 46px;
	/* background: rgba(0, 0, 0, 0.6); */
  background: #fff;
    backdrop-filter: blur(8px);
	/* border-radius: 10px; */
	overflow: hidden;
	padding: 4px;
	text-decoration: none;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s, transform 0.2s;
	/* transition-delay: 300ms; */
	transform: translateY(-16px);
	box-shadow: 0px 10px 20px rgba(var(--color-text), 0.1);
	width: 380px;
}
/* 
@media (max-width: 959px) {
	.qd-shoppable-image .shoppable-image__hotspot .hotspot__tooltip-wrapper {
		padding: 2px;
		width: unset;
	}
} */

.qd-shoppable-image .shoppable-image__hotspot--active {
	z-index: 3;
}

.qd-shoppable-image .shoppable-image__hotspot--active::after {
	animation: none;
	box-shadow: 0 0 0 10px var(--color__hotspot_shadow, #fff);
	opacity: 0.5;
}

.qd-shoppable-image .shoppable-image__hotspot--active .hotspot__tooltip-wrapper {
	opacity: 1;
	transform: translateY(0);
	pointer-events: initial;
}

.qd-shoppable-image .product-tooltip {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 12px 0 12px 12px;
	color: #333;
	line-height: 1.2;
}

/* .qd-shoppable-image .product-tooltip:hover{
	color: #fff;
} */

.qd-shoppable-image .product-tooltip__image {
	width: 130px;
	height: 130px;
	object-fit: cover;
	
}

.qd-shoppable-image .product-tooltip__content {
	padding-left: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.qd-shoppable-image .product-tooltip__content:hover{
	color: #333;
}

.qd-shoppable-image .product-tooltip__title {
	font-size: 14px;
	font-family: var(--sort-body-font), 'Lato Regular', Neutraface Text Book, sans-serif;
	display: -webkit-box;
    -webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-word;
}

.qd-shoppable-image .product-tooltip__title:hover{
	color: #333;
}

.qd-shoppable-image .product-tooltip__price-wrapper {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 2px;

  font-weight: normal;
  font-style: normal;
  -moz-font-feature-settings: "kern", "liga", "clig", "calt", "case";
  -ms-font-feature-settings: "kern", "liga", "clig", "alt", "case";
  -webkit-font-feature-settings: "kern", "liga", "clig", "calt", "case";
  font-feature-settings: "kern", "liga", "clig", "calt", "case";
}

.qd-shoppable-image .product-tooltip__member-price,
.qd-shoppable-image .product-tooltip__regular-price {
	white-space: nowrap;
}

.qd-shoppable-image .product-tooltip__member-price[hidden] {
	display: none;
}

/* 无会员价时隐藏 Regular 标识，与会员价的隐藏方式保持一致 */
.qd-shoppable-image .product-tooltip__regular-price-label[hidden] {
	display: none;
}

/* 会员只展示会员价：售价/常规价整行隐藏；无会员价时由 JS 移除 hidden 兜底回放 */
.qd-shoppable-image .product-tooltip__regular-price[hidden] {
	display: none;
}

/* 会员价金额字号； */
.qd-shoppable-image .product-tooltip__member-price {
	font-size: 16px;
}
.product-tooltip__member-price{
	margin-top: 10px;
}

/* Regular 标识：固定 #666666，不参与会员判定着色；
   不做垂直偏移，随售价行的 baseline 对齐与前面价格底对齐 */
.qd-shoppable-image .product-tooltip__regular-price-label {
	font-family: Lato, Lato;
	font-weight: 400;
	font-size: 10px;
	color: #666666;
	margin-left: 4px;
}

.qd-shoppable-image .product-tooltip__price-wrapper:hover{
	color: #333;
}

.qd-shoppable-image .product-tooltip__price-amount {
	font-size: 14px;
	/* font-weight: 700; */
}
.qd-shoppable-image .product-tooltip__price-amount.flash-sale,
.qd-shoppable-image .product-tooltip__interval_price-amount.flash-sale,
.qd-shoppable-image .product-tooltip__price-amount.is-sale,
.qd-shoppable-image .product-tooltip__interval_price-amount.is-sale{
	color: #902A1F;
}

/* Sale 标识：与售价同色；不做垂直偏移，与价格保持同一行基线 */
.qd-shoppable-image .product-tooltip__sale-label {
	color: #902A1F;
	font-family: Lato, Lato;
	font-weight: 400;
	font-size: 10px;
	margin-left: 4px;
}

/* 售价行改为可换行的弹性布局：窄屏（移动端弹窗）下划线原价换到 Sale 价下方，不被遮挡 */
.qd-shoppable-image .product-tooltip__regular-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}

/* 划线原价：灰色弱化，划线样式沿用 price-origin 既有规则；
   独占一行展示在售价下方；限定在售价行内并提高特异性，避免被文件后部的通用 price-origin 字号规则覆盖 */
.qd-shoppable-image .product-tooltip__regular-price .product-tooltip__price-origin {
	color: #666666;
	font-size: 14px;
	width: 100%;
	margin-left: 0;
	line-height: 1.4;
}

/* 价格颜色按会员身份区分：
   - Regular 行（price-vip / price-guest 由模板层判定输出在价格元素上）：
     会员身份下该行价格就是常规价，展示 #222222；非会员展示 #666666。
   - 会员价行（member-price）：展示 #694A0A 深金色，与 VIP PRICE 标识同色。
   移动端弹窗是整棵 tooltip 的克隆节点，因此同样生效。
   促销/折后价（flash-sale、is-sale）保持红色，用 :not 排除，不参与会员色覆盖。 */
/* VIP 会员价：深金色（会员价行）；
   Regular 行内的价格对会员来说就是常规价，展示 #222222 */
.qd-shoppable-image .product-tooltip .product-tooltip__price-amount.price-vip:not(.flash-sale):not(.is-sale),
.qd-shoppable-image .product-tooltip .product-tooltip__interval_price-amount.price-vip:not(.flash-sale):not(.is-sale) {
  color: #222222 !important;
}
.qd-shoppable-image .product-tooltip .product-tooltip__member-price,
.qd-shoppable-image .product-tooltip .product-tooltip__regular-price-label.price-vip {
  color: #694A0A !important;
}

/* 普通用户价格：深色 */
.qd-shoppable-image .product-tooltip .product-tooltip__price-amount.price-guest:not(.flash-sale):not(.is-sale),
.qd-shoppable-image .product-tooltip .product-tooltip__interval_price-amount.price-guest:not(.flash-sale):not(.is-sale),
.qd-shoppable-image .product-tooltip .product-tooltip__regular-price-label.price-guest {
  color: #222222 !important;
}

.qd-shoppable-image .product-tooltip__interval_price-amount {
  font-size: 13px;
}

.qd-shoppable-image .product-tooltip__price-origin {
	font-size: 16px;
	text-decoration: line-through;
	/* color: #000000; */
	margin-left: 8px;
}

.qd-shoppable-image .product-tooltip__add-cart {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 14px;
  text-align: left;
	/* color: rgb(var(--color-button-text)); */
	/* background-color: rgb(var(--color-button-background)); */
	/* color: #000; */
	/* background-color: #fff; */
	font-family: var(--sort-body-font), 'Lato Regular', sans-serif;
	/* height: 33px;
	line-height: 33px; */
	/* padding: 0 16px; */
	cursor: pointer;
  text-decoration: underline;
	user-select: none;
}

.qd-shoppable-image .product-tooltip__image-wrapper {
	display: inline-block;
    font-size: 0;
	background-color: rgb(var(--color-image-background));
	flex-shrink: 0;
}

.qd-shoppable-image__button.mobile {
	display: none;
}

.qd-shoppable-image__button .product-tooltip {
	padding:20px 0 20px 20px;
}
.qd-shoppable-image__button .product-tooltip__title {
	color: #3D3819;
	font-size: 16px;
	white-space: normal;
}
.qd-shoppable-image__button .product-tooltip__price-amount{
	/* color: #C60000; */

	/* font-size: 20px; */
}
.qd-shoppable-image__button .product-tooltip__price-origin {
	font-size: 16px;

}
/* .qd-shoppable-image__button .product-tooltip__add-cart {
	background-color:#3D3819;
	color: #F3F2E0;
} */
.qd-shoppable-image__button .product-tooltip__add-cart:hover {
	color: #333333;
}
.qd-shoppable-image__button .product-tooltip + .product-tooltip {
	border-top: 1px solid #BBBBBB;
}

.qd-shoppable-image__button {
	/* background-color: rgb(var(--color-image-background)); */
	/* color: rgb(var(--color-button-text)); */
	/* background-color: rgb(var(--color-button-background)); */
	/* position: absolute;
	bottom: 30px;
	right: 24px;
  color: #000000;
  border: 1px solid #000;
  background-color: #fff;
	font-family: var(--sort-body-font), 'Lato Regular', sans-serif;
	height: 48px;
	line-height: 48px;
	padding: 0 20px;
	cursor: pointer;
	user-select: none;
	white-space: nowrap; */
  position: absolute;
  font-size: 0.875rem;
  background-color: #ffffff;
  bottom: 1rem;
  right: 1.25rem;
  text-decoration: none;
  padding-left: 1rem;
  padding-right: 1rem;
  color: #111827;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
	white-space: nowrap;
}

.qd-shoppable-image__hide-anchor-button {
	left: 24px;
	right: auto !important;
	bottom: 1rem;
	/* background-color: transparent; */
	/* border: 1px solid #fff;
	color: #fff; */
	color: rgb(var(--color-button-secondary-text));
	/* background-color: rgb(var(--color-button-secondary-background)); */
}

.qd-shoppable-image__hide-anchor-button::after {
	position: absolute;
	top: 0;
	left: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    content: "";
	box-shadow: 0 0 0 var(--button-border-thickness, 1px) 
}

@media (max-width: 992px) {
	.qd-shoppable-image__button {
		height: 39px;
		line-height: 39px;
		bottom: 16px;
		right: 15px;
	}
}
/* pc端 */
@media (min-width: 992px) {
  .qd-shoppable-image .product-tooltip__price-wrapper {
    font-weight: 700;
  }
  .qd-shoppable-image__button {
    /* 暂时去掉这个按钮样式 */
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }
}
@media (max-width: 768px) {
	.qd-shoppable-image__button {
		display: none;
		height: 33px;
		line-height: 33px;
		bottom: 12px;
		right: 8px;
	}
	.qd-shoppable-image__button.mobile {
		display: block;
	}
  .qd-shoppable-image .product-tooltip__price-origin {
    margin-left: 0;
  }
}

.qd-shoppable-image__button.mobile .modal__content{
	background: #fff;
  top: 45%;
  overflow: hidden;
}
.qd-shoppable-image__button.mobile .modal__content .scroll__content{
	max-height: 80vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding-bottom: 45%;
}
.qd-shoppable-image__button.mobile .modal__title{
	padding: 0 20px;
	height: 52px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 20px;
	font-weight: 700;
	color: #3D3819;
}
.qd-shoppable-image__button.mobile .modal__close-control {
	background: transparent;
	border: none;
}
.qd-shoppable-image__button.mobile .modal__close-control svg {
	width: 15px;
	height: 15px;
}
