/* =====================================================================
   Half Skull — single product page
   Light, roomy layout: image mosaic left, sticky buy column right.
   ===================================================================== */

/* The theme lays the page out with Bootstrap columns
   (.single-main-content > .row > .image-mains + .information); we widen
   the image side and make the buy column sticky rather than replacing it. */

.hs-pdp .single-main-content > .row { align-items: flex-start; }

.hs-pdp .woocommerce-product-gallery { float: none; width: 100%; }

@media (min-width: 992px) {
	.hs-pdp .single-main-content > .row > .image-mains {
		flex: 0 0 54%;
		max-width: 54%;
	}

	.hs-pdp .single-main-content > .row > .information {
		flex: 0 0 46%;
		max-width: 46%;
		position: sticky;
		top: 92px;
		padding-left: 34px;
	}
}

/* ---------------------------------------------------------------------
   Gallery mosaic
   --------------------------------------------------------------------- */
.hs-gallery { margin: 0 0 28px; }

.hs-gallery__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	align-items: start;
	/* guards against any carousel script writing inline track widths */
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
}

.hs-gallery__item { width: auto !important; }

/* the theme appends its own thumbnail nav into the same wrapper */
.hs-gallery__grid > *:not(.hs-gallery__item) { display: none !important; }

.hs-pdp .image-mains .onsale,
.hs-gallery .onsale,
.hs-gallery span.onsale { display: none !important; }

/*
 * Same treatment as the card grid: whatever ratio the shot was
 * actually taken in, the whole image stays visible and centred
 * (object-fit: contain below); leftover space fills with the same
 * soft fixed gradient the cards use, not a per-image blur — that
 * produced a visible seam against wide/landscape source photos
 * instead of blending. See halfskull-cards.css for why.
 */
.hs-gallery__item {
	position: relative;
	margin: 0;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-r-lg);
	background: radial-gradient(135% 100% at 50% 18%, #ffffff 0%, var(--hs-surface-2) 55%, #f3efe9 100%);
}

.hs-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media (min-width: 768px) {
	.hs-gallery__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}

/* Phones: one full-bleed image per swipe, edge to edge, with dots. */
@media (max-width: 767px) {
	/* break out of the Bootstrap container so images touch both edges */
	.hs-gallery {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		margin-bottom: 18px;
	}

	.hs-gallery__grid {
		display: flex;
		gap: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 0;
		scrollbar-width: none;
	}

	.hs-gallery__grid::-webkit-scrollbar { display: none; }

	.hs-gallery__item {
		flex: 0 0 100%;
		aspect-ratio: 3 / 4;
		scroll-snap-align: start;
		border: 0;
		/* full-bleed edge-to-edge by design on phones — no rounding here */
		border-radius: 0;
	}

	/* One tall, consistent slide per image — big like the reference,
	   and "contain" so size charts are never cropped. Leftover space
	   fills with the same blurred-photo backdrop as desktop. */
	.hs-gallery__item img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.hs-gallery__dots {
		display: flex;
		justify-content: center;
		gap: 6px;
		margin: 12px 0 0;
	}

	.hs-gallery__dot {
		width: 6px;
		height: 6px;
		border: 0;
		padding: 0;
		border-radius: 50%;
		background: var(--hs-line);
		transition: width .2s ease, background .2s ease;
	}

	.hs-gallery__dot.is-active {
		width: 18px;
		border-radius: 3px;
		background: var(--hs-red);
	}
}

@media (min-width: 768px) {
	.hs-gallery__dots { display: none; }
}

/* ---------------------------------------------------------------------
   Buy column — order of blocks
   --------------------------------------------------------------------- */
.hs-pdp .summary.entry-summary {
	display: flex;
	flex-direction: column;
}

/* anything the theme or a plugin drops in (pincode form, scripts) sits
   in the middle slot rather than jumping to the top */
.hs-pdp .summary > *                        { order: 6; }
.hs-pdp .summary > .hs-pincode-title        { order: 5; margin: 6px 0 10px; }

.hs-pdp .summary > .hs-price-block          { order: 1; }
.hs-pdp .summary > .zota-single-product-title-main { order: 2; }
.hs-pdp .summary > .hs-trust                { order: 3; }
.hs-pdp .summary > form.cart,
.hs-pdp .summary > .mobile-attribute-list   { order: 4; }
.hs-pdp .summary > .mobile-btn-cart-click   { order: 5; }
.hs-pdp .summary > .hs-pincode              { order: 6; }
.hs-pdp .summary > .hs-highlights           { order: 7; }
.hs-pdp .summary > .hs-accordions           { order: 8; }
.hs-pdp .summary > .hs-badges               { order: 9; }
.hs-pdp .summary > .product_meta            { order: 10; }
.hs-pdp .summary > .zota-social-links       { order: 11; }

/* Woo's own price paragraph and short description are replaced */
/* the theme re-shows these inside a media query, hence !important */
.hs-pdp .summary > p.price,
.hs-pdp .summary > .woocommerce-product-details__short-description { display: none !important; }

/* ---------------------------------------------------------------------
   Price
   --------------------------------------------------------------------- */
.hs-price-block { margin: 0 0 10px; }

.hs-price-block__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
}

.hs-price-block .hs-now {
	font-size: 26px;
	font-weight: 700;
	color: var(--hs-ink);
	line-height: 1.2;
}

.hs-price-block .hs-mrp {
	font-size: 16px;
	font-weight: 500;
	color: var(--hs-faint);
	text-decoration: line-through;
}

.hs-price-block .hs-off {
	font-size: 15px;
	font-weight: 700;
	color: var(--hs-red);
}

.hs-price-block .hs-tax {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--hs-muted);
}

/* ---------------------------------------------------------------------
   Title + rating
   --------------------------------------------------------------------- */
.hs-pdp .zota-single-product-title-main { margin: 0 0 14px; }

.hs-pdp h1.product_title {
	margin: 0 0 8px;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 600;
	color: var(--hs-ink);
}

.hs-pdp .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 13px;
	color: var(--hs-muted);
}

@media (min-width: 992px) {
	.hs-pdp h1.product_title { font-size: 27px; }
}

/* ---------------------------------------------------------------------
   Trust chips
   --------------------------------------------------------------------- */
.hs-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 18px;
}

.hs-trust__chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 10px;
	border: 1px solid var(--hs-line);
	border-radius: 999px;
	background: var(--hs-surface-2);
	font-size: 12px;
	font-weight: 500;
	color: var(--hs-body);
	line-height: 1.3;
}

.hs-trust__chip.is-green {
	border-color: #cdeddd;
	background: var(--hs-green-tint);
	color: var(--hs-green);
}

.hs-trust__chip.is-red {
	border-color: var(--hs-red-line);
	background: var(--hs-red-tint);
	color: var(--hs-red-dark);
}

/* ---------------------------------------------------------------------
   Variation form: swatches + buttons
   --------------------------------------------------------------------- */
.hs-pdp form.cart { margin: 0 0 18px; }

.hs-pdp .variations {
	width: 100%;
	margin: 0 0 16px;
	border: 0;
}

.hs-pdp .variations td,
.hs-pdp .variations th {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
}

.hs-pdp .variations tr + tr { margin-top: 14px; display: block; }

.hs-pdp .variations .label label {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--hs-muted);
}

.hs-pdp .variable-items-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.hs-pdp li.variable-item {
	margin: 0 !important;
	box-shadow: none !important;
}

/* the swatch plugin emits sizes alphabetically; show them as a size run */
.hs-pdp li.variable-item[data-value="xxs"] { order: 1; }
.hs-pdp li.variable-item[data-value="xs"]  { order: 2; }
.hs-pdp li.variable-item[data-value="s"]   { order: 3; }
.hs-pdp li.variable-item[data-value="m"]   { order: 4; }
.hs-pdp li.variable-item[data-value="l"]   { order: 5; }
.hs-pdp li.variable-item[data-value="xl"]  { order: 6; }
.hs-pdp li.variable-item[data-value="xxl"] { order: 7; }
.hs-pdp li.variable-item[data-value="xxxl"] { order: 8; }

.hs-pdp li.button-variable-item {
	min-width: 48px;
	height: 42px;
	border: 1px solid var(--hs-line) !important;
	border-radius: 8px !important;
	background: var(--hs-surface);
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.hs-pdp li.button-variable-item .variable-item-span {
	font-size: 14px;
	font-weight: 600;
	color: var(--hs-ink);
	line-height: 40px;
}

.hs-pdp li.button-variable-item:hover { border-color: var(--hs-ink) !important; }

.hs-pdp li.button-variable-item.selected {
	border-color: var(--hs-red) !important;
	background: var(--hs-red-tint);
}

.hs-pdp li.button-variable-item.selected .variable-item-span { color: var(--hs-red-dark); }

.hs-pdp li.color-variable-item {
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	border: 1px solid var(--hs-line) !important;
	padding: 3px !important;
}

.hs-pdp li.color-variable-item.selected { border-color: var(--hs-red) !important; }

.hs-pdp .reset_variations {
	display: inline-block;
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--hs-muted);
}

.hs-pdp .woocommerce-variation-price { margin: 0 0 12px; }
.hs-pdp .woocommerce-variation-price .price { font-size: 18px; font-weight: 600; color: var(--hs-ink); }

/* quantity + buttons */
.hs-pdp .quantity { margin: 0 10px 0 0; }

.hs-pdp .quantity input.qty {
	height: 52px;
	width: 72px;
	border: 1px solid var(--hs-line);
	border-radius: 10px;
	text-align: center;
	font-weight: 600;
	color: var(--hs-ink);
}

.hs-pdp .woocommerce-variation-add-to-cart,
.hs-pdp form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.hs-pdp button.single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 52px;
	padding: 15px 22px;
	border: 1px solid var(--hs-ink);
	border-radius: 10px;
	background: var(--hs-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	line-height: 1.2;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.hs-pdp button.single_add_to_cart_button:hover {
	background: var(--hs-red);
	border-color: var(--hs-red);
	color: #fff;
}

/* Theme's sticky buy bar: a phone-only device, brand-coloured.
   The in-page button covers desktop. */
@media (min-width: 992px) {
	.hs-pdp .mobile-btn-cart-click { display: none !important; }
}

@media (max-width: 991px) {
	.hs-pdp .mobile-btn-cart-click > div {
		height: 54px !important;
		border: 0 !important;
		border-radius: 0 !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: .06em !important;
		text-transform: uppercase !important;
		line-height: 54px !important;
		text-align: center;
		box-shadow: 0 -2px 12px rgba(19, 19, 22, .12);
	}

	.hs-pdp .mobile-btn-cart-click > div:first-child {
		background: var(--hs-ink) !important;
		color: #fff !important;
	}

	.hs-pdp .mobile-btn-cart-click > div:first-child a,
	.hs-pdp .mobile-btn-cart-click > div:first-child button { color: #fff !important; }

	.hs-pdp .mobile-btn-cart-click > div:last-child {
		background: var(--hs-red) !important;
		color: #fff !important;
	}

	.hs-pdp .mobile-btn-cart-click > div:last-child a,
	.hs-pdp .mobile-btn-cart-click > div:last-child button { color: #fff !important; }

	/* room so the bar never covers the last block of content */
	.hs-pdp .site-footer,
	.hs-pdp #tbay-footer { padding-bottom: 60px; }
}

/* ---------------------------------------------------------------------
   Pincode checker
   --------------------------------------------------------------------- */
.hs-pincode { margin: 0 0 22px; }

.hs-pincode__label {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--hs-muted);
}

.hs-pdp .summary input[type="text"][placeholder*="incode"],
.hs-pdp .summary input#pincode_input {
	height: 46px;
	max-width: 220px;
	padding: 0 14px;
	border: 1px solid var(--hs-line);
	border-radius: 10px;
	font-size: 14px;
	color: var(--hs-ink);
	background: var(--hs-surface);
}

.hs-pdp .summary button[onclick*="Pincode"],
.hs-pdp .summary button[onclick*="pincode"] {
	height: 46px;
	margin-left: 8px;
	padding: 0 18px;
	border: 1px solid var(--hs-ink);
	border-radius: 10px;
	background: var(--hs-surface);
	color: var(--hs-ink);
	font-size: 13px;
	font-weight: 600;
}

.hs-pdp .summary button[onclick*="Pincode"]:hover {
	background: var(--hs-ink);
	color: #fff;
}

/* ---------------------------------------------------------------------
   Key highlights
   --------------------------------------------------------------------- */
.hs-section-title {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hs-ink);
}

.hs-highlights { margin: 0 0 26px; }

.hs-highlights__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 24px;
}

.hs-highlights__item {
	padding: 12px 0;
	border-bottom: 1px solid var(--hs-line-soft);
}

.hs-highlights__key {
	display: block;
	margin-bottom: 3px;
	font-size: 12px;
	color: var(--hs-muted);
}

.hs-highlights__val {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: var(--hs-ink);
	line-height: 1.4;
}

/* ---------------------------------------------------------------------
   Accordions
   --------------------------------------------------------------------- */
.hs-accordions {
	margin: 0 0 26px;
	border-top: 1px solid var(--hs-line);
}

.hs-acc { border-bottom: 1px solid var(--hs-line); }

.hs-acc-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 16px 0;
	border: 0;
	background: none;
	text-align: left;
	cursor: pointer;
}

.hs-acc-head__text {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--hs-ink);
	line-height: 1.35;
}

.hs-acc-head__sub {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	color: var(--hs-muted);
}

.hs-acc-head__sign {
	position: relative;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
}

.hs-acc-head__sign::before,
.hs-acc-head__sign::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	background: var(--hs-ink);
	transform: translate(-50%, -50%);
	transition: transform .2s ease, opacity .2s ease;
}

.hs-acc-head__sign::after { transform: translate(-50%, -50%) rotate(90deg); }

.hs-acc.is-open .hs-acc-head__sign::after { opacity: 0; transform: translate(-50%, -50%); }

.hs-acc-body {
	display: none;
	padding: 0 0 18px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--hs-body);
}

.hs-acc.is-open .hs-acc-body { display: block; }

/* ---------------------------------------------------------------------
   Description content, rebuilt out of the old <pre> blocks
   --------------------------------------------------------------------- */
.hs-desc p { margin: 0 0 12px; font-size: 14px; line-height: 1.7; color: var(--hs-body); }

.hs-desc h3 {
	margin: 18px 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--hs-ink);
}

.hs-desc ul {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.hs-desc li {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 0 26px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--hs-body);
}

.hs-desc li .hs-ico {
	position: absolute;
	left: 0;
	top: 1px;
	font-size: 14px;
	line-height: 1.6;
}

.hs-desc li .hs-ico img.emoji { width: 15px; height: 15px; }

.hs-desc li strong { color: var(--hs-ink); font-weight: 600; }

.hs-desc__specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-r-md);
	background: var(--hs-surface-2);
}

.hs-desc__spec {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 0;
	font-size: 13px;
	border-bottom: 1px solid var(--hs-line-soft);
}

.hs-desc__spec:last-child,
.hs-desc__spec:nth-last-child(2):nth-child(odd) { border-bottom: 0; }

.hs-desc__spec dt { color: var(--hs-muted); font-weight: 400; margin: 0; }
.hs-desc__spec dd { color: var(--hs-ink); font-weight: 600; margin: 0; }

/* any leftover pasted <pre> anywhere on the site reads as normal prose */
.woocommerce-product-details__short-description pre,
.woocommerce-Tabs-panel pre,
.hs-desc pre,
.hs-acc-body pre {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.7;
	color: var(--hs-body);
	white-space: pre-wrap;
	word-break: break-word;
	overflow: visible;
}

/* ---------------------------------------------------------------------
   Reassurance badges
   --------------------------------------------------------------------- */
.hs-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 0 0 24px;
	padding: 16px 12px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-r-md);
	background: var(--hs-surface-2);
}

.hs-badges__item { text-align: center; }

.hs-badges__ico { font-size: 20px; line-height: 1; }

.hs-badges__label {
	display: block;
	margin-top: 7px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--hs-body);
	line-height: 1.35;
}

/* ---------------------------------------------------------------------
   Meta + tabs
   --------------------------------------------------------------------- */
.hs-pdp .product_meta {
	margin: 4px 0 16px;
	padding-top: 16px;
	border-top: 1px solid var(--hs-line);
	font-size: 12px;
	color: var(--hs-muted);
}

.hs-pdp .product_meta a { color: var(--hs-body); }
.hs-pdp .product_meta a:hover { color: var(--hs-red); }

.hs-pdp .woocommerce-tabs { margin-top: 44px; }

.hs-pdp .woocommerce-tabs ul.tabs {
	margin: 0 0 22px;
	padding: 0 0 2px;
	border-bottom: 1px solid var(--hs-line);
}

.hs-pdp .woocommerce-tabs ul.tabs li a {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--hs-muted);
}

.hs-pdp .woocommerce-tabs ul.tabs li.active a { color: var(--hs-ink); }

.hs-pdp .related > h2,
.hs-pdp .up-sells > h2 {
	margin: 0 0 22px;
	font-size: 20px;
	font-weight: 600;
	color: var(--hs-ink);
}

.hs-pdp .related,
.hs-pdp .up-sells { margin-top: 46px; }

/* ---------------------------------------------------------------------
   Mobile
   --------------------------------------------------------------------- */
@media (max-width: 991px) {
	.hs-pdp div.product { padding: 0 14px; }

	.hs-pdp .summary.entry-summary { margin-top: 4px; }

	.hs-price-block .hs-now { font-size: 23px; }

	.hs-highlights__grid { gap: 0 16px; }

	.hs-badges { padding: 14px 8px; }

	.hs-desc__specs { grid-template-columns: 1fr; padding: 12px 14px; }
	.hs-desc__spec { border-bottom: 1px solid var(--hs-line-soft); }
	.hs-desc__spec:last-child { border-bottom: 0; }

	.hs-pdp .mobile-btn-cart-click a,
	.hs-pdp button.single_add_to_cart_button { flex: 1 1 100%; }

	.hs-pdp .quantity { margin: 0 0 10px; }
	.hs-pdp .quantity input.qty { width: 100%; max-width: 120px; }

	.hs-pdp .woocommerce-tabs { margin-top: 32px; }
	.hs-pdp .related,
	.hs-pdp .up-sells { margin-top: 34px; }
}

@media (max-width: 575px) {
	.hs-highlights__grid { grid-template-columns: 1fr; }
	.hs-badges { grid-template-columns: repeat(3, 1fr); gap: 4px; }
	.hs-badges__label { font-size: 10px; letter-spacing: 0; }
}

/* =====================================================================
   Add to cart / Buy now
   The theme ships proxy buttons (#tbay-click-addtocart, #tbay-click-buy-now)
   that it pins to the bottom of the viewport. On desktop we bring Buy now
   back into the flow under the real Add to cart; on phones they stay as a
   sticky action bar.
   ===================================================================== */

.hs-pdp form.cart .woocommerce-variation-add-to-cart {
	align-items: stretch;
	gap: 10px;
}

.hs-pdp button.single_add_to_cart_button {
	flex: 1 1 100%;
	width: 100%;
	border-radius: 10px;
}

/* The real controls live in #shop-now: quantity, Add to cart, Buy now
   and the wishlist toggle. Quantity and Add to cart share the first row,
   Buy now takes the full width below it as the highlighted action. */

.hs-pdp #shop-now {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.hs-pdp #shop-now .quantity { order: 1; flex: 0 0 auto; margin: 0; }

.hs-pdp #shop-now .single_add_to_cart_button {
	order: 2;
	flex: 1 1 180px;
	width: auto;
	min-height: 54px;
	margin: 0;
}

.hs-pdp #shop-now .group-button { order: 3; flex: 0 0 auto; margin: 0; }

.hs-pdp #shop-now .group-button .tbay-wishlist a,
.hs-pdp #shop-now .group-button > div {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border: 1px solid var(--hs-line);
	border-radius: 10px;
	background: var(--hs-surface);
	color: var(--hs-ink);
	transition: border-color .18s ease, color .18s ease;
}

.hs-pdp #shop-now .group-button .tbay-wishlist a:hover {
	border-color: var(--hs-red);
	color: var(--hs-red);
}

/* the theme paints Buy now from its own token; repoint it at brand red */
.hs-pdp,
.hs-pdp .woocommerce {
	--tb-theme-bg-buy-now: var(--hs-red);
	--tb-theme-color-buy-now: #fff;
}

.hs-pdp .woocommerce #shop-now.has-buy-now .tbay-buy-now,
.hs-pdp #shop-now .tbay-buy-now {
	order: 4;
	flex: 1 1 100%;
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 15px 22px;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--hs-red) !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(255, 2, 37, .26);
	transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.hs-pdp .woocommerce #shop-now.has-buy-now .tbay-buy-now:hover,
.hs-pdp #shop-now .tbay-buy-now:hover {
	background: var(--hs-red-dark) !important;
	box-shadow: 0 10px 24px rgba(255, 2, 37, .34);
	transform: translateY(-1px);
}

/* one price across every variation? the header price already says it */
.hs-uniform-price .woocommerce-variation-price { display: none; }

/* the theme's sticky proxy bar is a phone-only shortcut */
@media (min-width: 992px) {
	.hs-pdp .mobile-btn-cart-click { display: none !important; }
}

@media (max-width: 991px) {
	.hs-pdp .mobile-btn-cart-click > div {
		display: flex !important;
		align-items: center;
		justify-content: center;
		height: 56px !important;
		border: 0 !important;
		border-radius: 0 !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: .07em !important;
		text-transform: uppercase !important;
		line-height: 1.2 !important;
		box-shadow: 0 -2px 14px rgba(19, 19, 22, .14);
	}

	.hs-pdp #tbay-click-addtocart {
		background: var(--hs-ink) !important;
		color: #fff !important;
	}

	.hs-pdp #tbay-click-buy-now {
		background: var(--hs-red) !important;
		color: #fff !important;
	}
}

/* =====================================================================
   Pincode check
   ===================================================================== */

.hs-pdp .summary > div:has(> #check_pincode) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px;
	padding: 14px 16px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-r-md);
	background: var(--hs-surface-2);
}

.hs-pdp #shiprocket_pincode_check {
	flex: 1 1 160px;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--hs-line);
	border-radius: 8px;
	background: var(--hs-surface);
	font-size: 14px;
	color: var(--hs-ink);
}

.hs-pdp #shiprocket_pincode_check:focus {
	border-color: var(--hs-ink);
	outline: none;
}

.hs-pdp #check_pincode {
	flex: 0 0 auto;
	height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--hs-ink);
	border-radius: 8px;
	background: var(--hs-surface);
	color: var(--hs-ink);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	white-space: nowrap;
	transition: background .18s ease, color .18s ease;
}

.hs-pdp #check_pincode:hover {
	background: var(--hs-ink);
	color: #fff;
}

.hs-pdp #shiprocket_pincode_result,
.hs-pdp .summary > div:has(> #check_pincode) + div {
	flex: 1 1 100%;
	font-size: 13px;
	color: var(--hs-body);
}

@media (max-width: 480px) {
	.hs-pdp #shiprocket_pincode_check { flex: 1 1 100%; }
	.hs-pdp #check_pincode { flex: 1 1 100%; }
}

/* =====================================================================
   Reviews
   ===================================================================== */

.hs-pdp #reviews { max-width: 760px; }

.hs-pdp #reviews .woocommerce-Reviews-title {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 600;
	color: var(--hs-ink);
}

.hs-pdp .woocommerce-noreviews {
	margin: 0 0 24px;
	padding: 14px 16px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-r-md);
	background: var(--hs-surface-2);
	font-size: 14px;
	color: var(--hs-body);
}

.hs-pdp #review_form_wrapper {
	padding: 22px;
	border: 1px solid var(--hs-line);
	border-radius: var(--hs-r-lg);
	background: var(--hs-surface);
}

.hs-pdp #reply-title {
	display: block;
	margin: 0 0 18px;
	font-size: 15px;
	font-weight: 600;
	color: var(--hs-ink);
}

.hs-pdp .comment-form { display: grid; gap: 14px; }

.hs-pdp .comment-form .comment-form-rating { margin: 0; }

.hs-pdp .comment-form label {
	display: block;
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--hs-muted);
}

.hs-pdp .comment-form input[type="text"],
.hs-pdp .comment-form input[type="email"],
.hs-pdp .comment-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--hs-line);
	border-radius: 10px;
	background: var(--hs-surface);
	font-size: 14px;
	color: var(--hs-ink);
}

.hs-pdp .comment-form textarea { min-height: 120px; resize: vertical; }

.hs-pdp .comment-form input:focus,
.hs-pdp .comment-form textarea:focus {
	border-color: var(--hs-ink);
	outline: none;
}

.hs-pdp .comment-form .stars a { color: var(--hs-red); }

.hs-pdp .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--hs-muted);
}

.hs-pdp .comment-form-cookies-consent label {
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--hs-muted);
}

.hs-pdp .comment-form .form-submit { margin: 4px 0 0; }

.hs-pdp .comment-form input.submit,
.hs-pdp .hs-review-submit {
	min-height: 48px;
	padding: 14px 28px;
	border: 0;
	border-radius: 10px;
	background: var(--hs-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .18s ease;
}

.hs-pdp .comment-form input.submit:hover { background: var(--hs-red); }

.hs-pdp .commentlist { margin: 0 0 26px; padding: 0; list-style: none; }

.hs-pdp .commentlist .comment_container {
	display: flex;
	gap: 14px;
	padding: 18px 0;
	border-bottom: 1px solid var(--hs-line-soft);
}

.hs-pdp .commentlist img.avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--hs-line);
}

@media (min-width: 576px) {
	.hs-pdp .comment-form .hs-review-names {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 14px;
	}
}

/* =====================================================================
   Related / upsell rows on phones
   The theme's carousel left cards half-cut and the heading crowded.
   Two per row, same card metrics as every other listing.
   ===================================================================== */

@media (max-width: 767px) {
	.hs-pdp .related,
	.hs-pdp .up-sells {
		margin-top: 30px;
		padding-top: 24px;
		border-top: 1px solid var(--hs-line);
	}

	.hs-pdp .related > h2,
	.hs-pdp .up-sells > h2 {
		margin: 0 0 16px;
		font-size: 17px;
		font-weight: 600;
		color: var(--hs-ink);
	}

	.hs-pdp .related .slick-list,
	.hs-pdp .up-sells .slick-list { clip-path: inset(0 7px); }

	.hs-pdp .related .products-grid,
	.hs-pdp .up-sells .products-grid { margin-bottom: 0; }

	/* if the row is a plain grid rather than a carousel, keep it 2-up */
	.hs-pdp .related ul.products,
	.hs-pdp .up-sells ul.products {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hs-pdp .related ul.products li,
	.hs-pdp .up-sells ul.products li { width: auto !important; margin: 0 !important; float: none !important; }
}

/* =====================================================================
   Phone product page — matched to the reference's mobile spec
   (from its markup: 16px gutters, 4px #F6F6F6 section dividers,
   compact type)
   ===================================================================== */

@media (max-width: 767px) {
	.hs-pdp .summary.entry-summary { padding: 0; }

	.hs-pdp .summary > .hs-price-block,
	.hs-pdp .summary > .zota-single-product-title-main,
	.hs-pdp .summary > .hs-trust,
	.hs-pdp .summary > form.cart,
	.hs-pdp .summary > .hs-highlights,
	.hs-pdp .summary > .hs-accordions,
	.hs-pdp .summary > .hs-badges,
	.hs-pdp .summary > .hs-pincode-title {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-left: 16px;
		padding-right: 16px;
	}

	.hs-pdp .summary > .hs-price-block,
	.hs-pdp .summary > .zota-single-product-title-main,
	.hs-pdp .summary > .hs-trust,
	.hs-pdp .summary > form.cart,
	.hs-pdp .summary > .hs-highlights,
	.hs-pdp .summary > .hs-accordions {
		border-bottom: 4px solid #f6f6f6;
		padding-bottom: 14px;
		margin-bottom: 14px;
	}

	.hs-pdp .summary > .hs-price-block { padding-top: 10px; }

	.hs-price-block .hs-now { font-size: 20px; }
	.hs-price-block .hs-mrp,
	.hs-price-block .hs-off { font-size: 14px; }
	.hs-price-block .hs-tax { font-size: 11px; }

	.hs-pdp h1.product_title { font-size: 17px; line-height: 1.35; }
	.hs-pdp .woocommerce-product-rating { font-size: 12px; }
	.hs-trust__chip { font-size: 11px; padding: 4px 9px; }

	.hs-pdp #shiprocket_pincode_check { height: 42px; background: #fff; font-size: 16px; }
	.hs-pdp #check_pincode { height: 42px; font-size: 12px; }

	.hs-pdp .hs-pincode-title,
	.hs-pdp .hs-section-title { font-size: 12px; }

	.hs-pdp .hs-highlights__grid { grid-template-columns: 1fr 1fr; gap: 0 14px; }
	.hs-pdp .hs-highlights__item { padding: 10px 0; }
	.hs-pdp .hs-highlights__key { font-size: 11px; }
	.hs-pdp .hs-highlights__val { font-size: 13px; }

	.hs-pdp .hs-acc-head { padding: 14px 0; }
	.hs-pdp .hs-acc-head__text { font-size: 13px; }
	.hs-pdp .hs-acc-head__sub { font-size: 11px; }
	.hs-pdp .hs-acc-body { font-size: 13px; }

	.hs-pdp .hs-badges { border-radius: 0; border-left: 0; border-right: 0; }
}
