:root {
	--szlp-ivory: #f7f1e8;
	--szlp-paper: #fffdf9;
	--szlp-wine: #4b1724;
	--szlp-brown: #5a3a29;
	--szlp-gold: #c6a15b;
	--szlp-line: #dfcfb4;
	--szlp-muted: #806b5c;
}

body.single-product {
	background:
		radial-gradient(circle at 85% 8%, rgba(198,161,91,.12), transparent 22%),
		#f5ede2;
}

body.single-product .site-main,
body.single-product .content-area,
body.single-product main {
	max-width: 1240px;
	margin-inline: auto;
}

body.single-product .woocommerce-breadcrumb {
	max-width: 1180px;
	margin: 20px auto 18px;
	padding: 0 8px;
	color: #9b8775;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.single-product .woocommerce-breadcrumb a { color: #755d4c; text-decoration: none; }

body.single-product div.product {
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto 45px;
	padding: clamp(20px, 3vw, 38px);
	border: 1px solid var(--szlp-line);
	border-radius: 26px;
	background:
		radial-gradient(circle at 92% 2%, rgba(206,168,92,.1), transparent 24%),
		var(--szlp-paper);
	box-shadow: 0 24px 60px rgba(68,39,25,.11);
}

body.single-product div.product::after { content: ""; display: table; clear: both; }

body.single-product div.product div.images {
	box-sizing: border-box;
	width: 51%;
	margin-bottom: 32px;
	padding: 14px;
	border: 1px solid #e1d2bb;
	border-radius: 20px;
	background: #f8f1e7;
	box-shadow: inset 0 0 0 6px rgba(255,255,255,.5);
}

body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
}

body.single-product div.product div.images .woocommerce-product-gallery__image img {
	width: 100%;
	border-radius: 14px;
	transition: transform .45s ease;
}
body.single-product div.product div.images .woocommerce-product-gallery__image:hover img { transform: scale(1.025); }

body.single-product div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 78px));
	gap: 10px;
	margin-top: 13px;
}
body.single-product div.product div.images .flex-control-thumbs li {
	width: 100%;
	padding: 4px;
	border: 1px solid #dfcfb7;
	border-radius: 10px;
	background: #fff;
}
body.single-product div.product div.images .flex-control-thumbs img { border-radius: 7px; opacity: .68; }
body.single-product div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; box-shadow: 0 0 0 2px var(--szlp-gold); }

body.single-product div.product .woocommerce-product-gallery__trigger {
	display: grid;
	place-items: center;
	top: 24px;
	right: 24px;
	width: 42px;
	height: 42px;
	border: 1px solid #d8bd82;
	border-radius: 50%;
	background: rgba(255,253,248,.94);
	box-shadow: 0 7px 18px rgba(50,29,19,.13);
}

body.single-product div.product div.summary {
	box-sizing: border-box;
	width: 44.5%;
	margin-bottom: 32px;
	padding: 5px 4px 10px 22px;
}

.szl-product-kicker {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 3px 0 13px;
	color: #9d7737;
	font: 800 9px/1 Arial, sans-serif;
	letter-spacing: .19em;
}
.szl-product-kicker span { width: 22px; height: 1px; background: var(--szlp-gold); }

body.single-product div.product .summary .product_title {
	margin: 0 0 11px;
	color: var(--szlp-brown);
	font: 500 clamp(30px, 4vw, 47px)/1.07 Georgia, serif;
	letter-spacing: -.025em;
	text-transform: none;
}

body.single-product div.product .summary .price {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 21px;
	color: var(--szlp-wine);
	font: 700 30px/1.15 Georgia, serif;
}
body.single-product div.product .summary .price del { color: #aa998a; font-size: 18px; }
body.single-product div.product .summary .price ins { color: var(--szlp-wine); text-decoration: none; }

body.single-product div.product .woocommerce-product-details__short-description {
	margin-bottom: 18px;
	color: var(--szlp-muted);
	font-size: 14px;
	line-height: 1.7;
}

body.single-product div.product .summary .szl-product-pet {
	box-sizing: border-box;
	margin: 20px 0 !important;
	padding: 22px !important;
	color: var(--szlp-brown) !important;
	border: 1px solid #d8bd82 !important;
	border-radius: 17px !important;
	background:
		radial-gradient(circle at 95% 0, rgba(198,161,91,.14), transparent 38%),
		#f8f0e3 !important;
	box-shadow: 0 12px 28px rgba(83,52,31,.08);
}
body.single-product div.product .summary .szl-product-pet strong {
	display: block;
	margin-bottom: 9px;
	color: var(--szlp-brown) !important;
	font: 600 20px/1.25 Georgia, serif;
}
body.single-product div.product .summary .szl-product-pet p {
	color: #756050 !important;
	font-size: 12px;
	line-height: 1.5;
}
body.single-product div.product .summary .szl-product-pet a {
	display: inline-flex;
	margin-top: 8px;
	padding: 10px 15px;
	color: #fff !important;
	border-radius: 9px;
	background: var(--szlp-wine);
	text-decoration: none !important;
}
body.single-product div.product .summary .szl-product-pet select {
	max-width: none !important;
	min-height: 48px;
	padding: 11px 13px !important;
	border: 1px solid #ccb98f !important;
	border-radius: 10px !important;
	background: #fffdf9 !important;
	box-shadow: inset 0 1px 2px rgba(55,35,22,.05);
}

body.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 11px;
	margin: 0 0 17px;
}
body.single-product div.product form.cart .szl-product-pet,
body.single-product div.product form.cart .variations,
body.single-product div.product form.cart .single_variation_wrap { flex: 0 0 100%; }

body.single-product div.product form.cart .quantity {
	display: grid;
	grid-template-columns: 82px;
	gap: 5px;
}
.szl-quantity-label {
	color: #89725f;
	font: 800 9px/1 Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: .12em;
}
body.single-product div.product form.cart .quantity .qty {
	box-sizing: border-box;
	width: 82px;
	min-height: 50px;
	border: 1px solid #d5c1a2;
	border-radius: 10px;
	background: #fff;
	color: var(--szlp-brown);
	font-weight: 700;
}
body.single-product div.product form.cart .single_add_to_cart_button {
	min-height: 50px;
	padding: 14px 27px;
	color: #fff;
	border: 1px solid #9d7433;
	border-radius: 10px;
	background: linear-gradient(135deg, #a87934, #d2ae66);
	box-shadow: 0 11px 24px rgba(129,91,37,.2);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.single-product div.product form.cart .single_add_to_cart_button:hover {
	background: linear-gradient(135deg, #805b28, #bb8e45);
	transform: translateY(-1px);
}

body.single-product div.product form.cart table.variations {
	margin: 0 0 12px;
	border: 0;
}
body.single-product div.product form.cart table.variations th,
body.single-product div.product form.cart table.variations td { padding: 6px 0; }
body.single-product div.product form.cart table.variations label {
	color: var(--szlp-brown);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.single-product div.product form.cart table.variations select {
	min-height: 46px;
	border: 1px solid #d4c19f;
	border-radius: 9px;
	background: #fff;
}

.szl-product-purchase-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	flex: 0 0 100%;
	gap: 7px;
	margin-top: 5px;
}
.szl-product-purchase-benefits > div {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 11px 9px;
	border: 1px solid #e2d5c1;
	border-radius: 11px;
	background: #fcf7ef;
}
.szl-product-purchase-benefits svg {
	flex: 0 0 23px;
	fill: none;
	stroke: #a87f3c;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.szl-product-purchase-benefits span,
.szl-product-purchase-benefits strong,
.szl-product-purchase-benefits small { display: block; min-width: 0; }
.szl-product-purchase-benefits strong { color: var(--szlp-brown); font: 600 10px/1.2 Georgia, serif; }
.szl-product-purchase-benefits small { margin-top: 3px; color: #927e6d; font-size: 8px; line-height: 1.2; }

body.single-product div.product .product_meta {
	margin: 17px 0 0;
	padding: 15px 0;
	border-top: 1px solid #e5d8c6;
	border-bottom: 1px solid #e5d8c6;
	color: #907b69;
	font-size: 10px;
	line-height: 1.8;
}
body.single-product div.product .product_meta > span { display: block; }
body.single-product div.product .product_meta a { color: #775b2a; text-decoration: none; }
.szl-meta-dot {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-right: 7px;
	border-radius: 50%;
	background: var(--szlp-gold);
	vertical-align: middle;
}

.szl-product-elite {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: 18px;
	padding: 15px;
	border: 1px solid #dfcba8;
	border-radius: 14px;
	background: linear-gradient(135deg, #f8f0e2, #fffaf1);
}
.szl-product-elite__crown {
	display: grid;
	flex: 0 0 42px;
	place-items: center;
	height: 42px;
	color: #9e7431;
	border: 1px solid #d6b773;
	border-radius: 50%;
	background: #fff;
	font-size: 20px;
}
.szl-product-elite small,
.szl-product-elite strong,
.szl-product-elite p { display: block; margin: 0; }
.szl-product-elite small { color: #a07e45; font: 800 8px Arial, sans-serif; letter-spacing: .12em; }
.szl-product-elite strong { margin: 3px 0; color: var(--szlp-brown); font: 600 15px Georgia, serif; }
.szl-product-elite p { color: #857160; font-size: 10px; }
.szl-product-elite.is-active { border-color: #b88b43; background: linear-gradient(135deg, #3b1520, #653727); }
.szl-product-elite.is-active .szl-product-elite__crown { color: #e1bc70; border-color: #c59d56; background: rgba(255,255,255,.06); }
.szl-product-elite.is-active small { color: #d9b66f; }
.szl-product-elite.is-active strong { color: #fff; }
.szl-product-elite.is-active p { color: #e6d6c6; }

body.single-product div.product .summary [id*="paypal"],
body.single-product div.product .summary [class*="paypal"] {
	max-width: 100%;
	margin-top: 11px;
	border-radius: 10px;
	overflow: hidden;
}

.szl-product-purpose {
	clear: both;
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	margin: 18px 0 28px;
	padding: 23px 26px;
	color: #fff;
	border: 1px solid #bd924a;
	border-radius: 18px;
	background:
		radial-gradient(circle at 85% 10%, rgba(221,184,111,.2), transparent 28%),
		linear-gradient(135deg, #3a1420, #5b2e28);
	box-shadow: 0 15px 34px rgba(58,27,25,.15);
}
.szl-product-purpose__seal {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	color: #e1bd74;
	border: 1px solid #cba45b;
	border-radius: 50%;
	font-size: 27px;
}
.szl-product-purpose span { color: #dbb66d; font: 800 8px Arial, sans-serif; letter-spacing: .17em; }
.szl-product-purpose h2 { margin: 3px 0 5px; color: #fff; font: 500 24px Georgia, serif; }
.szl-product-purpose p { margin: 0; color: rgba(255,255,255,.76); font-size: 11px; }
.szl-product-purpose > strong {
	padding: 9px 13px;
	color: #f4dfb4;
	border: 1px solid rgba(218,180,103,.55);
	border-radius: 999px;
	font: 700 9px Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: .08em;
}

body.single-product div.product .woocommerce-tabs {
	clear: both;
	margin: 0 0 28px;
	padding: 25px 28px 30px;
	border: 1px solid var(--szlp-line);
	border-radius: 19px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(70,43,27,.07);
}
body.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 5px;
	margin: 0 0 24px;
	padding: 0 0 12px;
	border-bottom: 1px solid #e6dac9;
}
body.single-product div.product .woocommerce-tabs ul.tabs::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 9px;
	background: transparent;
}
body.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 15px;
	color: #826f5e;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
	border-radius: 8px;
	background: var(--szlp-wine);
}
body.single-product div.product .woocommerce-tabs .panel {
	color: #6f5c4f;
	font-size: 14px;
	line-height: 1.75;
}
body.single-product div.product .woocommerce-tabs .panel h2 {
	color: var(--szlp-brown);
	font: 500 28px Georgia, serif;
}

body.single-product div.product .related.products {
	clear: both;
	margin-top: 28px;
	padding: 28px;
	border: 1px solid var(--szlp-line);
	border-radius: 19px;
	background: #fffaf3;
}
body.single-product div.product .related.products > h2 {
	margin: 0 0 21px;
	color: var(--szlp-brown);
	font: 500 31px Georgia, serif;
}
body.single-product div.product .related.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}
body.single-product div.product .related.products ul.products::before,
body.single-product div.product .related.products ul.products::after { display: none; }
body.single-product div.product .related.products ul.products li.product {
	box-sizing: border-box;
	width: auto;
	margin: 0;
	padding: 12px 12px 16px;
	text-align: center;
	border: 1px solid #e1d3bf;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 10px 22px rgba(70,43,27,.06);
}
body.single-product div.product .related.products ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 0 12px;
	object-fit: cover;
	border-radius: 11px;
	background: #f4ecdf;
}
body.single-product div.product .related.products ul.products li.product .woocommerce-loop-product__title {
	min-height: 0;
	padding: 0;
	color: var(--szlp-brown);
	font: 600 16px/1.3 Georgia, serif;
}
body.single-product div.product .related.products ul.products li.product .price {
	display: block;
	margin: 7px 0;
	color: var(--szlp-wine);
	font: 700 15px Georgia, serif;
}
body.single-product div.product .related.products ul.products li.product .button {
	margin-top: 8px;
	padding: 10px 13px;
	color: #fff;
	border-radius: 8px;
	background: linear-gradient(135deg, #a77935, #cba55e);
	font-size: 9px;
	text-transform: uppercase;
	letter-spacing: .06em;
}

@media (max-width: 900px) {
	body.single-product div.product div.images,
	body.single-product div.product div.summary { float: none; width: 100%; }
	body.single-product div.product div.summary { padding: 8px 2px; }
	body.single-product div.product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	body.single-product div.product { width: 94%; padding: 15px; border-radius: 19px; }
	body.single-product div.product div.images { padding: 8px; border-radius: 15px; }
	body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
	body.single-product div.product div.images .woocommerce-product-gallery__image img { border-radius: 10px; }
	body.single-product div.product .summary .product_title { font-size: 32px; }
	body.single-product div.product .summary .price { font-size: 25px; }
	body.single-product div.product .summary .szl-product-pet { padding: 17px !important; }
	body.single-product div.product form.cart .quantity { grid-template-columns: 72px; }
	body.single-product div.product form.cart .quantity .qty { width: 72px; }
	body.single-product div.product form.cart .single_add_to_cart_button { flex: 1; padding-inline: 15px; }
	.szl-product-purchase-benefits { grid-template-columns: 1fr; }
	.szl-product-purpose { grid-template-columns: 50px 1fr; padding: 19px 17px; }
	.szl-product-purpose__seal { width: 46px; height: 46px; }
	.szl-product-purpose > strong { grid-column: 1 / -1; justify-self: start; }
	body.single-product div.product .woocommerce-tabs,
	body.single-product div.product .related.products { padding: 18px 15px; border-radius: 15px; }
	body.single-product div.product .woocommerce-tabs ul.tabs { gap: 3px; overflow-x: auto; }
	body.single-product div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; padding: 9px 10px; font-size: 9px; }
	body.single-product div.product .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
	body.single-product div.product .related.products ul.products li.product { padding: 8px 8px 12px; }
	body.single-product div.product .related.products ul.products li.product .woocommerce-loop-product__title { font-size: 13px; }
}
