/* =========================================================
   Tea Jagodic — Variable product (Print / Canvas) front-end
   Loaded on product pages, after shop.css (reuses its tokens).
   ========================================================= */

/* Hide the native WooCommerce variation selects — our tabs/cards drive them */
.single-product .variations_form .variations,
.single-product .variations_form .reset_variations {
	display: none !important;
}

/* Respect the hidden attribute over grid/flex display */
.single-product .tj-sizeblock[hidden],
.single-product .tj-size-cards[hidden],
.single-product .tj-subtitle[hidden],
.single-product .tj-gallery[hidden],
.single-product .tj-detail[hidden] {
	display: none !important;
}

/* Size groups (Portrait / Square Crop) */
.single-product .tj-sizegroup + .tj-sizegroup {
	margin-top: 30px;
}
.single-product .tj-sizegroup__title {
	font-family: var(--tj-sans);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tj-ink);
	margin: 0 0 10px;
}

/* ---- Custom dual gallery: images stacked one after another --- */
.single-product .tj-gallery__dots { display: none; } /* mobile-only, enabled in @media below */
.single-product .tj-gallery__stack {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.single-product .tj-gallery__img {
	display: block;
	width: 100%;
	height: auto;
}
/* Show the original photo as-is — no added matte/stroke.
   (Fine-art source files already include their own white border.) */
.single-product .tj-gallery__img--first {
	background: transparent;
	padding: 0;
	box-shadow: none;
}

/* ---- Material tabs ------------------------------------------ */
.single-product .tj-material-tabs {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	gap: 0;
	margin: 4px 0 26px;
	border: 1px solid var(--tj-line);
	border-radius: 999px;
	padding: 5px;
	background: #fff;
}
.single-product .tj-tab {
	appearance: none;
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: 13px 18px;
	font-family: var(--tj-serif);
	font-size: 17px;
	letter-spacing: .02em;
	color: var(--tj-muted);
	cursor: pointer;
	transition: background .25s ease, color .25s ease;
}
.single-product .tj-tab.is-active {
	background: var(--tj-ink);
	color: #fff;
}

/* ---- "Select size" header + subtitle ------------------------ */
.single-product .tj-sizehead {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 14px;
	flex-wrap: wrap;
}
.single-product .tj-sizehead__title {
	font-family: var(--tj-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tj-ink);
}
.single-product .tj-subtitle {
	font-family: var(--tj-sans);
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--tj-muted);
}

/* ---- Size cards --------------------------------------------- */
.single-product .tj-size-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 0 0 26px;
}
.single-product .tj-size-card {
	appearance: none;
	background: #fff;
	border: 1px solid var(--tj-line);
	border-radius: 10px;
	padding: 16px 10px;
	text-align: center;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.single-product .tj-size-card:hover {
	border-color: var(--tj-ink);
}
.single-product .tj-size-card.is-active {
	border-color: var(--tj-ink);
	box-shadow: inset 0 0 0 1px var(--tj-ink);
}
.single-product .tj-size-card.is-oos {
	opacity: .4;
	cursor: not-allowed;
}
.single-product .tj-size-card__label {
	font-family: var(--tj-sans);
	font-size: 13px;
	color: var(--tj-ink);
	line-height: 1.3;
}
.single-product .tj-size-card__price {
	font-family: var(--tj-serif);
	font-size: 20px;
	color: var(--tj-ink);
}
.single-product .tj-size-card__price .amount {
	color: var(--tj-ink);
}

/* ---- Variation price + add-to-cart row ---------------------- */
.single-product .woocommerce-variation-price {
	margin: 0 0 16px;
	font-size: 18px;
	color: var(--tj-muted);
}
.single-product .woocommerce-variation-availability {
	color: var(--tj-muted);
	font-size: 13px;
}
.single-product .woocommerce-variation-add-to-cart {
	display: flex;
	gap: 14px;
	align-items: stretch;
	margin: 4px 0 26px;
}
.single-product .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 auto;
}
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	flex: 1 1 auto;
}
/* When no valid variation is chosen, WooCommerce disables the button */
.single-product .woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
	opacity: .45;
	cursor: not-allowed;
}

/* ---- Responsive --------------------------------------------- */
@media (max-width: 768px) {
	.single-product .tj-size-cards { grid-template-columns: repeat(2, 1fr); }
	.single-product .woocommerce-variation-add-to-cart { flex-wrap: wrap; }
	.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 100%; }

	/* Gallery goes full width and becomes a swipe slider */
	.single-product div.product .tj-gallery-wrap { width: 100% !important; }
	.single-product .tj-gallery__stack {
		flex-direction: row;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px;
	}
	.single-product .tj-gallery__stack::-webkit-scrollbar { display: none; }
	.single-product .tj-gallery__img {
		flex: 0 0 86%;
		scroll-snap-align: center;
	}
	.single-product .tj-gallery__img--first { padding: 0; }

	/* Swipe dots */
	.single-product .tj-gallery__dots {
		display: flex;
		justify-content: center;
		gap: 8px;
		margin-top: 16px;
	}
	.single-product .tj-dot {
		width: 8px;
		height: 8px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--tj-line);
		cursor: pointer;
		transition: background .2s ease, transform .2s ease;
	}
	.single-product .tj-dot.is-active {
		background: var(--tj-ink);
		transform: scale(1.25);
	}
}

/* =========================================================
   Full product copy blocks (mock content)
   ========================================================= */

/* Hairline divider above a block */
.single-product .tj-rule-top {
	border-top: 1px solid var(--tj-line);
	padding-top: 26px;
	margin-top: 26px;
}

/* Limited edition · free shipping line */
.single-product .tj-editline {
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--tj-sans);
	font-size: 14px;
	color: var(--tj-ink);
	margin: 16px 0 0;
}
.single-product .tj-editline__sep { color: var(--tj-line); }
.single-product .tj-editline__ship { color: #b3261e; }

/* About the artwork */
.single-product .tj-block__title {
	font-family: var(--tj-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tj-ink);
	margin: 0 0 14px;
}
.single-product .tj-about p {
	color: var(--tj-ink);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 14px;
}

/* Icon + text rows (A Piece, Looking for size) */
.single-product .tj-iconrow {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.single-product .tj-iconrow .tj-pdp-ico {
	flex: 0 0 auto;
	color: var(--tj-ink);
	margin-top: 2px;
}
.single-product .tj-iconrow__body h4 {
	font-family: var(--tj-sans);
	font-weight: 700;
	font-size: 15px;
	margin: 0 0 6px;
	color: var(--tj-ink);
}
.single-product .tj-iconrow__body p {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--tj-muted);
}
.single-product .tj-iconrow__body a { color: var(--tj-ink); }

/* Size card stock line */
.single-product .tj-size-card__stock {
	font-family: var(--tj-sans);
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #2f7d32;
}
.single-product .tj-size-card.is-oos .tj-size-card__stock { color: var(--tj-muted); }

/* Care row: flat shipping / glove care */
.single-product .tj-carerow {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.single-product .tj-carerow__item {
	display: flex;
	gap: 14px;
	align-items: center;
}
.single-product .tj-carerow__item .tj-pdp-ico { flex: 0 0 auto; color: var(--tj-ink); }
.single-product .tj-carerow__item strong {
	display: block;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--tj-ink);
}
.single-product .tj-carerow__item span {
	font-size: 13px;
	color: var(--tj-muted);
}

/* EU notice */
.single-product .tj-eunotice {
	background: #fff;
	border: 1px solid var(--tj-line);
	border-radius: 12px;
	padding: 18px 20px;
	margin: 26px 0 0;
}
.single-product .tj-eunotice__head {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 14px;
	color: var(--tj-ink);
	margin: 0 0 8px;
}
.single-product .tj-eunotice__head svg { color: #d9a406; flex: 0 0 auto; }
.single-product .tj-eunotice p:last-child {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--tj-muted);
}

/* Special request textarea */
.single-product .tj-special { margin-top: 22px; }
.single-product .tj-special__label {
	display: block;
	font-size: 13px;
	letter-spacing: .02em;
	color: var(--tj-muted);
	margin-bottom: 8px;
}
.single-product .tj-special textarea {
	width: 100%;
	border: 1px solid var(--tj-line);
	border-radius: 10px;
	background: #fff;
	padding: 14px 16px;
	font-family: var(--tj-sans);
	font-size: 15px;
	resize: vertical;
}
.single-product .tj-special textarea:focus {
	outline: none;
	border-color: var(--tj-ink);
	box-shadow: 0 0 0 3px rgba(28, 27, 25, .06);
}

/* Detail sections */
.single-product .tj-details { margin-top: 8px; }
.single-product .tj-detail {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
.single-product .tj-detail__ico {
	flex: 0 0 auto;
	color: var(--tj-ink);
	margin-top: 2px;
}
.single-product .tj-detail__body h3 {
	font-family: var(--tj-sans);
	font-weight: 700;
	font-size: 16px;
	color: var(--tj-ink);
	margin: 0 0 10px;
}
.single-product .tj-detail__body h4 {
	font-family: var(--tj-sans);
	font-weight: 700;
	font-size: 14px;
	color: var(--tj-ink);
	margin: 18px 0 6px;
}
.single-product .tj-detail__body p,
.single-product .tj-detail__body li {
	font-size: 14px;
	line-height: 1.7;
	color: var(--tj-muted);
}
.single-product .tj-detail__body p { margin: 0 0 12px; }
.single-product .tj-detail__body ul { margin: 0 0 12px; padding-left: 18px; }
.single-product .tj-detail__body a { color: var(--tj-ink); }

@media (max-width: 900px) {
	.single-product .tj-carerow { grid-template-columns: 1fr; }
}

/* Client PNG icons (replaces the inline SVGs) */
.single-product img.tj-pdp-ico {
	width: 52px;
	height: 52px;
	object-fit: contain;
	display: block;
	flex: 0 0 auto;
}
.single-product .tj-iconrow img.tj-pdp-ico { margin-top: 0; }
.single-product .tj-eunotice__head img.tj-pdp-ico { width: 18px; height: 18px; }


.single_variation_wrap {
    padding: 25px 0 0 0;
}