.shop-main > div.product {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-6);
	padding-block: var(--space-6);
}

.product-description,
.related-products {
	grid-column: 1 / -1;
}

@media (min-width: 1024px) {
	.shop-main > div.product {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--space-9);
		align-items: start;
	}
}

/* Galeria */

.woocommerce-product-gallery__wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.woocommerce-product-gallery__image {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-sm);
}

.woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.woocommerce-product-gallery__image:first-child {
	flex: 1 1 100%;
	aspect-ratio: 3 / 4;
}

.woocommerce-product-gallery__image:not(:first-child) {
	flex: 0 0 88px;
	aspect-ratio: 1 / 1;
}

/* Podsumowanie (prawa kolumna) */

.summary.entry-summary {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}

.summary .product_title {
	margin-bottom: 0;
}

.summary .price {
	font-size: var(--text-2xl);
	font-weight: 700;
	color: var(--color-navy);
}

.summary .price del {
	margin-right: var(--space-3);
	font-size: var(--text-lg);
	font-weight: 400;
	color: var(--color-text-muted);
}

.summary .price ins {
	text-decoration: none;
}

.woocommerce-product-details__short-description {
	color: var(--color-text-muted);
}

.product-format-meta {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	font-weight: 600;
}

.summary .cart {
	margin-top: var(--space-2);
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.summary .cart .quantity {
	display: none;
}

.summary .cart .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: var(--space-3) var(--space-6);
	background: var(--color-coral);
	color: var(--color-navy-dark);
	border: none;
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.summary .cart .button:hover {
	background: var(--color-coral-hover);
	transform: translateY(-2px);
}

.product-download-note {
	font-size: var(--text-sm);
	color: var(--color-navy-dark);
	font-weight: 600;
}

/* Opis produktu */

.product-description {
	padding-block: 24px 0;
	border-top: 1px solid var(--color-border);
}

.product-description__content {
	max-width: 720px;
	color: var(--color-text-muted);
}

/* Może Ci się spodobać */

.related-products {
	border-top: 1px solid var(--color-border);
}

.shop-main > div.product > * { min-width: 0; }
.product-description h2 { font-size: var(--text-xl); }
.related-products > .container { padding-inline: 0; }
.woocommerce-product-gallery { position: relative; opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__trigger { position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; text-decoration: none; }
.summary .cart .button { width: 100%; }

/* Galeria i podsumowanie muszą pomieścić długie tytuły oraz warianty. */
.summary .product_title { font-size: clamp(1.75rem, 3vw, 2.5rem); overflow-wrap: anywhere; }
.woocommerce-product-gallery__image > a { display: block; width: 100%; height: 100%; }
.woocommerce-product-gallery__image--placeholder { aspect-ratio: 3 / 4; border-radius: var(--radius-lg); overflow: hidden; background: var(--color-neutral-light); }
.woocommerce-product-gallery__image--placeholder img { width: 100%; height: 100%; object-fit: contain; }
.woocommerce-product-details__short-description { line-height: 1.75; }
.product-format-meta { padding: 12px 16px; border-radius: var(--radius-sm); background: var(--color-bg-alt); line-height: 1.7; }
.product-download-note { line-height: 1.7; font-weight: 500; }
.product-description__content { line-height: 1.8; }
.product-description__content ul, .product-description__content ol { padding-left: 1.25rem; }
.product-description__content li + li { margin-top: 8px; }
.summary .cart .button { min-height: 52px; }
.summary form.variations_form { display: block; }
.summary .variations { width: 100%; margin-bottom: 16px; }
.summary .variations th { text-align: left; padding-right: 12px; }
.summary .variations select { width: 100%; }
.summary .reset_variations { display: inline-flex; align-items: center; min-height: 44px; }
.summary .stock.out-of-stock { padding: 16px; background: var(--color-bg-alt); border-radius: var(--radius-sm); }
