/* ==========================================================================
   Quick View Modal (owner, 2026-09-27) — jaroti/framework/quickshop.php,
   #ts-quickshop-modal, loaded over admin-ajax.php. A completely separate
   render path from the PDP (its own jaroti_quickshop_single_product_title /
   _summary hook chain, biyani-pdp.php) - none of pdp.css reaches this modal,
   this file rebuilds the same buy-box parts and the same u/g module scale.

   Scoping: .ts-popup-modal / .close / .overlay / .popup-container are SHARED
   classes (the mobile menu drawer, the image viewer, the size-chart popup
   all reuse them) - every rule below is prefixed #ts-quickshop-modal so nothing
   here reaches those other popups. Desktop only: Jaroti_Quickshop itself never
   runs for a server-detected mobile UA (quickshop.php, wp_is_mobile() guard).
   ========================================================================== */

/* Backdrop: frosted plum, replacing the theme's plain black overlay. */
#ts-quickshop-modal .overlay {
	background: rgba(40, 16, 48, 0.45) !important;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#ts-quickshop-modal .overlay {
		-webkit-backdrop-filter: blur(6px) !important;
		backdrop-filter: blur(6px) !important;
	}
}

/* Dialog: ivory surface, radius 24, no black theme chrome. */
#ts-quickshop-modal .popup-container {
	background: var(--bj-ivory, #FBF8F3) !important;
	border-radius: 24px !important;
	box-shadow: 0 24px 64px rgba(18, 14, 10, 0.24) !important;
	overflow: hidden !important;
}
#ts-quickshop-modal .quickshop-content {
	border-radius: 24px !important;
	box-sizing: border-box !important;
}
#ts-quickshop-modal .woocommerce div.product {
	background: var(--bj-ivory, #FBF8F3) !important;
}

/* Close: 44px frosted-glass circle, top-right (replaces the theme's black square .close). */
#ts-quickshop-modal .close {
	top: 16px !important;
	right: 16px !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	border-radius: 999px !important;
	background: var(--bj-glass-bg-solid, rgba(255, 253, 248, 0.94)) !important;
	border: 1px solid var(--bj-glass-border-solid, rgba(140, 90, 43, 0.20)) !important;
	box-shadow: var(--bj-glass-shadow-solid, 0 1px 2px rgba(18, 14, 10, 0.06)) !important;
	color: var(--bj-ink, #1C1A17) !important;
	line-height: 42px !important;
	transition: background .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#ts-quickshop-modal .close {
		background: var(--bj-glass-bg, rgba(252, 249, 243, 0.58)) !important;
		-webkit-backdrop-filter: var(--bj-glass-blur, blur(14px) saturate(160%)) !important;
		backdrop-filter: var(--bj-glass-blur, blur(14px) saturate(160%)) !important;
		border: 1px solid var(--bj-glass-border, rgba(255, 255, 255, 0.55)) !important;
	}
}
#ts-quickshop-modal .close:hover {
	background: var(--bj-glass-bg-hover, rgba(252, 249, 243, 0.85)) !important;
	box-shadow: 0 6px 18px rgba(18, 14, 10, 0.12) !important;
}
#ts-quickshop-modal .close:focus-visible {
	outline: 2px solid #4A1F4F !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}
#ts-quickshop-modal .close:focus:not(:focus-visible) {
	outline: none !important;
}
#ts-quickshop-modal .close:after {
	content: "\00d7" !important;
	font-size: 26px !important;
	line-height: 42px !important;
	color: inherit !important;
}

/* Buy-box: same u=48px / g=16px module scale as the PDP grid, but width-flexible - the modal gives the
   summary panel much less room than the PDP's own fixed 496px (it shares the dialog with the gallery,
   confirmed by measuring the live modal), so circle-holding tracks stay a fixed 48px (u) and the rest
   (price, qty input, Buy now) share whatever space is actually left, via minmax(0,1fr) tracks. Reuses
   the PDP's own named-row idea so source order (hook priorities) doesn't have to match visual order. */
#ts-quickshop-modal div.product > .summary {
	padding-left: 24px !important;
	padding-right: 24px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 48px 48px !important;
	grid-template-rows: [meta] auto [title] auto [price] auto [swatch] auto [variation-desc] auto [row1] auto [row2] auto [row3] auto [more] auto [tags] auto !important;
	column-gap: 16px !important;
	row-gap: 0 !important;
	align-items: center !important;
}
#ts-quickshop-modal div.product > .summary form.cart,
#ts-quickshop-modal div.product > .summary .single-product-buttons,
#ts-quickshop-modal div.product > .summary .single_variation_wrap,
#ts-quickshop-modal div.product > .summary .woocommerce-variation-add-to-cart {
	display: contents !important;
}
#ts-quickshop-modal div.product > .summary form.cart::before,
#ts-quickshop-modal div.product > .summary form.cart::after,
#ts-quickshop-modal div.product > .summary .woocommerce-variation-add-to-cart::before,
#ts-quickshop-modal div.product > .summary .woocommerce-variation-add-to-cart::after {
	content: none !important;
}
#ts-quickshop-modal div.product > .summary > *,
#ts-quickshop-modal div.product > .summary :where(form.cart, .single_variation_wrap, .woocommerce-variation-add-to-cart) > * {
	grid-column: 1 / -1 !important;
	min-width: 0 !important;
}

/* Swatches (variable products): own row, full width, above row 1 */
#ts-quickshop-modal div.product > .summary table.variations {
	grid-row: swatch !important;
	margin: 16px 0 0 !important;
}
#ts-quickshop-modal div.product > .summary .woocommerce-variation.single_variation {
	grid-row: variation-desc !important;
	margin: 0 !important;
	font-size: 13px !important;
}
#ts-quickshop-modal div.product > .summary .woocommerce-variation-description:not(:empty) {
	margin: 8px 0 0 !important;
}
#ts-quickshop-modal div.product > .summary .reset_variations {
	grid-row: variation-desc !important;
	font-size: 12px !important;
}

/* Row 0: SKU · In stock (biyani-pdp.php, .bj-qv-meta) */
#ts-quickshop-modal div.product > .summary > .bj-qv-meta {
	grid-row: meta !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	font-family: var(--bj-font-body, "Jost", sans-serif) !important;
	font-size: 13px !important;
	line-height: 20px !important;
	color: var(--bj-mute, #716B5B) !important;
}
#ts-quickshop-modal div.product > .summary > .bj-qv-meta > .bj-qv-stock {
	color: var(--bj-mute, #716B5B) !important;
}
#ts-quickshop-modal div.product > .summary > .bj-qv-meta > .bj-qv-sku + .bj-qv-stock:before {
	content: "\00B7" !important;
	margin-right: 8px !important;
}
#ts-quickshop-modal div.product > .summary > .bj-qv-meta .out-of-stock {
	color: #8C2F39 !important;
}

/* Title: Marcellus, full height (an overflow-hidden line-clamp is a scroll container whose grid
   min-content contribution is 0, which collapses the title track inside the fixed-height summary
   panel and makes the centred heading overlap the SKU row above). */
#ts-quickshop-modal div.product > .summary > .product_title {
	grid-row: title !important;
	margin: 16px 0 0 !important;
	font-family: var(--bj-font-display, "Marcellus", Georgia, serif) !important;
	font-weight: 400 !important;
	font-size: 22px !important;
	line-height: 1.3 !important;
}
#ts-quickshop-modal div.product > .summary > .product_title a {
	color: var(--bj-ink, #1C1A17) !important;
	text-decoration: none !important;
}

/* Price */
#ts-quickshop-modal div.product > .summary > p.price,
#ts-quickshop-modal div.product > .summary > .ts-variation-price {
	grid-row: price !important;
	grid-column: 1 / span 4 !important;
	margin: 16px 0 0 !important;
	font-family: var(--bj-font-display, "Marcellus", Georgia, serif) !important;
	font-size: 22px !important;
	color: var(--bj-ink, #1C1A17) !important;
}

/* Row 1: qty span(2) · cart circle · wishlist circle */
#ts-quickshop-modal div.product > .summary form.cart .quantity {
	grid-row: row1 !important;
	grid-column: 1 / span 2 !important;
	width: auto !important;
	max-width: none !important;
	margin: 16px 0 0 !important;
}
#ts-quickshop-modal div.product > .summary form.cart .quantity .number-button,
#ts-quickshop-modal div.product > .summary form.cart .quantity .qty {
	height: 48px !important;
	box-sizing: border-box !important;
}
#ts-quickshop-modal div.product > .summary form.cart .quantity .qty {
	width: 100% !important;
}
#ts-quickshop-modal div.product > .summary form.cart .quantity:has(input.qty[max="1"]) .minus,
#ts-quickshop-modal div.product > .summary form.cart .quantity:has(input.qty[max="1"]) .plus {
	opacity: 0.35 !important;
	pointer-events: none !important;
	cursor: default !important;
}
#ts-quickshop-modal div.product > .summary .single_add_to_cart_button {
	grid-row: row1 !important;
	grid-column: 3 / span 1 !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	margin: 16px 0 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	border: 1px solid var(--bj-ink, #1C1A17) !important;
	border-radius: 999px !important;
	background-color: var(--bj-ink, #1C1A17) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FBF8F3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.75 3.75h2.1l2.3 10.6a1.6 1.6 0 0 0 1.57 1.27h8.36a1.6 1.6 0 0 0 1.56-1.24l1.61-6.88H5.9'/%3E%3Ccircle cx='9.6' cy='19.6' r='1.35'/%3E%3Ccircle cx='17' cy='19.6' r='1.35'/%3E%3Cpath d='M13.1 9.3v4.4M10.9 11.5h4.4'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 22px 22px !important;
	color: transparent !important;
	font-size: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background-color .2s ease, box-shadow .2s ease !important;
}
#ts-quickshop-modal div.product > .summary .single_add_to_cart_button:hover {
	background-color: #2D2A26 !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist {
	grid-row: row1 !important;
	grid-column: 4 / span 1 !important;
	margin: 16px 0 0 !important;
	display: flex !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-add-to-wishlist,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-add-button,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistexistsbrowse,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistaddedbrowse {
	margin: 0 !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a {
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	border-radius: 999px !important;
	background-color: var(--bj-glass-bg-solid, rgba(255, 253, 248, 0.94)) !important;
	border: 1px solid var(--bj-glass-border-solid, rgba(140, 90, 43, 0.20)) !important;
	color: var(--bj-ink, #1C1A17) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: hidden !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a svg {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	color: var(--bj-ink, #1C1A17) !important;
	stroke: currentColor !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a:hover {
	background-color: var(--bj-glass-bg-hover, rgba(252, 249, 243, 0.85)) !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .ts-tooltip,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .feedback,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .separator,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a.view-wishlist,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a span {
	display: none !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistaddedbrowse a::before,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistaddedbrowse a::after,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistexistsbrowse a::before,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistexistsbrowse a::after,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .exists a::before,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .exists a::after,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a.delete_item::before,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a.delete_item::after {
	content: none !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistaddedbrowse a,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .yith-wcwl-wishlistexistsbrowse a {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231C1A17' stroke='%231C1A17' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 20px 20px !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .exists a svg,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist .exists a svg path,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a.delete_item svg,
#ts-quickshop-modal div.product > .summary .bj-qv-wishlist a.delete_item svg path {
	fill: var(--bj-ink, #1C1A17) !important;
	stroke: var(--bj-ink, #1C1A17) !important;
}

/* Row 2: Buy now span(2) · WhatsApp circle span(1) · Instagram circle span(1) = 4x */
#ts-quickshop-modal div.product > .summary .ts-buy-now-button {
	grid-row: row2 !important;
	grid-column: 1 / span 2 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 16px 0 0 !important;
	padding: 0 16px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	border: 1px solid var(--bj-ink, #1C1A17) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--bj-ink, #1C1A17) !important;
	font-family: var(--bj-font-body, "Jost", sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 46px !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
#ts-quickshop-modal div.product > .summary .ts-buy-now-button:hover {
	background: rgba(28, 26, 23, 0.05) !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wa {
	grid-row: row2 !important;
	grid-column: 3 / span 1 !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	margin: 16px 0 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	border-radius: 999px !important;
	background: #15803D !important;
	color: #FFFFFF !important;
	text-decoration: none !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wa .bj-pdp-icon {
	width: 20px !important;
	height: 20px !important;
	color: #FFFFFF !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-wa:hover {
	background: #0F6B31 !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-instagram {
	grid-row: row2 !important;
	grid-column: 4 / span 1 !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	margin: 16px 0 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	border-radius: 999px !important;
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%) !important;
	color: #FFFFFF !important;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(214, 36, 159, 0.18) !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-instagram:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(214, 36, 159, 0.28) !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-instagram i {
	color: #FFFFFF !important;
	font-size: 22px !important;
}

/* Row 3: See on phone span(4) full width pill = 4x */
#ts-quickshop-modal div.product > .summary .bj-qv-see-phone {
	grid-row: row3 !important;
	grid-column: 1 / span 4 !important;
	width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 16px 0 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	border-radius: 999px !important;
	border: 1px solid var(--bj-glass-border-solid, rgba(140, 90, 43, 0.20)) !important;
	background: var(--bj-glass-bg-solid, rgba(255, 253, 248, 0.94)) !important;
	color: var(--bj-ink, #1C1A17) !important;
	font-family: var(--bj-font-body, "Jost", sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-see-phone:hover {
	background: var(--bj-glass-bg-hover, rgba(252, 249, 243, 0.85)) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 14px rgba(18, 14, 10, 0.08) !important;
}
/* "View full details →" */
#ts-quickshop-modal div.product > .summary .bj-qv-more {
	grid-row: more !important;
	margin: 24px 0 0 !important;
	font-family: var(--bj-font-body, "Jost", sans-serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	color: #9C6D1C !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}
#ts-quickshop-modal div.product > .summary .bj-qv-more:hover {
	color: #1C1A17 !important;
}

/* Tags dropped (owner); brand + category kept, quiet caption style. */
#ts-quickshop-modal div.product > .summary .meta-content {
	grid-row: tags !important;
	margin: 16px 0 0 !important;
	font-size: 12px !important;
	color: var(--bj-mute, #716B5B) !important;
}

/* Keyboard focus everywhere in the modal: thin plum outline, no gold ring. */
#ts-quickshop-modal a:focus-visible,
#ts-quickshop-modal button:focus-visible {
	outline: 2px solid #4A1F4F !important;
	outline-offset: 3px !important;
}
#ts-quickshop-modal a:focus:not(:focus-visible),
#ts-quickshop-modal button:focus:not(:focus-visible) {
	outline: none !important;
}

/* Phones (<= 767 px or touch): hide "See on phone" inside quick view (card eye hide is in
   biyani-design/controls.css section 2). */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
	#ts-quickshop-modal div.product > .summary .bj-qv-see-phone {
		display: none !important;
	}
}

/* Phone QR modal dialog (shared by PDP and quick view on shop/occasion/home pages). */
.bj-qr-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.bj-qr-modal.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	display: none !important;
}
.bj-qr-modal .is-hidden {
	display: none !important;
}
.bj-qr-modal__backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(28, 26, 23, 0.45);
}
.bj-qr-modal__dialog {
	position: relative;
	z-index: 1;
	width: 380px !important;
	max-width: 90vw !important;
	background: var(--bj-glass-bg-solid, rgba(255, 253, 248, 0.96)) !important;
	border: 1px solid var(--bj-glass-border, rgba(255, 255, 255, 0.65)) !important;
	border-radius: 20px !important;
	padding: 32px 24px 24px 24px !important;
	box-shadow: 0 16px 40px rgba(18, 14, 10, 0.16) !important;
	text-align: center !important;
	box-sizing: border-box !important;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.bj-qr-modal__dialog {
		background: var(--bj-glass-bg, rgba(252, 249, 243, 0.88));
		-webkit-backdrop-filter: var(--bj-glass-blur, blur(16px) saturate(160%));
		backdrop-filter: var(--bj-glass-blur, blur(16px) saturate(160%));
	}
}
.bj-qr-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	border: 1px solid rgba(140, 90, 43, 0.18);
	background: rgba(255, 253, 248, 0.8);
	color: var(--bj-ink, #1C1A17);
	font-size: 22px;
	line-height: 34px;
	text-align: center;
	cursor: pointer;
	padding: 0;
	transition: all 0.2s ease;
}
.bj-qr-modal__close:hover {
	background: #FFFFFF;
	border-color: rgba(74, 31, 79, 0.4);
}
.bj-qr-modal__canvas-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 16px;
}
.bj-qr-modal__canvas-wrap canvas {
	width: 260px !important;
	height: 260px !important;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(18, 14, 10, 0.08);
}
.bj-qr-modal__caption {
	font-family: var(--bj-font-display, "Marcellus", Georgia, serif);
	font-size: 15px;
	color: var(--bj-ink, #1C1A17);
	line-height: 1.4;
	margin: 0 0 16px 0;
}
.bj-qr-modal__share-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--bj-line, rgba(28, 26, 23, 0.10));
}
.bj-qr-modal__share-btn {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
}
.bj-qr-modal__share-btn svg {
	width: 18px !important;
	height: 18px !important;
	color: var(--bj-ink, #1C1A17) !important;
}
.bj-qr-modal__share-btn:hover svg {
	color: var(--bj-ink, #1C1A17) !important;
}
.bj-qr-copy-btn.is-copied .bj-icon-copy {
	display: none !important;
}
.bj-qr-copy-btn.is-copied .bj-icon-check {
	display: block !important;
}

/* Quick view height follows its content (owner, 2026-09-27: colour swatches made the details panel scroll).
   Jaroti pins .summary absolutely (top/bottom 0) to the gallery's height; lay gallery + details side by side
   instead, so the taller of the two sets the window height, capped at 90vh (then the window scrolls). */
#ts-quickshop-modal .ts-quickshop-wrapper {
	display: flex !important;
	align-items: stretch !important;
	height: auto !important;
}
#ts-quickshop-modal .ts-quickshop-wrapper > .woocommerce-product-gallery {
	flex: 0 0 auto !important;
}
#ts-quickshop-modal .ts-quickshop-wrapper > .summary {
	position: relative !important;
	inset: auto !important;
	height: auto !important;
	overflow: visible !important;
	flex: 1 1 0 !important;
	min-width: 0 !important;
}
#ts-quickshop-modal .quickshop-container {
	height: auto !important;
}
#ts-quickshop-modal .quickshop-content {
	max-height: 90vh !important;
	overflow-y: auto !important;
}
