/* ==========================================================
   Sri Ganga Vilas – Single product page (Figma: "Desktop - 2")
   ----------------------------------------------------------
   1. Page + pictures / details layout
   2. Pictures (big + small)
   3. Name, rating, price, label
   4. Weights, gold strip, quantity, add to cart
   5. About / Ingredients dropdowns
   6. Banner
   7. Related products
   8. Reviews
   9. Shared: stars
   10. Tablet
   11. Mobile
   ========================================================== */


/* ----------------------------------------------------------
   1. Page + pictures / details layout
   ---------------------------------------------------------- */
.gv-pdp {
	padding-bottom: 105px;
}

.gv-pdp .gv-pdp-hero {
	display: grid;
	grid-template-columns: minmax(0, 696fr) minmax(0, 632fr);
	column-gap: 46px;
	align-items: start;
	padding-top: 59px;
	padding-bottom: 111px;
}

/* WooCommerce messages ("added to cart", errors) */
.gv-pdp > .woocommerce-notices-wrapper:not(:empty) {
	max-width: calc(var(--gv-container) + (var(--gv-gutter) * 2));
	margin: 24px auto 0;
	padding-inline: var(--gv-gutter);
}


/* ----------------------------------------------------------
   2. Pictures
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-gallery__main {
	aspect-ratio: 696 / 602;
	overflow: hidden;
	border-radius: 10px;
	background: #d9d9d9;
}

.gv-pdp .gv-pdp-gallery__main img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gv-pdp .gv-pdp-gallery__thumbs {
	display: grid;
	grid-auto-columns: calc((100% - 108px) / 4);
	grid-auto-flow: column;
	gap: 36px;
	margin-top: 18px;
	overflow-x: auto;
	scrollbar-width: none;
}

.gv-pdp .gv-pdp-gallery__thumbs::-webkit-scrollbar {
	display: none;
}

.gv-pdp .gv-pdp-gallery__thumb {
	position: relative;
	display: block;
	aspect-ratio: 147 / 140;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 10px;
	background: #d9d9d9;
	cursor: pointer;
}

.gv-pdp .gv-pdp-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.gv-pdp .gv-pdp-gallery__thumb:hover img {
	transform: scale(1.05);
}

.gv-pdp .gv-pdp-gallery__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 2px solid transparent;
	border-radius: inherit;
	transition: border-color 0.2s ease;
}

.gv-pdp .gv-pdp-gallery__thumb.is-active::after {
	border-color: var(--gv-red);
}


/* ----------------------------------------------------------
   3. Name, rating, price, label
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-summary {
	min-width: 0;
	color: #000;
}

.gv-pdp .gv-pdp-summary > * {
	margin: 24px 0 0;
}

.gv-pdp .gv-pdp-summary > :first-child {
	margin-top: 0;
}

/* WooCommerce adds space under "form.cart" – not needed here */
.gv-pdp .gv-pdp-summary form.gv-pdp-form.cart {
	margin-bottom: 0;
}

.gv-pdp .gv-pdp-summary__title {
	letter-spacing: 0;
	font-family: var(--gv-font-body);
	font-weight: 700;
	font-size: 48px;
	line-height: 1.22;
	color: #000;
}

.gv-pdp .gv-pdp-summary__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	color: rgba(0, 0, 0, 0.5);
}

.gv-pdp .gv-pdp-summary__rating:hover {
	color: var(--gv-red);
}

.gv-pdp .gv-pdp-summary__intro {
	max-width: 504px;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
}

.gv-pdp .gv-pdp-summary__intro p {
	margin: 0;
}

.gv-pdp .gv-pdp-summary__intro p + p {
	margin-top: 10px;
}

.gv-pdp .gv-pdp-summary__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
	font-weight: 700;
	font-size: 38px;
	line-height: 1.22;
	color: var(--gv-red);
}

.gv-pdp .gv-pdp-summary__price del,
.gv-pdp .gv-pdp-summary__was {
	font-weight: 500;
	font-size: 20px;
	color: rgba(0, 0, 0, 0.4);
}

.gv-pdp .gv-pdp-summary__price ins {
	text-decoration: none;
}

/* "Made with ghee / oil" label */
.gv-pdp .gv-pdp-summary__tag {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-width: 234px;
	padding: 10px 13px;
	border-radius: 10px;
	background: var(--gv-red);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.22;
	text-transform: uppercase;
	color: #fff;
}


/* ----------------------------------------------------------
   4. Weights, gold strip, quantity, add to cart
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-form__label {
	margin: 0;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.22;
	color: #000;
}

/* Weight buttons */
.gv-pdp .gv-pdp-weights {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 24px;
}

.gv-pdp .gv-pdp-weight {
	min-width: 78px;
	height: 30px;
	padding: 0 20px;
	border: 1px solid var(--gv-red);
	border-radius: 100px;
	background: #fff;
	font-family: var(--gv-font-body);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	text-transform: uppercase;
	color: #000;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.gv-pdp .gv-pdp-weight:hover {
	background: rgba(172, 38, 45, 0.07);
}

.gv-pdp .gv-pdp-weight.is-active {
	background: var(--gv-red);
	color: #fff;
}

.gv-pdp .gv-pdp-weight:disabled {
	opacity: 0.4;
	text-decoration: line-through;
	cursor: not-allowed;
}

/* Moving gold strip */
.gv-pdp .gv-pdp-ticker {
	height: 48px;
	margin-top: 32px;
	overflow: hidden;
	background: linear-gradient(90deg, #ffe06c 0%, #ffeea2 30.77%, #f0ba1c 53.37%, #e8a411 74.52%, #fccd29 100%);
}

.gv-pdp .gv-pdp-ticker__track {
	display: flex;
	width: max-content;
	height: 100%;
	animation: gv-ticker 22s linear infinite;
}

.gv-pdp .gv-pdp-ticker:hover .gv-pdp-ticker__track {
	animation-play-state: paused;
}

.gv-pdp .gv-pdp-ticker__set {
	display: flex;
	flex: none;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0 10px;
}

.gv-pdp .gv-pdp-ticker__item {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.22;
	white-space: nowrap;
	color: #000;
}

.gv-pdp .gv-pdp-ticker__icon {
	flex: none;
	width: 18px;
	height: 18px;
	background: url("data:image/webp;base64,UklGRkYGAABXRUJQVlA4WAoAAAAQAAAAIwAAIwAAQUxQSGYCAAANoHRt2yFJ1n8/kS4fj23btm3bKxsre3a2bdu2bbOqOh3fs4iIrJMRMQHMWANhiq73bv/Fu60uqTjfxsPX/9LqSjSw1L6tkT2v+qbqLgzvvVYccusdce2T1ZnlS604X44ara0XDMFEsx937cflQrsRF6JGnNG71X+Tw4sMfPfO5iGQHN7npZXH//yyOl59ppXRHj93eKoVzzdRDWCENjywEY8vWPr+qDyZzV8W7w0hlOYLAcBocCCEXKX4+z9kF4argXQLYTJ7VAsZ/cu1s7CwsFKGFn+3nlEaDVkyjjAYRGGOn9sZtb/niDAiKYIQGNP8rUK66i+s3meRtIzI/u2ncprGdy82Ap3KgCNg4qS3Hvwv0b/zcDsEGTASGCMZqCy451Mv1yG/0OZxCCAMyAnJpEYDx13+UyivdEQcTLoMIDCAEVrg9Is/qmwyHdOhTNIgLAAtNOfL/17ImfkOZiiMq4eXoProfMtHGHUmgwIQ7hgG/OdlB8xZiEi1wAJkgND46PUcQPPtyzfcqQcnZJKyBeKvmz8skFr/sm8BAxZJBWGRjF4pkNm/fBwwkRNGWLIRQ8u8Uc+IFAMyYES6DMJkTn++XA4ZTGRkRwZkqu8Vs2qfL14iVZaRwQL4/19lqXcyzkWEf/uLICP/H/XJcajkG1mVsbO+n2PZ3o+fO2d20p+7df35fn/3/1X3/7aRUbthsu/3z2sj5U8OLqZM3lR+9teRgZ6fxvNkNv+BZjWgu/7cbxD828X9TNWBeky2Sfdf1756ygrtJy7vE+nuoMMw+fk1R/91T57uuvnD3bPydL36SImZA1ZQOCC6AwAA0BUAnQEqJAAkAD4lEIVCIaELjv+YDAEiWwMsr/zIeqCD21OMfjNy/XJnfP8L8xi4+/0fnA/qvsA8T3pAeYD9iP1V7AHoAftj6KvsGftV7AH6gelj+vPwS/td+4fs8XaJVy+6fk5lKfx9Qv8Sz5J/hOMDim75KLzzo80D0J7AX64+kh6uf2A9lD9jDB3o4T/ftu+YaOQCePK6NvoUzjxdB12TTRXDM7defVettbKSEnyaJ3MMQHYAAP7nHdfwWDl47Jm7fk9zIzbXNi84GPQSglt7y1nV7qPWnAH38bVx+eK0eTwFO3FM85Wc4LxJwMlF/cXVD0X/tYs/4j79m/RWvUo//fZXvEF0URl+4/709Tz+9meAcpf/pkLXfvU+3mMxGZBjH4PaM4F5eG1Nc//KNBFzxh0t2GX+8mXOfSGXp4UpRkYwjf9PjxvHjdjeixIdHyZ/uFpj8x0i2PUB+0xOYUaSypzoK/10elee4WNgUJIvnhJIx7OWXUELp4MHwqtdfmue7u8bs05L/e1F7gLCrxG9MBzKFRi75/4hwn00mk2pAZzgE6DgcWSq3kS48iERk7KWenzZ4xYtmRM9idasSKH2hu+WVeOCTMgTzpzdHtakZA2eQ2U2mVH/TIf///dj8EPHRDXuyw65dIZIIS/iNbp/P57C4XLKwx/0LW9lzjDIzWJq/b0F04vxhnY2asghIr2qw+iUrOzokdxImH9/xb7sOBqjguqikEhfNbW2589TKCu+hsK9vL9L4/7HUDd733q08aP8ATX/BfY5/dac6Qf4fANNs93foHmH7971x5T5GwWe3Xvii6tV+ER9bLoTpIPTbWc2NKmu1hilyv7OElWW/JoQ0OucN42HP/04pOSg07JnY5XOWYxNBovXXshZVBdeoB94ScTVFlFGI1WruD/uUzDLfXR6UlOex/hRmcM+CGh56SntlnPu8C/PPvLsqJYbtjvT/C9O9nUILsxX+C7n9VUOKnb67SaeR+7wTr2y83pWBEZi/98N+xvfliGXG2JUER2pax+lr5UAwrP20UZCopkCP9mqzayYeOh/XHVAv+5u+xCiRwJ20mi0CKIwR/dEx/GaW985g1YXjO4zR+V+Y9nsd/Ufn2rTqMPoB75+/5+H//70Ozu4/SjxIfz069QAQ2q4J/aw/bBuLX1C1rVKiJZUQvDWrAFtoC/kOqPexHkokNu/99QPQc/lfTuu4BBby1FJnxmw2oDJCf//2KKdsBe/VUcR/JxVLzAGpZnX7dcTf1IAAAAA") center / contain no-repeat;
}

@keyframes gv-ticker {
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gv-pdp .gv-pdp-ticker__track {
		animation: none;
	}
}

/* Quantity + Add to cart */
.gv-pdp .gv-pdp-ticker + .gv-pdp-form__group {
	margin-top: 31px;
}

.gv-pdp .gv-pdp-form__row {
	display: flex;
	gap: 23px;
	margin-top: 19px;
}

.gv-pdp .gv-pdp-qty {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 114px;
	height: 56px;
	border-radius: 10px;
	background: #f2f4f5;
}

.gv-pdp .gv-pdp-qty__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--gv-font-body);
	font-weight: 500;
	font-size: 14px;
	color: #000;
	cursor: pointer;
}

.gv-pdp .gv-pdp-qty__btn:disabled {
	opacity: 0.5;
	cursor: default;
}

.gv-pdp .gv-pdp-qty__input {
	width: 26px;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--gv-font-body);
	font-weight: 500;
	font-size: 14px;
	text-align: center;
	color: #000;
	-moz-appearance: textfield;
	appearance: textfield;
}

.gv-pdp .gv-pdp-qty__input::-webkit-outer-spin-button,
.gv-pdp .gv-pdp-qty__input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.gv-pdp .gv-pdp-qty__input:focus {
	outline: 0;
}

.gv-pdp .gv-pdp-qty:focus-within {
	box-shadow: 0 0 0 2px rgba(172, 38, 45, 0.25);
}

.gv-pdp .gv-pdp-form .gv-pdp-form__cart {
	flex: 1;
	min-width: 0;
	height: 56px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 10px;
	background: var(--gv-red);
	font-family: var(--gv-font-body);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease;
}

.gv-pdp .gv-pdp-form .gv-pdp-form__cart:hover {
	background: var(--gv-red-dark);
	color: #fff;
}

.gv-pdp .gv-pdp-form .gv-pdp-form__cart:disabled {
	background: #b9b9b9;
	cursor: not-allowed;
}

.gv-pdp .gv-pdp-form.is-loading .gv-pdp-form__cart {
	opacity: 0.75;
	cursor: wait;
}

.gv-pdp .gv-pdp-form.is-added .gv-pdp-form__cart,
.gv-pdp .gv-pdp-form.is-added .gv-pdp-form__cart:disabled {
	background: #2e7d4f;
}

/* Products with more than one choice use WooCommerce's own form */
.gv-pdp .gv-pdp-form--wc table.variations {
	margin: 0 0 16px;
	border: 0;
}

.gv-pdp .gv-pdp-form--wc table.variations th,
.gv-pdp .gv-pdp-form--wc table.variations td {
	display: block;
	padding: 0 0 8px;
	border: 0;
	text-align: left;
}

.gv-pdp .gv-pdp-form--wc select {
	width: 100%;
	max-width: 320px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 10px;
	background: #fff;
}

.gv-pdp .gv-pdp-form--wc .single_add_to_cart_button {
	height: 56px;
	padding: 0 40px;
	border: 0;
	border-radius: 10px;
	background: var(--gv-red);
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
}


/* ----------------------------------------------------------
   5. About / Ingredients dropdowns
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-summary > .gv-pdp-acc {
	margin-top: 38px;
}

.gv-pdp .gv-pdp-acc:empty {
	display: none;
}

.gv-pdp .gv-pdp-acc__item {
	border-radius: 10px;
	background: rgba(255, 0, 0, 0.07);
}

.gv-pdp .gv-pdp-acc__item + .gv-pdp-acc__item {
	margin-top: 18px;
}

.gv-pdp .gv-pdp-acc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 51px;
	padding: 0 13px 0 22px;
	font-weight: 700;
	font-size: 15px;
	line-height: 15px;
	color: var(--gv-red);
	cursor: pointer;
	list-style: none;
}

.gv-pdp .gv-pdp-acc__head::-webkit-details-marker {
	display: none;
}

.gv-pdp .gv-pdp-acc__icon {
	flex: none;
	transition: transform 0.25s ease;
}

.gv-pdp .gv-pdp-acc__item[open] .gv-pdp-acc__icon {
	transform: rotate(180deg);
}

.gv-pdp .gv-pdp-acc__body {
	padding: 0 22px 18px;
	font-weight: 500;
	font-size: 14px;
	line-height: 22px;
	color: #000;
}

.gv-pdp .gv-pdp-acc__body > :first-child {
	margin-top: 0;
}

.gv-pdp .gv-pdp-acc__body > :last-child {
	margin-bottom: 0;
}


/* ----------------------------------------------------------
   6. Banner
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-features + .gv-pdp-banner {
	margin-top: 50px;
}

.gv-pdp .gv-pdp-banner__box {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 526fr) minmax(0, 646fr);
	column-gap: 109px;
	align-items: center;
	min-height: 654px;
	padding: 57px 49px 58px 44px;
	overflow: hidden;
	border-radius: 20px;
	background: var(--gv-cream);
}

.gv-pdp .gv-pdp-banner__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gv-pdp .gv-pdp-banner__frame {
	--gv-frame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 527 540'%3E%3Cpath d='M263.0 539.2 L260.0 536.4 L251.0 525.5 L244.0 519.6 L234.0 514.0 L227.0 511.6 L218.0 510.1 L210.0 510.0 L175.0 513.5 L166.0 513.4 L158.0 512.4 L148.0 509.5 L140.0 506.0 L131.0 500.3 L123.7 494.0 L117.6 487.0 L113.0 480.0 L109.9 474.0 L106.7 466.0 L103.6 453.0 L103.4 446.0 L102.1 434.0 L101.0 433.5 L93.0 433.4 L89.0 432.5 L84.0 432.5 L78.0 431.4 L68.0 428.3 L61.0 425.0 L52.0 419.4 L46.7 415.0 L38.7 406.0 L32.9 397.0 L28.9 388.0 L25.6 376.0 L24.7 362.0 L25.6 346.0 L26.3 344.0 L26.6 338.0 L27.4 335.0 L28.3 321.0 L27.4 310.0 L26.3 305.0 L23.3 297.0 L17.4 287.0 L10.0 278.7 L1.6 272.0 L-0.1 270.0 L0.6 268.0 L10.0 260.3 L17.4 252.0 L23.3 242.0 L26.3 234.0 L27.4 229.0 L28.3 218.0 L27.4 204.0 L26.6 201.0 L26.3 195.0 L25.6 193.0 L24.7 177.0 L25.6 163.0 L27.9 154.0 L31.9 144.0 L36.0 136.8 L43.7 127.0 L47.9 123.0 L56.0 116.9 L68.0 110.7 L78.0 107.6 L81.0 107.4 L83.0 106.6 L102.0 105.1 L103.4 93.0 L103.6 86.0 L104.6 81.0 L106.7 73.0 L111.9 61.0 L117.6 52.0 L123.7 45.0 L131.0 38.7 L139.0 33.6 L148.0 29.5 L153.0 27.9 L166.0 25.6 L180.0 25.7 L209.0 29.0 L218.0 28.9 L227.0 27.4 L234.0 25.0 L244.0 19.4 L251.0 13.5 L260.0 2.6 L263.0 -0.2 L266.0 2.6 L275.0 13.5 L282.0 19.4 L292.0 25.0 L299.0 27.4 L308.0 28.9 L316.0 29.0 L351.0 25.5 L360.0 25.6 L368.0 26.6 L378.0 29.5 L386.0 33.0 L395.0 38.7 L402.3 45.0 L408.4 52.0 L413.0 59.0 L416.1 65.0 L419.3 73.0 L422.4 86.0 L422.6 93.0 L423.9 105.0 L425.0 105.5 L433.0 105.6 L437.0 106.5 L442.0 106.5 L448.0 107.6 L458.0 110.7 L465.0 114.0 L474.0 119.6 L479.3 124.0 L487.3 133.0 L493.1 142.0 L497.1 151.0 L500.4 163.0 L501.3 177.0 L500.4 193.0 L499.7 195.0 L499.4 201.0 L498.6 204.0 L497.7 218.0 L498.6 229.0 L499.7 234.0 L502.7 242.0 L508.6 252.0 L516.0 260.3 L524.4 267.0 L526.1 269.0 L525.4 271.0 L516.0 278.7 L508.6 287.0 L502.7 297.0 L499.7 305.0 L498.6 310.0 L497.7 321.0 L498.6 335.0 L499.4 338.0 L499.7 344.0 L500.4 346.0 L501.3 362.0 L500.4 376.0 L498.1 385.0 L494.1 395.0 L490.0 402.2 L482.3 412.0 L478.1 416.0 L470.0 422.1 L458.0 428.3 L448.0 431.4 L445.0 431.6 L443.0 432.4 L424.0 433.9 L422.6 446.0 L422.4 453.0 L421.4 458.0 L419.3 466.0 L414.1 478.0 L408.4 487.0 L402.3 494.0 L395.0 500.3 L387.0 505.4 L378.0 509.5 L373.0 511.1 L360.0 513.4 L346.0 513.3 L317.0 510.0 L308.0 510.1 L299.0 511.6 L292.0 514.0 L282.0 519.6 L275.0 525.5 L266.0 536.4 L263.0 539.2Z'/%3E%3C/svg%3E");
	position: relative;
	aspect-ratio: 526 / 539;
	-webkit-mask: var(--gv-frame) center / 100% 100% no-repeat;
	mask: var(--gv-frame) center / 100% 100% no-repeat;
}

.gv-pdp .gv-pdp-banner__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gv-pdp .gv-pdp-banner__quote {
	position: relative;
	grid-column: 2;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--gv-font-display);
	font-weight: 400;
	font-size: 50px;
	line-height: 1.3;
	text-align: center;
	text-transform: capitalize;
	color: #000;
}

.gv-pdp .gv-pdp-banner__quote p {
	margin: 0;
}


/* ----------------------------------------------------------
   7. Related products
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-related {
	margin-top: 66px;
}

.gv-pdp .gv-pdp-related__head {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.gv-pdp .gv-pdp-related__title.gv-section-title {
	margin: 0;
	letter-spacing: 0;
	font-size: 64px;
	line-height: 1.3;
}

.gv-pdp .gv-pdp-related__ornament {
	display: block;
	width: 272px;
	aspect-ratio: 272 / 25;
	margin-top: 7px;
	background: url("data:image/svg+xml,%3Csvg width='272' height='25' viewBox='0 0 272 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M133.69 1.23C133.11 2.05 132.73 2.29 132.39 1.96C131.52 1.09 128.43 1.33 127.56 2.29C126.79 3.11 126.89 3.21 128.87 4.17C130.02 4.75 131.81 6.20 132.82 7.41C135.14 10.21 136.30 10.25 138.32 7.65C139.19 6.59 140.93 5.09 142.23 4.37C144.50 3.07 144.55 2.97 143.73 2.24C142.71 1.33 140.64 1.18 139.29 1.91C138.61 2.29 138.27 2.15 137.65 1.18C136.59 -0.40 134.75 -0.40 133.69 1.23Z' fill='%23AC262D'/%3E%3Cpath d='M109.37 3.31C108.51 4.95 108.84 6.20 110.53 8.08C112.46 10.16 113.04 9.92 113.76 6.73C114.15 5.09 114.05 4.46 113.47 3.55C112.51 2.10 110.10 1.96 109.37 3.31Z' fill='%23AC262D'/%3E%3Cpath d='M158.39 3.16C157.09 4.47 157.81 9.63 159.30 9.63C160.32 9.63 162.59 6.44 162.59 5.04C162.59 2.63 160.03 1.47 158.39 3.16Z' fill='%23AC262D'/%3E%3Cpath d='M118.74 4.27C116.32 5.38 114.25 7.94 113.86 10.30C113.72 11.27 113.48 12.04 113.38 12.04C113.24 12.04 112.03 11.03 110.68 9.82C107.54 7.02 106.00 6.20 102.91 5.91C98.42 5.53 95.05 8.61 95.58 12.76C96.20 17.93 103.63 19.04 104.84 14.16C105.42 11.85 102.19 10.01 100.69 11.80C100.35 12.18 100.21 13.05 100.31 13.73C100.50 14.50 100.35 14.93 99.92 14.93C98.81 14.93 97.80 13.44 97.80 11.80C97.80 8.52 102.04 7.12 105.90 9.10C106.87 9.63 109.28 11.80 111.16 13.92C115.65 18.84 118.69 20.43 123.42 20.43C127.32 20.39 130.41 19.04 132.53 16.48C133.35 15.51 133.98 14.55 133.98 14.36C133.98 13.49 131.67 14.07 130.56 15.22C128.96 16.91 126.17 18.31 124.28 18.31C123.42 18.31 121.78 17.88 120.67 17.30C114.35 14.26 115.84 5.77 122.64 5.77C125.73 5.77 127.81 8.95 125.97 10.79C124.96 11.85 124.33 11.75 124.33 10.59C124.33 9.10 122.69 8.52 121.44 9.53C119.94 10.74 120.52 12.38 122.69 13.29C124.72 14.16 126.46 13.78 127.71 12.18C129.78 9.53 128.43 5.43 125.01 4.03C122.84 3.11 121.10 3.21 118.74 4.27Z' fill='%23AC262D'/%3E%3Cpath d='M146.14 4.27C142.57 5.96 141.70 10.06 144.40 12.57C146.67 14.69 150.87 13.53 150.87 10.78C150.87 8.56 147.73 8.28 147.20 10.40C146.86 11.70 146.53 11.85 145.66 10.98C143.82 9.14 146.14 5.77 149.23 5.77C151.69 5.77 153.18 6.68 154.29 8.95C155.50 11.51 155.21 13.58 153.33 15.61C150.05 19.23 145.03 19.18 141.46 15.51C140.11 14.06 137.84 13.44 137.84 14.45C137.84 15.42 140.88 18.31 143.05 19.32C144.64 20.14 146.19 20.43 148.46 20.43C153.09 20.48 155.55 19.18 160.32 14.11C165.34 8.90 166.40 8.18 169.35 8.18C173.16 8.18 175.18 11.12 173.25 13.87C172.87 14.45 172.1 14.93 171.57 14.93C170.74 14.93 170.70 14.79 171.13 13.97C172.29 11.80 169.35 10.01 167.56 11.85C165.82 13.58 167.22 16.62 169.97 17.15C174.94 18.07 178.08 12.47 174.89 8.37C171.81 4.46 166.35 5.09 160.66 9.92C159.21 11.17 158.10 11.85 158.10 11.46C158.10 9.92 155.55 5.77 154.05 4.80C151.64 3.35 148.60 3.11 146.14 4.27Z' fill='%23AC262D'/%3E%3Cpath d='M8.78 4.41C7.28 5.24 6.61 6.30 6.61 8.03C6.61 9.24 6.41 9.63 5.79 9.63C4.44 9.63 1.59 10.54 0.58 11.27C-0.28 11.89 -0.28 11.99 1.30 12.95C2.26 13.53 3.81 13.97 4.92 13.97H6.90L6.70 15.85C6.56 17.39 6.75 17.88 7.81 18.74C9.41 19.95 9.98 20.05 9.98 18.99C9.98 17.68 11.77 15.17 13.22 14.40C14.33 13.82 20.98 13.68 52.20 13.49L89.83 13.24L89.98 11.94L90.12 10.64L52.59 10.49C18.48 10.35 14.91 10.25 13.55 9.53C11.72 8.52 11.00 7.65 10.27 5.57C9.79 4.13 9.60 3.98 8.78 4.41Z' fill='%23AC262D'/%3E%3Cpath d='M261.83 4.65C261.83 6.10 260.05 8.56 258.36 9.48C256.86 10.30 254.30 10.35 219.23 10.49L181.69 10.64L181.89 11.94L182.08 13.24L219.66 13.48C254.40 13.72 257.34 13.77 258.79 14.59C260.34 15.41 261.83 17.58 261.83 19.03C261.83 20.04 262.41 19.95 264.00 18.74C265.06 17.87 265.26 17.39 265.11 15.85L264.92 13.97H266.90C268.01 13.97 269.55 13.53 270.52 12.95C272.11 11.99 272.11 11.89 271.24 11.26C270.23 10.54 267.38 9.62 266.08 9.62C265.45 9.62 265.21 9.24 265.21 8.22C265.21 6.15 264.77 5.33 263.23 4.51C261.93 3.88 261.83 3.88 261.83 4.65Z' fill='%23AC262D'/%3E%3Cpath d='M91.04 11.80C91.04 13.10 92.01 13.78 93.16 13.34C93.60 13.20 93.74 12.62 93.60 11.85C93.41 10.93 93.07 10.59 92.20 10.59C91.28 10.59 91.04 10.84 91.04 11.80Z' fill='%23AC262D'/%3E%3Cpath d='M129.15 11.32C128.81 11.70 128.67 12.38 128.86 12.76C129.10 13.39 130.16 13.49 135.76 13.39L142.42 13.25V12.04V10.83L136.10 10.69C130.94 10.59 129.68 10.69 129.15 11.32Z' fill='%23AC262D'/%3E%3Cpath d='M177.98 11.89C178.07 12.95 178.36 13.24 179.33 13.24C180.29 13.24 180.58 12.95 180.68 11.89C180.82 10.73 180.68 10.59 179.33 10.59C177.98 10.59 177.83 10.73 177.98 11.89Z' fill='%23AC262D'/%3E%3Cpath d='M132.68 17.73C131.57 18.99 129.83 20.44 128.72 20.97C126.84 21.79 126.79 21.88 127.52 22.75C128.43 23.72 131.76 24.01 132.29 23.14C132.78 22.37 133.36 22.56 133.65 23.62C133.79 24.10 134.47 24.68 135.24 24.87C136.30 25.16 136.73 24.97 137.55 23.96C138.32 23.04 138.76 22.80 139.29 23.14C140.50 23.91 142.96 23.67 143.78 22.75C144.50 21.98 144.40 21.84 142.43 20.77C141.22 20.15 139.48 18.70 138.52 17.54C136.25 14.74 135.14 14.79 132.68 17.73Z' fill='%23AC262D'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: scaleY(-1);
}

.gv-pdp .gv-pdp-related__viewport {
	--gv-edge: max(var(--gv-gutter), calc((100% - var(--gv-container)) / 2));
	margin-top: 25px;
	padding: 2px 0 12px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-padding-inline: var(--gv-edge);
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	cursor: grab;
}

.gv-pdp .gv-pdp-related__viewport::-webkit-scrollbar {
	display: none;
}

.gv-pdp .gv-pdp-related__viewport.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.gv-pdp .gv-pdp-related__viewport:focus-visible {
	outline: 2px solid var(--gv-red);
	outline-offset: -2px;
}

.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track {
	display: flex;
	gap: 24px;
	width: max-content;
	margin: 0;
	padding: 0 var(--gv-edge);
	list-style: none;
}

.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track::before,
.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track::after {
	display: none;
}

.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track li.product.gv-card {
	float: none;
	flex: none;
	width: 385px;
	margin: 0;
	clear: none;
	scroll-snap-align: start;
}


/* ----------------------------------------------------------
   8. Reviews
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-reviews {
	display: grid;
	grid-template-columns: minmax(0, 683fr) minmax(0, 504fr);
	column-gap: 119px;
	align-items: start;
	margin-top: 99px;
	color: #000;
}

.gv-pdp .gv-pdp-reviews > * {
	min-width: 0;
}

@media (min-width: 1024px) {
	.gv-pdp .gv-pdp-reviews {
		padding-inline: calc(var(--gv-gutter) + 27px);
	}
}

.gv-pdp .gv-pdp-reviews__title {
	letter-spacing: 0;
	margin: 0;
	font-family: var(--gv-font-body);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.22;
	color: #000;
}

.gv-pdp .gv-pdp-reviews__notice {
	margin: 12px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	background: #f3f9f4;
	font-weight: 500;
	font-size: 14px;
	color: #24563a;
}

.gv-pdp .gv-pdp-reviews__empty {
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 25px;
	color: rgba(0, 0, 0, 0.6);
}

/* Write a review */
.gv-pdp .gv-pdp-rate {
	margin: 10px 0 0;
	padding: 0;
	border: 0;
}

.gv-pdp .gv-pdp-rate__label {
	padding: 0;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	color: rgba(0, 0, 0, 0.5);
}

/* Stars are in reverse order so a hover can colour the stars before it */
.gv-pdp .gv-pdp-rate__stars {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 3px;
	margin-top: 10px;
}

.gv-pdp .gv-pdp-rate__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.gv-pdp .gv-pdp-rate__star {
	display: block;
	width: 24px;
	height: 24px;
	color: #000;
	cursor: pointer;
	transition: color 0.15s ease, transform 0.15s ease;
}

.gv-pdp .gv-pdp-rate__star svg {
	display: block;
}

.gv-pdp .gv-pdp-rate__star:hover,
.gv-pdp .gv-pdp-rate__star:hover ~ .gv-pdp-rate__star,
.gv-pdp .gv-pdp-rate__input:checked ~ .gv-pdp-rate__star {
	color: #ffc107;
}

.gv-pdp .gv-pdp-rate__star:hover svg,
.gv-pdp .gv-pdp-rate__star:hover ~ .gv-pdp-rate__star svg,
.gv-pdp .gv-pdp-rate__input:checked ~ .gv-pdp-rate__star svg {
	fill: currentColor;
}

.gv-pdp .gv-pdp-rate__input:focus-visible + .gv-pdp-rate__star {
	transform: scale(1.15);
}

.gv-pdp .gv-pdp-review-form__error {
	margin: 8px 0 0;
	font-size: 14px;
	color: var(--gv-red);
}

.gv-pdp .gv-pdp-review-form__as {
	margin: 19px 0 0;
	font-size: 16px;
	line-height: 25px;
}

.gv-pdp .gv-pdp-review-form__field {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 25px 0 0;
}

.gv-pdp .gv-pdp-rate + .gv-pdp-review-form__field,
.gv-pdp .gv-pdp-rate + .gv-pdp-review-form__as {
	margin-top: 19px;
}

.gv-pdp .gv-pdp-review-form__field label {
	font-weight: 500;
	font-size: 16px;
	line-height: 25px;
}

.gv-pdp .gv-pdp-review-form__field input,
.gv-pdp .gv-pdp-review-form__field textarea {
	width: 100%;
	padding: 10px 10px 10px 20px;
	border: 0.5px solid rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	font-family: var(--gv-font-body);
	font-weight: 500;
	font-size: 16px;
	line-height: 25px;
	color: #000;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gv-pdp .gv-pdp-review-form__field textarea {
	height: 139px;
	resize: vertical;
}

.gv-pdp .gv-pdp-review-form__field input::placeholder,
.gv-pdp .gv-pdp-review-form__field textarea::placeholder {
	color: rgba(0, 0, 0, 0.2);
	opacity: 1;
}

.gv-pdp .gv-pdp-review-form__field input:focus,
.gv-pdp .gv-pdp-review-form__field textarea:focus {
	border-color: var(--gv-red);
	outline: 0;
	box-shadow: 0 0 0 3px rgba(172, 38, 45, 0.1);
}

.gv-pdp .gv-pdp-review-form__submit {
	width: 100%;
	height: 52px;
	margin-top: 46px;
	border: 0;
	border-radius: 10px;
	background: var(--gv-red);
	font-family: var(--gv-font-body);
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease;
}

.gv-pdp .gv-pdp-review-form__submit:hover {
	background: var(--gv-red-dark);
}

/* Recent feedbacks */
.gv-pdp .gv-pdp-reviews__items {
	margin: 15px 0 0;
	padding: 0;
	list-style: none;
}

.gv-pdp .gv-pdp-review + .gv-pdp-review {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.gv-pdp .gv-pdp-review__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: 14px;
	color: rgba(0, 0, 0, 0.5);
}

.gv-pdp .gv-pdp-review__author {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 16px 0 0;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.22;
}

.gv-pdp .gv-pdp-review__avatar {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #d9d9d9;
	font-size: 14px;
	color: rgba(0, 0, 0, 0.55);
}

.gv-pdp .gv-pdp-review__text {
	margin-top: 16px;
	font-size: 16px;
	line-height: 25px;
	overflow-wrap: anywhere;
}

.gv-pdp .gv-pdp-review__text p {
	margin: 0;
}

.gv-pdp .gv-pdp-review__text p + p {
	margin-top: 10px;
}

/* 1 2 3 › */
.gv-pdp .gv-pdp-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-top: 28px;
}

.gv-pdp .gv-pdp-pager[hidden] {
	display: none;
}

.gv-pdp .gv-pdp-pager button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 12px;
	height: 24px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--gv-font-body);
	font-size: 20px;
	line-height: 22px;
	color: #000;
	cursor: pointer;
}

.gv-pdp .gv-pdp-pager button:hover {
	color: var(--gv-red);
}

.gv-pdp .gv-pdp-pager button[aria-current="page"] {
	font-weight: 700;
	color: var(--gv-red);
	cursor: default;
}

.gv-pdp .gv-pdp-pager .gv-pdp-pager__arrow {
	width: 24px;
}

.gv-pdp .gv-pdp-pager .gv-pdp-pager__arrow:disabled {
	opacity: 0.3;
	cursor: default;
}


/* ----------------------------------------------------------
   9. Shared: stars (yellow part = --gv-rating)
   ---------------------------------------------------------- */
.gv-pdp .gv-pdp-stars {
	--gv-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 24'%3E%3Cpath d='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
	flex: none;
	width: 144px;
	height: 24px;
	background: linear-gradient(90deg, #ffc107 var(--gv-rating, 0%), #d9d9d9 var(--gv-rating, 0%));
	-webkit-mask: var(--gv-star) 0 0 / 30px 24px repeat-x;
	mask: var(--gv-star) 0 0 / 30px 24px repeat-x;
}


/* ----------------------------------------------------------
   10. Tablet
   ---------------------------------------------------------- */
@media (max-width: 1279px) {
	.gv-pdp .gv-pdp-hero {
		column-gap: 32px;
	}

	.gv-pdp .gv-pdp-summary__title {
		font-size: 40px;
	}

	.gv-pdp .gv-pdp-banner__box {
		column-gap: 56px;
		min-height: 0;
		padding: 48px;
	}

	.gv-pdp .gv-pdp-banner__quote {
		font-size: 40px;
	}

	.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track li.product.gv-card {
		width: 330px;
	}

	.gv-pdp .gv-pdp-reviews {
		column-gap: 64px;
	}
}

@media (max-width: 1023px) {
	.gv-pdp .gv-pdp-hero {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 36px;
		padding-top: 32px;
		padding-bottom: 72px;
	}

	.gv-pdp .gv-pdp-gallery {
		width: 100%;
		max-width: 696px;
		margin-inline: auto;
	}

	.gv-pdp .gv-pdp-gallery__thumbs {
		grid-auto-columns: calc((100% - 60px) / 4);
		gap: 20px;
	}

	.gv-pdp .gv-pdp-summary__intro {
		max-width: none;
	}

	.gv-pdp .gv-pdp-banner__box {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		column-gap: 36px;
		padding: 36px;
	}

	.gv-pdp .gv-pdp-banner__quote {
		font-size: 32px;
	}

	.gv-pdp .gv-pdp-related {
		margin-top: 56px;
	}

	.gv-pdp .gv-pdp-related__title.gv-section-title {
		font-size: 48px;
	}

	.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track {
		gap: 16px;
	}

	.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track li.product.gv-card {
		width: 290px;
	}

	.gv-pdp .gv-pdp-reviews {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 56px;
		margin-top: 64px;
	}
}


/* ----------------------------------------------------------
   11. Mobile
   ---------------------------------------------------------- */
@media (max-width: 600px) {
	.gv-pdp {
		padding-bottom: 64px;
	}

	.gv-pdp .gv-pdp-hero {
		row-gap: 28px;
		padding-top: 20px;
		padding-bottom: 56px;
	}

	.gv-pdp .gv-pdp-gallery__main {
		aspect-ratio: 1 / 1;
	}

	.gv-pdp .gv-pdp-gallery__thumbs {
		grid-auto-columns: calc((100% - 30px) / 4);
		gap: 10px;
		margin-top: 10px;
	}

	.gv-pdp .gv-pdp-gallery__thumb {
		aspect-ratio: 1 / 1;
		border-radius: 8px;
	}

	.gv-pdp .gv-pdp-summary > * {
		margin-top: 16px;
	}

	.gv-pdp .gv-pdp-summary__title {
		font-size: 30px;
	}

	.gv-pdp .gv-pdp-summary__price {
		font-size: 30px;
	}

	.gv-pdp .gv-pdp-summary__tag {
		min-width: 0;
	}

	.gv-pdp .gv-pdp-weights {
		gap: 10px;
		margin-top: 14px;
	}

	.gv-pdp .gv-pdp-ticker {
		height: 42px;
		margin-top: 24px;
		margin-inline: calc(var(--gv-gutter) * -1);
	}

	.gv-pdp .gv-pdp-ticker__item {
		font-size: 14px;
	}

	.gv-pdp .gv-pdp-ticker + .gv-pdp-form__group {
		margin-top: 24px;
	}

	.gv-pdp .gv-pdp-form__row {
		gap: 12px;
		margin-top: 14px;
	}

	.gv-pdp .gv-pdp-qty {
		width: 104px;
		height: 52px;
	}

	.gv-pdp .gv-pdp-form .gv-pdp-form__cart {
		height: 52px;
	}

	.gv-pdp .gv-pdp-summary > .gv-pdp-acc {
		margin-top: 28px;
	}

	.gv-pdp .gv-pdp-acc__item + .gv-pdp-acc__item {
		margin-top: 12px;
	}

	.gv-pdp .gv-pdp-acc__head {
		padding-left: 18px;
	}

	.gv-pdp .gv-pdp-acc__body {
		padding-inline: 18px;
	}

	/* Banner: picture on top, quote underneath */
	.gv-pdp .gv-pdp-features + .gv-pdp-banner {
		margin-top: 32px;
	}

	.gv-pdp .gv-pdp-banner__box {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
		justify-items: center;
		padding: 32px 20px 36px;
		border-radius: 16px;
	}

	.gv-pdp .gv-pdp-banner__frame {
		width: min(100%, 320px);
	}

	.gv-pdp .gv-pdp-banner__quote {
		grid-column: 1;
		font-size: 28px;
	}

	/* Related: a simple list of 4 cards */
	.gv-pdp .gv-pdp-related {
		margin-top: 48px;
	}

	.gv-pdp .gv-pdp-related__title.gv-section-title {
		font-size: 36px;
	}

	.gv-pdp .gv-pdp-related__ornament {
		width: 200px;
	}

	.gv-pdp .gv-pdp-related__viewport {
		margin-top: 20px;
		padding: 0;
		overflow: visible;
		cursor: auto;
	}

	.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track {
		flex-direction: column;
		width: auto;
		gap: 16px;
		padding: 0 var(--gv-gutter);
	}

	.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track li.product.gv-card {
		width: auto;
	}

	.gv-pdp .gv-pdp-related ul.products.gv-pdp-related__track li.product.gv-card:nth-child(n + 5) {
		display: none;
	}

	.gv-pdp .gv-pdp-reviews {
		row-gap: 48px;
		margin-top: 56px;
	}

	.gv-pdp .gv-pdp-reviews__title {
		font-size: 22px;
	}

	.gv-pdp .gv-pdp-review-form__field {
		margin-top: 18px;
	}

	.gv-pdp .gv-pdp-review-form__submit {
		margin-top: 28px;
	}

	.gv-pdp .gv-pdp-review + .gv-pdp-review {
		margin-top: 22px;
		padding-top: 22px;
	}

	.gv-pdp .gv-pdp-review__text {
		font-size: 15px;
		line-height: 23px;
	}
}