.breezan-single-product {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 768px) {
	.breezan-single-product { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
.breezan-sp-gallery__main {
	position: relative;
	background: var(--breezan-bg-soft);
	border-radius: var(--breezan-radius-lg);
	padding: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	overflow: hidden;
}
.breezan-sp-gallery__main img {
	max-width: 80%;
	max-height: 80%;
	object-fit: contain;
}
.breezan-sp-gallery__thumbs {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
	overflow-x: auto;
}
.breezan-sp-thumb {
	width: 4.5rem; height: 4.5rem;
	border-radius: var(--breezan-radius-sm);
	border: 2px solid var(--breezan-border);
	overflow: hidden;
	flex-shrink: 0;
	cursor: pointer;
	transition: border-color 0.2s;
	padding: 0.25rem;
	background: var(--breezan-bg-soft);
}
.breezan-sp-thumb img { width: 100%; height: 100%; object-fit: contain; }
.breezan-sp-thumb.is-active, .breezan-sp-thumb:hover { border-color: var(--breezan-primary); }
.breezan-sp-cat { font-size: 0.75rem; color: var(--breezan-primary); margin-bottom: 0.5rem; }
.breezan-sp-title { font-size: 1.5rem; margin-bottom: 0.75rem; }
.breezan-sp-price { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.breezan-sp-price__current { font-size: 1.5rem; font-weight: 700; color: var(--breezan-primary); }
.breezan-sp-price__old { font-size: 1rem; color: var(--breezan-text-muted); text-decoration: line-through; }
.breezan-sp-desc { color: var(--breezan-text-light); font-size: 0.875rem; line-height: 1.8; margin-bottom: 1.5rem; }
.breezan-sp-qty {
	display: inline-flex; align-items: center;
	border: 1px solid var(--breezan-border);
	border-radius: var(--breezan-radius-sm);
	margin-bottom: 1rem;
}
.breezan-sp-qty__btn {
	width: 2.5rem; height: 2.5rem;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.25rem; color: var(--breezan-text-light);
	transition: color var(--breezan-transition);
}
.breezan-sp-qty__btn:hover { color: var(--breezan-primary); }
.breezan-sp-qty__input {
	width: 3rem; height: 2.5rem; text-align: center;
	border: none; border-inline: 1px solid var(--breezan-border);
	font-size: 0.875rem; outline: none;
	-moz-appearance: textfield;
}
.breezan-sp-qty__input::-webkit-outer-spin-button,
.breezan-sp-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; }
.breezan-sp-cart__buttons { display: flex; gap: 0.75rem; }
.breezan-sp-cart__buttons .breezan-btn--primary { flex: 1; }
