/* ============================================
   Bottom Sections — шапка секції, набір зі знижкою,
   CTA-банер, схожі товари, дивіться також, переглянуті
   ============================================ */

/* Section Head - Start */
.section-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.section-head-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	max-width: 741px;
}

.section-head-text .h2 {
	text-align: center;
	text-transform: uppercase;
}

.section-head-text p {
	text-align: center;
}
/* Section Head - End */

/* Bundle - Start */
.product-bundle-section {
	padding-top: 120px;
}

.product-bundle-section .container + .container {
	margin-top: 64px;
}

.product-bundle {
	display: grid;
	grid-template-columns: repeat(3, 456.5fr) 422.5fr;
	gap: 16px;
	width: 100%;
}

.product-bundle-cards {
	display: contents;
}

.product-bundle-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 16px;
	background: var(--card-gray);
	border: 1px solid var(--border);
	border-radius: var(--radius-medium);
}

.product-bundle-image {
	position: relative;
	flex-shrink: 0;
	border-radius: 20px;
	overflow: hidden;
}

.product-bundle-image img {
	width: 100%;
	aspect-ratio: 422.5 / 306;
	height: auto;
	object-fit: cover;
}

.product-bundle-check {
	position: absolute;
	top: 24px;
	right: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 31px;
	height: 31px;
	border: 1.5px solid var(--white);
	border-radius: var(--radius-max);
	cursor: pointer;
}

.product-bundle-check input {
	display: none;
}

.product-bundle-check span {
	width: 19px;
	height: 19px;
	background: transparent;
	border-radius: var(--radius-max);
	transition: all 0.3s ease;
}

@media not all and (pointer: coarse) {
	.product-bundle-check:hover input:not(:checked) + span {
		background: color-mix(in srgb, var(--white) 40%, transparent);
	}
}

.product-bundle-check input:checked + span {
	background: var(--white);
}

.product-bundle-body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	padding: 24px;
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: 20px;
}

.product-bundle-series {
	font-family: var(--font-family-1);
	font-size: 16px;
	line-height: 19px;
	font-weight: 500;
}

.product-bundle-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.product-bundle-title a {
	font-family: var(--font-family-2);
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	transition: all 0.3s ease;
}

@media not all and (pointer: coarse) {
	.product-bundle-title a:hover {
		color: var(--primary-ring);
	}
}

.product-bundle-title .icon-mask {
	width: 24px;
	height: 27px;
	flex-shrink: 0;
}

.product-bundle-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid var(--input-border);
	border-bottom: 1px solid var(--input-border);
	font-family: var(--font-family-1);
	font-size: 16px;
	line-height: 19px;
	font-weight: 500;
}

.product-bundle-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
}

.product-bundle-foot .btn {
	--btn-height: 46px;
	--btn-ring: 6px;
	--btn-pad: 32px;
	--btn-border-width: 0.5px;
}

.product-bundle-price,
.product-bundle-price .price {
	font-family: var(--font-family-2);
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: var(--black);
}

.product-bundle-offer {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	padding: 32px;
	background: var(--primary);
	border-radius: var(--radius-medium);
	overflow: hidden;
}

.product-bundle-offer::after {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -40px;
	width: 544px;
	height: 648px;
	background: var(--bundle-image) no-repeat center / contain;
	pointer-events: none;
}

.product-bundle-offer-head,
.product-bundle-offer-foot {
	position: relative;
	z-index: 1;
}

.product-bundle-offer-head {
	display: flex;
	flex-direction: column;
	gap: 19px;
}

.product-bundle-offer-head .h4 {
	font-weight: 500;
}

.product-bundle-offer-head p {
	max-width: 267px;
}

.product-bundle-offer-foot {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.product-bundle-sum {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.product-bundle-old,
.product-bundle-old .woocommerce-Price-amount {
	font-family: var(--font-family-2);
	font-size: 18px;
	line-height: 22px;
	text-decoration: line-through;
}

.product-bundle-new,
.product-bundle-new .woocommerce-Price-amount {
	font-family: var(--font-family-2);
	font-size: 28px;
	line-height: 34px;
	font-weight: 500;
}

.product-bundle-note {
	color: var(--gray-text);
}

.product-bundle-add span {
	white-space: nowrap;
}

.product-bundle-add {
	--btn-height: 54px;
	--btn-ring: 6px;
	--btn-pad: 32px;
	--btn-border-width: 0.5px;
	--btn-border-color: var(--black);
	width: 100%;
	max-width: 384px;
}
/* Bundle - End */

/* CTA Banner - Start */
.product-cta-section {
	padding-top: 192px;
}

.product-cta {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	width: 100%;
	padding: 64px 40px;
	background-color: var(--black);
	background-image: var(--cta-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: var(--radius-medium);
	overflow: hidden;
}

.product-cta-body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 493px;
}

.product-cta-body .h4 {
	color: var(--white);
	font-weight: 500;
	text-transform: uppercase;
}

.product-cta-body p {
	max-width: 434px;
	color: var(--white);
}

.product-cta .btn {
	--btn-height: 46px;
	--btn-ring: 6px;
	--btn-pad: 32px;
	--btn-border-width: 0.5px;
	--btn-hover-bg: var(--white);
	--btn-hover-color: var(--black);
	--btn-hover-border-color: var(--white);
	width: fit-content;
}
/* CTA Banner - End */

/* Схожі товари, дивіться також, переглянуті - Start */
section.similar-products,
section.also-view-products,
section.recently-viewed-products {
	padding-top: 120px;
	padding-bottom: 0;
}

div.product > section:is(.similar-products, .also-view-products, .recently-viewed-products):last-child {
	padding-bottom: 120px;
}

section.similar-products .container + .container,
section.also-view-products .container + .container,
section.recently-viewed-products .container + .container {
	margin-top: 64px;
}

.container-similar,
.container-also-view,
.container-recently-viewed {
	gap: 40px;
}

.container-similar > .btn,
.container-also-view > .btn,
.container-recently-viewed > .btn {
	margin: 0 auto;
}

.container.container-similar > .swiper-buttons,
.container.container-also-view > .swiper-buttons,
.container.container-recently-viewed > .swiper-buttons {
	grid-column: 1 / -1;
	justify-content: center;
	width: fit-content;
	margin-inline: auto;
}
/* Схожі товари, дивіться також, переглянуті - End */

@media (max-width: 1680px) {
	.section-head {
		gap: 20px;
	}

	.product-bundle-section,
	section.similar-products,
	section.also-view-products,
	section.recently-viewed-products {
		padding-top: 96px;
	}

	div.product > section:is(.similar-products, .also-view-products, .recently-viewed-products):last-child {
		padding-bottom: 96px;
	}

	.product-cta-section {
		padding-top: 160px;
	}

	.product-bundle-section .container + .container,
	section.similar-products .container + .container,
	section.also-view-products .container + .container,
	section.recently-viewed-products .container + .container {
		margin-top: 48px;
	}

	.product-bundle-card {
		border-radius: 20px;
	}

	.product-bundle-body {
		padding: 20px;
		border-radius: 16px;
	}

	.product-bundle-series,
	.product-bundle-meta {
		font-size: 14px;
		line-height: 17px;
	}

	.product-bundle-title a,
	.product-bundle-price,
	.product-bundle-price .price,
	.product-bundle-old,
	.product-bundle-old .woocommerce-Price-amount {
		font-size: 16px;
		line-height: 19px;
	}

	.product-bundle-foot {
		flex-wrap: wrap;
		gap: 12px;
	}

	.product-cta .btn {
		--btn-height: 41px;
		--btn-ring: 4px;
		--btn-pad: 20px;
	}

	.product-bundle-foot .btn {
		--btn-height: 43px;
		--btn-ring: 6px;
		--btn-pad: 28px;
	}

	.product-bundle-add {
		--btn-height: 43px;
		--btn-ring: 6px;
		--btn-pad: 12px;
	}

	.product-bundle-image img {
		aspect-ratio: 304.5 / 245;
	}

	.product-bundle-offer {
		padding: 22px;
		border-radius: 20px;
	}

	.product-bundle-offer::after {
		right: -70px;
		bottom: -50px;
		width: 340px;
		height: 405px;
		opacity: 0.7;
	}

	.product-bundle-section .container + .container {
		margin-top: 109px;
	}

	.product-bundle {
		grid-template-columns: repeat(3, 338.5fr) 304.5fr;
	}

	.product-bundle-new,
	.product-bundle-new .woocommerce-Price-amount {
		font-size: 20px;
		line-height: 24px;
	}

	.product-cta {
		padding: 56px 36px;
		border-radius: 20px;
	}
}

@media (max-width: 1279px) {
	/* Порядок секцій на телефоні: набір → відгуки → FAQ → банер → нижні блоки */
	div.product {
		display: flex;
		flex-direction: column;
	}

	div.product > section.product-box { order: 1; }
	div.product > section.product-anchors-section { order: 2; }
	div.product > section.product-description-section { order: 3; }
	div.product > section.product-specs-section { order: 4; }
	div.product > section.product-process-section { order: 5; }
	div.product > section.product-bundle-section { order: 6; }
	div.product > section.product-reviews-section { order: 7; }
	div.product > section.product-delivery-section { order: 8; }
	div.product > section.product-cta-section { order: 9; }
	div.product > section.similar-products { order: 10; }
	div.product > section.also-view-products { order: 11; }
	div.product > section.recently-viewed-products { order: 12; }
	div.product > * { order: 20; }

	.section-head {
		gap: 16px;
	}

	.product-bundle-section,
	section.similar-products,
	section.also-view-products,
	section.recently-viewed-products {
		padding-top: 80px;
	}

	div.product > section:is(.similar-products, .also-view-products, .recently-viewed-products):last-child {
		padding-bottom: 80px;
	}

	.product-cta-section {
		padding-top: 120px;
	}

	section.similar-products .container + .container,
	section.also-view-products .container + .container,
	section.recently-viewed-products .container + .container {
		margin-top: 32px;
	}

	.product-bundle-section .container + .container {
		margin-top: 36px;
	}

	.product-bundle {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.product-bundle-offer {
		order: -1;
		min-height: 278px;
	}

	.product-bundle-cards {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.product-bundle-cards::-webkit-scrollbar {
		display: none;
	}

	.product-bundle-card {
		width: 290px;
		flex-shrink: 0;
		padding: 13px;
	}

	.product-bundle-image img {
		aspect-ratio: 264 / 211;
	}

	.product-bundle-card {
		gap: 12px;
		padding: 12px;
		border-radius: 18px;
	}

	.product-bundle-check {
		top: 16px;
		right: 16px;
	}

	.product-bundle-body {
		gap: 12px;
		height: auto;
		padding: 16px;
		border-radius: 14px;
	}

	.product-bundle-foot {
		flex-wrap: nowrap;
		margin-top: 0;
	}

	.product-bundle-offer::after {
		opacity: 0.55;
	}

	.product-bundle-meta {
		padding: 12px 0;
	}

	.product-bundle-offer {
		gap: 32px;
		padding: 20px;
		border-radius: 18px;
	}

	.product-bundle-offer::after {
		right: -80px;
		bottom: -60px;
		width: 320px;
		height: 380px;
	}

	.product-bundle-offer-head {
		gap: 12px;
	}

	.product-bundle-offer-head p,
	.product-cta-body p {
		max-width: none;
	}

	.product-bundle-offer-foot {
		gap: 20px;
	}

	.product-bundle-add {
		max-width: none;
	}

	.product-bundle-foot .btn,
	.product-cta .btn {
		--btn-height: 35px;
		--btn-ring: 4px;
		--btn-pad: 20px;
	}

	.product-bundle-add {
		--btn-height: 35px;
		--btn-ring: 4px;
	}

	.product-cta {
		gap: 48px;
		min-height: 451px;
		padding: 36px 16px 16px 16px;
		background-position: center bottom;
		border-radius: 18px;
	}

	.product-cta .btn {
		margin-top: auto;
	}

	.product-cta .btn {
		width: 100%;
	}

	.container-similar,
	.container-also-view,
	.container-recently-viewed {
		gap: 24px;
	}
}
