/* ==========================================================================
   STUDENT SAARTHI — CLEAN PREMIUM SINGLE PRODUCT
   File: assets/css/single-product.css
   ========================================================================== */

:root {
	--ssp-primary: #2457d6;
	--ssp-primary-dark: #173b9f;
	--ssp-primary-soft: #eef3ff;
	--ssp-purple: #7357e8;
	--ssp-success: #16a66a;
	--ssp-whatsapp: #12a866;
	--ssp-danger: #e5485d;
	--ssp-orange: #f28a2b;
	--ssp-heading: #172033;
	--ssp-text: #566176;
	--ssp-muted: #8993a5;
	--ssp-bg: #f7f8fc;
	--ssp-white: #ffffff;
	--ssp-border: #e5e9f1;
	--ssp-shadow-sm: 0 10px 30px rgba(23, 32, 51, 0.08);
	--ssp-shadow-md: 0 18px 48px rgba(23, 32, 51, 0.13);
	--ssp-shadow-lg: 0 28px 70px rgba(10, 25, 58, 0.18);
	--ssp-container: 1360px;
}

/* ==========================================================================
   BASE
   ========================================================================== */

.ss-product-page,
.ss-product-page *,
.ss-product-page *::before,
.ss-product-page *::after {
	box-sizing: border-box;
}

.ss-product-page {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--ssp-bg);
	color: var(--ssp-text);
	font-family: "Poppins", Arial, sans-serif;
}

.ss-product-page a {
	text-decoration: none;
}

.ss-product-page img {
	display: block;
	max-width: 100%;
	height: auto;
}

.ss-product-page svg {
	display: block;
	width: 100%;
	height: 100%;
}

.ss-product-container {
	width: min(calc(100% - 32px), var(--ssp-container));
	margin-inline: auto;
}

/* ==========================================================================
   BREADCRUMB
   ========================================================================== */

.ss-product-navigation {
	padding: 18px 0;
	background: var(--ssp-white);
	border-bottom: 1px solid var(--ssp-border);
}

.ss-product-navigation-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ss-product-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	min-width: 0;
	color: var(--ssp-muted);
	font-size: 9px;
	font-weight: 600;
}

.ss-product-breadcrumb a {
	color: var(--ssp-text);
}

.ss-product-breadcrumb a:hover {
	color: var(--ssp-primary);
}

.ss-product-breadcrumb strong {
	max-width: 360px;
	overflow: hidden;
	color: var(--ssp-heading);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ss-product-back-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	color: var(--ssp-primary);
	font-size: 9px;
	font-weight: 800;
}

.ss-product-back-link svg {
	width: 15px;
	height: 15px;
}

/* ==========================================================================
   MAIN PRODUCT AREA
   ========================================================================== */

.ss-product-main {
	padding: 50px 0 58px;
	background: var(--ssp-bg);
}

.ss-product-main-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
	align-items: start;
	gap: 44px;
}

/* ==========================================================================
   PRODUCT GALLERY
   ========================================================================== */

.ss-product-gallery {
	min-width: 0;
}

.ss-product-gallery-stage {
	position: relative;
	min-height: 560px;
	display: grid;
	place-items: center;
	padding: 28px;
	border: 1px solid var(--ssp-border);
	border-radius: 24px;
	background: var(--ssp-white);
	box-shadow: var(--ssp-shadow-sm);
	overflow: hidden;
}

.ss-product-main-image {
	width: 100%;
	height: 500px;
	display: grid;
	place-items: center;
	overflow: hidden;
}

/* Never crop or stretch product images */

.ss-product-main-image img,
.ss-product-active-image {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
}

.ss-product-sale-badge {
	position: absolute;
	z-index: 3;
	top: 18px;
	left: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 29px;
	padding: 0 12px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--ssp-danger), #ff6f7f);
	color: var(--ssp-white);
	font-size: 8px;
	font-weight: 800;
	box-shadow: 0 10px 22px rgba(229, 72, 93, 0.24);
}

.ss-product-wishlist-button {
	position: absolute;
	z-index: 3;
	top: 16px;
	right: 16px;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	padding: 10px;
	border: 1px solid var(--ssp-border);
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--ssp-text);
	cursor: pointer;
	box-shadow: var(--ssp-shadow-sm);
	transition: 0.22s ease;
}

.ss-product-wishlist-button:hover,
.ss-product-wishlist-button.is-active {
	background: #fff0f3;
	color: var(--ssp-danger);
	border-color: #ffd0d7;
}

.ss-product-zoom-button {
	position: absolute;
	z-index: 3;
	right: 18px;
	bottom: 18px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 0 12px;
	border: 1px solid var(--ssp-border);
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--ssp-heading);
	font-family: inherit;
	font-size: 8px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: var(--ssp-shadow-sm);
}

.ss-product-zoom-button svg {
	width: 15px;
	height: 15px;
	color: var(--ssp-primary);
}

.ss-product-thumbnail-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.ss-product-thumbnail {
	min-width: 0;
	aspect-ratio: 1 / 1;
	padding: 6px;
	border: 1px solid var(--ssp-border);
	border-radius: 13px;
	background: var(--ssp-white);
	cursor: pointer;
	overflow: hidden;
	transition: 0.22s ease;
}

.ss-product-thumbnail:hover,
.ss-product-thumbnail.is-active {
	border-color: var(--ssp-primary);
	box-shadow: 0 0 0 3px rgba(36, 87, 214, 0.08);
}

.ss-product-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.ss-product-gallery-note {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid var(--ssp-border);
	border-radius: 13px;
	background: var(--ssp-white);
}

.ss-product-gallery-note > span {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	display: grid;
	place-items: center;
	border-radius: 7px;
	background: #eaf8f1;
	color: var(--ssp-success);
}

.ss-product-gallery-note svg {
	width: 13px;
	height: 13px;
}

.ss-product-gallery-note p {
	margin: 1px 0 0;
	color: var(--ssp-muted);
	font-size: 8px;
	line-height: 1.5;
}

/* ==========================================================================
   PRODUCT SUMMARY
   ========================================================================== */

.ss-product-summary {
	min-width: 0;
	padding: 30px;
	border: 1px solid var(--ssp-border);
	border-radius: 24px;
	background: var(--ssp-white);
	box-shadow: var(--ssp-shadow-sm);
}

.ss-product-category {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 0 11px;
	border-radius: 999px;
	background: var(--ssp-primary-soft);
	color: var(--ssp-primary);
	font-size: 8px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

.ss-product-category svg {
	width: 15px;
	height: 15px;
}

.ss-product-title {
	margin: 17px 0 0;
	color: var(--ssp-heading);
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 900;
	line-height: 1.12;
	letter-spacing: -1.3px;
}

.ss-product-rating-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-top: 14px;
}

.ss-product-rating-stars .star-rating {
	float: none;
	color: #ffb400;
	font-size: 11px;
}

.ss-product-rating-row > a,
.ss-product-sku,
.ss-product-new-label {
	color: var(--ssp-muted);
	font-size: 8px;
	font-weight: 700;
}

.ss-product-rating-row > a:hover {
	color: var(--ssp-primary);
}

.ss-product-new-label {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 9px;
	border-radius: 999px;
	background: #fff4e8;
	color: var(--ssp-orange);
}

.ss-product-price {
	margin-top: 20px;
	color: var(--ssp-heading);
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.ss-product-price del {
	margin-right: 8px;
	color: var(--ssp-muted);
	font-size: 17px;
	font-weight: 600;
	opacity: 1;
}

.ss-product-price ins {
	text-decoration: none;
}

.ss-product-tax-note {
	margin-top: 8px;
	color: var(--ssp-muted);
	font-size: 8px;
	line-height: 1.5;
}

.ss-product-short-description {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--ssp-border);
}

.ss-product-short-description p {
	margin: 0 0 10px;
	color: var(--ssp-text);
	font-size: 11px;
	line-height: 1.75;
}

.ss-product-short-description p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   QUICK BENEFITS
   ========================================================================== */

.ss-product-quick-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 20px;
}

.ss-product-quick-benefits > div {
	display: grid;
	grid-template-columns: 38px 1fr;
	align-items: center;
	gap: 9px;
	min-height: 74px;
	padding: 11px;
	border: 1px solid var(--ssp-border);
	border-radius: 13px;
	background: var(--ssp-bg);
}

.ss-product-quick-benefits > div > span {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 11px;
	background: var(--ssp-white);
	color: var(--ssp-primary);
}

.ss-product-quick-benefits > div:nth-child(2) > span {
	color: var(--ssp-success);
}

.ss-product-quick-benefits > div:nth-child(3) > span {
	color: var(--ssp-purple);
}

.ss-product-quick-benefits svg {
	width: 19px;
	height: 19px;
}

.ss-product-quick-benefits strong,
.ss-product-quick-benefits small {
	display: block;
}

.ss-product-quick-benefits strong {
	color: var(--ssp-heading);
	font-size: 8px;
	font-weight: 800;
}

.ss-product-quick-benefits small {
	margin-top: 3px;
	color: var(--ssp-muted);
	font-size: 6px;
	line-height: 1.35;
}

/* ==========================================================================
   STOCK
   ========================================================================== */

.ss-product-stock-row {
	margin-top: 18px;
}

.ss-product-stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 8px;
	font-weight: 800;
}

.ss-product-stock i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.ss-product-in-stock {
	background: #eaf8f1;
	color: var(--ssp-success);
}

.ss-product-in-stock i {
	background: var(--ssp-success);
	box-shadow: 0 0 0 4px rgba(22, 166, 106, 0.12);
}

.ss-product-out-stock {
	background: #fff0f3;
	color: var(--ssp-danger);
}

.ss-product-out-stock i {
	background: var(--ssp-danger);
	box-shadow: 0 0 0 4px rgba(229, 72, 93, 0.12);
}

/* ==========================================================================
   ADD TO CART
   ========================================================================== */

.ss-product-purchase-box {
	margin-top: 20px;
	padding: 18px;
	border: 1px solid var(--ssp-border);
	border-radius: 16px;
	background: var(--ssp-bg);
}

.ss-product-purchase-box form.cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 !important;
}

.ss-product-purchase-box .quantity {
	margin: 0 !important;
}

.ss-product-purchase-box .quantity input.qty {
	width: 72px;
	height: 46px;
	padding: 0 8px;
	border: 1px solid var(--ssp-border);
	border-radius: 11px;
	background: var(--ssp-white);
	color: var(--ssp-heading);
	font-family: inherit;
	font-size: 10px;
	font-weight: 700;
	text-align: center;
	outline: none;
}

.ss-product-purchase-box .single_add_to_cart_button {
	min-height: 46px !important;
	flex: 1;
	min-width: 190px;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: linear-gradient(
		135deg,
		var(--ssp-primary),
		var(--ssp-primary-dark)
	) !important;
	color: var(--ssp-white) !important;
	font-family: inherit;
	font-size: 10px !important;
	font-weight: 800 !important;
	box-shadow: 0 12px 26px rgba(36, 87, 214, 0.24);
	transition: 0.23s ease;
}

.ss-product-purchase-box .single_add_to_cart_button:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(36, 87, 214, 0.32);
}

.ss-product-purchase-box table.variations {
	width: 100%;
	margin: 0 0 12px !important;
	border: 0 !important;
}

.ss-product-purchase-box table.variations td,
.ss-product-purchase-box table.variations th {
	display: block;
	width: 100%;
	padding: 0 !important;
	border: 0 !important;
}

.ss-product-purchase-box table.variations th.label {
	margin-bottom: 7px;
	color: var(--ssp-heading);
	font-size: 9px;
	font-weight: 800;
}

.ss-product-purchase-box table.variations select {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--ssp-border);
	border-radius: 11px;
	background: var(--ssp-white);
	color: var(--ssp-heading);
	font-family: inherit;
	font-size: 9px;
	outline: none;
}

.ss-product-purchase-box .reset_variations {
	display: inline-block;
	margin-top: 6px;
	color: var(--ssp-primary);
	font-size: 8px;
	font-weight: 700;
}

.ss-product-purchase-box .woocommerce-variation-price {
	margin-bottom: 10px;
	color: var(--ssp-heading);
	font-size: 18px;
	font-weight: 900;
}

/* ==========================================================================
   SUPPORT BUTTONS
   ========================================================================== */

.ss-product-help-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.ss-product-help-row a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 43px;
	padding: 0 12px;
	border-radius: 11px;
	font-size: 8px;
	font-weight: 800;
	transition: 0.22s ease;
}

.ss-product-help-row a:hover {
	transform: translateY(-2px);
}

.ss-product-help-row svg {
	width: 17px;
	height: 17px;
}

.ss-product-whatsapp-button {
	background: #eaf8f1;
	color: var(--ssp-whatsapp);
	border: 1px solid #cceedd;
}

.ss-product-support-button {
	background: var(--ssp-primary-soft);
	color: var(--ssp-primary);
	border: 1px solid #d7e2ff;
}

.ss-product-meta {
	display: grid;
	gap: 9px;
	margin-top: 18px;
	padding-top: 17px;
	border-top: 1px solid var(--ssp-border);
}

.ss-product-meta > div {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}

.ss-product-meta span {
	color: var(--ssp-muted);
	font-size: 8px;
	font-weight: 600;
}

.ss-product-meta strong,
.ss-product-meta strong a {
	color: var(--ssp-heading);
	font-size: 8px;
	font-weight: 800;
	text-align: right;
}

/* ==========================================================================
   TRUST SECTION
   ========================================================================== */

.ss-product-trust {
	padding: 0 0 52px;
	background: var(--ssp-bg);
}

.ss-product-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--ssp-border);
	border-radius: 20px;
	background: var(--ssp-white);
	box-shadow: var(--ssp-shadow-sm);
	overflow: hidden;
}

.ss-product-trust-item {
	position: relative;
	display: grid;
	grid-template-columns: 44px 1fr;
	align-items: center;
	gap: 11px;
	min-height: 100px;
	padding: 18px 22px;
}

.ss-product-trust-item + .ss-product-trust-item {
	border-left: 1px solid var(--ssp-border);
}

.ss-product-trust-item > span {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 13px;
	background: var(--ssp-primary-soft);
	color: var(--ssp-primary);
}

.ss-product-trust-item:nth-child(2) > span {
	background: #eaf8f1;
	color: var(--ssp-success);
}

.ss-product-trust-item:nth-child(3) > span {
	background: #fff4e8;
	color: var(--ssp-orange);
}

.ss-product-trust-item:nth-child(4) > span {
	background: #f1edff;
	color: var(--ssp-purple);
}

.ss-product-trust-item svg {
	width: 21px;
	height: 21px;
}

.ss-product-trust-item strong,
.ss-product-trust-item small {
	display: block;
}

.ss-product-trust-item strong {
	color: var(--ssp-heading);
	font-size: 10px;
	font-weight: 800;
}

.ss-product-trust-item small {
	margin-top: 3px;
	color: var(--ssp-muted);
	font-size: 7px;
	line-height: 1.4;
}

/* ==========================================================================
   INFORMATION
   ========================================================================== */

.ss-product-information {
	padding: 58px 0;
	background: var(--ssp-white);
}

.ss-product-information-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
	align-items: start;
	gap: 26px;
}

.ss-product-description-card,
.ss-product-included-card,
.ss-product-support-card,
.ss-product-reviews-card {
	border: 1px solid var(--ssp-border);
	border-radius: 20px;
	background: var(--ssp-white);
	box-shadow: var(--ssp-shadow-sm);
}

.ss-product-description-card {
	padding: 28px;
}

.ss-product-section-heading > span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--ssp-primary);
	font-size: 8px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.ss-product-section-heading > span::before {
	content: "";
	width: 25px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--ssp-primary), #82a7ff);
}

.ss-product-section-heading h2 {
	margin: 8px 0 0;
	color: var(--ssp-heading);
	font-size: clamp(25px, 3.2vw, 38px);
	font-weight: 900;
	line-height: 1.14;
	letter-spacing: -0.9px;
}

.ss-product-section-heading-centered {
	text-align: center;
}

.ss-product-section-heading-centered > span {
	justify-content: center;
}

.ss-product-section-heading-centered > span::before {
	display: none;
}

.ss-product-description-content {
	margin-top: 22px;
	color: var(--ssp-text);
	font-size: 11px;
	line-height: 1.8;
}

.ss-product-description-content h2,
.ss-product-description-content h3,
.ss-product-description-content h4 {
	margin: 22px 0 10px;
	color: var(--ssp-heading);
	font-weight: 900;
}

.ss-product-description-content h2 {
	font-size: 22px;
}

.ss-product-description-content h3 {
	font-size: 18px;
}

.ss-product-description-content h4 {
	font-size: 15px;
}

.ss-product-description-content p {
	margin: 0 0 13px;
}

.ss-product-description-content ul,
.ss-product-description-content ol {
	margin: 12px 0;
	padding-left: 20px;
}

.ss-product-description-content li {
	margin-bottom: 7px;
}

.ss-product-description-content img {
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 18px auto;
	object-fit: contain;
}

/* ==========================================================================
   INFORMATION SIDEBAR
   ========================================================================== */

.ss-product-information-sidebar {
	display: grid;
	gap: 16px;
}

.ss-product-included-card {
	padding: 22px;
}

.ss-product-sidebar-heading {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ss-product-sidebar-heading > span {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 11px;
	background: #eaf8f1;
	color: var(--ssp-success);
}

.ss-product-sidebar-heading svg {
	width: 19px;
	height: 19px;
}

.ss-product-sidebar-heading h3 {
	margin: 0;
	color: var(--ssp-heading);
	font-size: 14px;
	font-weight: 900;
}

.ss-product-included-card ul {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.ss-product-included-card li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--ssp-text);
	font-size: 8px;
	line-height: 1.5;
}

.ss-product-included-card li svg {
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	margin-top: 1px;
	color: var(--ssp-success);
}

.ss-product-support-card {
	padding: 24px;
	background: linear-gradient(145deg, #102652, #2457d6);
	color: var(--ssp-white);
	text-align: center;
}

.ss-product-support-card-icon {
	width: 50px;
	height: 50px;
	display: grid;
	place-items: center;
	margin: 0 auto;
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.13);
}

.ss-product-support-card-icon svg {
	width: 25px;
	height: 25px;
}

.ss-product-support-card h3 {
	margin: 14px 0 0;
	color: var(--ssp-white);
	font-size: 16px;
	font-weight: 900;
}

.ss-product-support-card p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 8px;
	line-height: 1.6;
}

.ss-product-support-card a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	margin-top: 15px;
	padding: 0 14px;
	border-radius: 11px;
	background: var(--ssp-white);
	color: var(--ssp-whatsapp);
	font-size: 8px;
	font-weight: 800;
}

.ss-product-support-card a svg {
	width: 17px;
	height: 17px;
}

/* ==========================================================================
   REVIEWS
   ========================================================================== */

.ss-product-reviews-section {
	padding: 58px 0;
	background: var(--ssp-bg);
}

.ss-product-reviews-card {
	margin-top: 24px;
	padding: 26px;
}

.ss-product-reviews-card #reviews {
	margin: 0;
}

.ss-product-reviews-card #comments,
.ss-product-reviews-card #review_form_wrapper {
	float: none;
	width: 100%;
}

.ss-product-reviews-card #reviews #comments ol.commentlist {
	margin: 18px 0 0;
	padding: 0;
}

.ss-product-reviews-card #reviews #comments ol.commentlist li {
	margin-bottom: 14px;
}

.ss-product-reviews-card #reviews #comments ol.commentlist li .comment-text {
	margin: 0;
	padding: 17px;
	border: 1px solid var(--ssp-border);
	border-radius: 14px;
	background: var(--ssp-bg);
}

.ss-product-reviews-card #reviews #comments ol.commentlist li img.avatar {
	display: none;
}

.ss-product-reviews-card .comment-reply-title {
	color: var(--ssp-heading);
	font-size: 18px;
	font-weight: 900;
}

.ss-product-reviews-card label {
	color: var(--ssp-heading);
	font-size: 9px;
	font-weight: 800;
}

.ss-product-reviews-card input[type="text"],
.ss-product-reviews-card input[type="email"],
.ss-product-reviews-card textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--ssp-border);
	border-radius: 11px;
	background: var(--ssp-bg);
	color: var(--ssp-heading);
	font-family: inherit;
	font-size: 9px;
	outline: none;
}

.ss-product-reviews-card textarea {
	min-height: 120px;
	resize: vertical;
}

.ss-product-reviews-card input[type="submit"] {
	min-height: 42px;
	padding: 0 16px;
	border: 0;
	border-radius: 11px;
	background: var(--ssp-primary);
	color: var(--ssp-white);
	font-family: inherit;
	font-size: 8px;
	font-weight: 800;
	cursor: pointer;
}

/* ==========================================================================
   RELATED PRODUCTS
   ========================================================================== */

.ss-product-related-section {
	padding: 58px 0;
	background: var(--ssp-white);
}

.ss-product-related-products {
	margin-top: 24px;
}

.ss-product-related-products .related.products > h2 {
	display: none;
}

.ss-product-related-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.ss-product-related-products ul.products::before,
.ss-product-related-products ul.products::after {
	display: none !important;
}

.ss-product-related-products ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 14px !important;
	border: 1px solid var(--ssp-border);
	border-radius: 17px;
	background: var(--ssp-white);
	box-shadow: var(--ssp-shadow-sm);
	overflow: hidden;
	transition: 0.25s ease;
}

.ss-product-related-products ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: var(--ssp-shadow-md);
}

.ss-product-related-products ul.products li.product img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	padding: 10px;
	object-fit: contain !important;
	object-position: center !important;
	background: #f8f9fc;
}

.ss-product-related-products .woocommerce-loop-product__title {
	margin: 12px 13px 0 !important;
	padding: 0 !important;
	color: var(--ssp-heading);
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.4;
}

.ss-product-related-products .star-rating {
	float: none !important;
	margin: 7px 13px 0 !important;
	font-size: 8px;
	color: #ffb400;
}

.ss-product-related-products .price {
	display: block !important;
	margin: 8px 13px 0 !important;
	color: var(--ssp-heading) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
}

.ss-product-related-products .button,
.ss-product-related-products .added_to_cart {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: calc(100% - 26px) !important;
	min-height: 38px;
	margin: 10px 13px 0 !important;
	padding: 0 10px !important;
	border-radius: 10px !important;
	background: var(--ssp-primary) !important;
	color: var(--ssp-white) !important;
	font-size: 7px !important;
	font-weight: 800 !important;
	text-align: center;
}

/* ==========================================================================
   BOTTOM CTA
   ========================================================================== */

.ss-product-bottom-section {
	padding: 0 0 62px;
	background: var(--ssp-white);
}

.ss-product-bottom-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	padding: 30px 34px;
	border-radius: 20px;
	background: linear-gradient(135deg, #0b1838, #173f91 58%, #6249d9);
	color: var(--ssp-white);
	box-shadow: var(--ssp-shadow-lg);
}

.ss-product-bottom-card > div > span {
	color: #cbd9ff;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.ss-product-bottom-card h2 {
	margin: 8px 0 0;
	color: var(--ssp-white);
	font-size: clamp(25px, 3.2vw, 38px);
	font-weight: 900;
	line-height: 1.14;
	letter-spacing: -0.9px;
}

.ss-product-bottom-card p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 9px;
	line-height: 1.6;
}

.ss-product-bottom-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
}

.ss-product-bottom-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 11px;
	font-size: 8px;
	font-weight: 800;
	transition: 0.22s ease;
}

.ss-product-bottom-actions a:hover {
	transform: translateY(-2px);
}

.ss-product-bottom-actions svg {
	width: 16px;
	height: 16px;
}

.ss-product-account-link {
	background: var(--ssp-white);
	color: var(--ssp-primary);
}

.ss-product-shop-link {
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.1);
	color: var(--ssp-white);
}

.ss-product-shop-link:hover {
	color: var(--ssp-white);
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */

.ss-product-lightbox {
	position: fixed;
	z-index: 99999;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(5, 13, 31, 0.88);
	backdrop-filter: blur(8px);
}

.ss-product-lightbox.is-open {
	display: flex;
}

.ss-product-lightbox-content {
	width: min(920px, 94vw);
	height: min(820px, 86vh);
	display: grid;
	place-items: center;
	padding: 20px;
	border-radius: 18px;
	background: var(--ssp-white);
}

.ss-product-lightbox-content img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.ss-product-lightbox-close {
	position: absolute;
	top: 20px;
	right: 22px;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 13px;
	background: var(--ssp-white);
	color: var(--ssp-heading);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

/* ==========================================================================
   ASTRA + WOOCOMMERCE CLEANUP
   ========================================================================== */

body.single-product .ast-container,
body.single-product .site-content > .ast-container {
	max-width: none;
	padding: 0;
}

body.single-product .entry-header,
body.single-product .entry-title,
body.single-product .woocommerce-breadcrumb,
body.single-product div.product > .woocommerce-product-gallery,
body.single-product div.product > .summary,
body.single-product .woocommerce-tabs,
body.single-product div.product > .related.products,
body.single-product div.product > .upsells.products {
	display: none !important;
}

body.single-product .site-main,
body.single-product .content-area,
body.single-product .site-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.single-product .woocommerce {
	width: 100%;
}

body.single-product div.product {
	margin: 0 !important;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1100px) {
	.ss-product-main-grid {
		grid-template-columns: minmax(0, 0.9fr) minmax(390px, 1.1fr);
		gap: 28px;
	}

	.ss-product-gallery-stage {
		min-height: 500px;
	}

	.ss-product-main-image {
		height: 430px;
	}

	.ss-product-quick-benefits {
		grid-template-columns: 1fr;
	}

	.ss-product-information-grid {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.ss-product-related-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.ss-product-main-grid,
	.ss-product-information-grid {
		grid-template-columns: 1fr;
	}

	.ss-product-gallery,
	.ss-product-summary {
		max-width: 760px;
		width: 100%;
		margin-inline: auto;
	}

	.ss-product-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ss-product-trust-item:nth-child(3),
	.ss-product-trust-item:nth-child(4) {
		border-top: 1px solid var(--ssp-border);
	}

	.ss-product-trust-item:nth-child(3) {
		border-left: 0;
	}

	.ss-product-information-sidebar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ss-product-bottom-card {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {
	.ss-product-container {
		width: min(calc(100% - 22px), var(--ssp-container));
	}

	.ss-product-navigation {
		padding: 13px 0;
	}

	.ss-product-navigation-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.ss-product-breadcrumb {
		font-size: 7px;
	}

	.ss-product-breadcrumb strong {
		max-width: 220px;
	}

	.ss-product-back-link {
		font-size: 8px;
	}

	.ss-product-main {
		padding: 28px 0 40px;
	}

	.ss-product-main-grid {
		gap: 18px;
	}

	.ss-product-gallery-stage {
		min-height: 390px;
		padding: 16px;
		border-radius: 18px;
	}

	.ss-product-main-image {
		height: 350px;
	}

	.ss-product-wishlist-button {
		top: 12px;
		right: 12px;
		width: 38px;
		height: 38px;
	}

	.ss-product-sale-badge {
		top: 12px;
		left: 12px;
	}

	.ss-product-zoom-button {
		right: 12px;
		bottom: 12px;
		min-height: 34px;
		padding-inline: 10px;
		font-size: 7px;
	}

	.ss-product-thumbnail-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	.ss-product-summary {
		padding: 21px 17px;
		border-radius: 18px;
	}

	.ss-product-title {
		font-size: clamp(27px, 8vw, 38px);
		letter-spacing: -0.8px;
	}

	.ss-product-price {
		font-size: 25px;
	}

	.ss-product-short-description p {
		font-size: 9px;
	}

	.ss-product-quick-benefits {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 7px;
	}

	.ss-product-quick-benefits > div {
		grid-template-columns: 1fr;
		justify-items: center;
		min-height: 94px;
		padding: 9px 5px;
		text-align: center;
	}

	.ss-product-quick-benefits strong {
		font-size: 7px;
	}

	.ss-product-quick-benefits small {
		font-size: 5px;
	}

	.ss-product-purchase-box {
		padding: 13px;
	}

	.ss-product-purchase-box form.cart {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
	}

	.ss-product-purchase-box .single_add_to_cart_button {
		width: 100%;
		min-width: 0;
	}

	.ss-product-help-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ss-product-trust {
		padding-bottom: 40px;
	}

	.ss-product-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-radius: 16px;
	}

	.ss-product-trust-item {
		grid-template-columns: 36px 1fr;
		min-height: 88px;
		padding: 13px 10px;
		gap: 8px;
	}

	.ss-product-trust-item > span {
		width: 34px;
		height: 34px;
	}

	.ss-product-trust-item strong {
		font-size: 8px;
	}

	.ss-product-trust-item small {
		font-size: 6px;
	}

	.ss-product-information,
	.ss-product-reviews-section,
	.ss-product-related-section {
		padding: 42px 0;
	}

	.ss-product-description-card,
	.ss-product-included-card,
	.ss-product-support-card,
	.ss-product-reviews-card {
		border-radius: 17px;
	}

	.ss-product-description-card,
	.ss-product-reviews-card {
		padding: 20px 16px;
	}

	.ss-product-section-heading h2 {
		font-size: 26px;
	}

	.ss-product-description-content {
		font-size: 9px;
	}

	.ss-product-information-sidebar {
		grid-template-columns: 1fr;
	}

	.ss-product-related-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.ss-product-related-products ul.products li.product {
		border-radius: 14px;
	}

	.ss-product-bottom-section {
		padding-bottom: 50px;
	}

	.ss-product-bottom-card {
		padding: 24px 18px;
		border-radius: 18px;
	}

	.ss-product-bottom-card h2 {
		font-size: 25px;
	}

	.ss-product-bottom-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.ss-product-bottom-actions a {
		width: 100%;
	}

	.ss-product-lightbox-content {
		height: 72vh;
		padding: 12px;
	}
}

/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 430px) {
	.ss-product-main-image {
		height: 300px;
	}

	.ss-product-thumbnail-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.ss-product-quick-benefits {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ss-product-help-row {
		grid-template-columns: 1fr;
	}

	.ss-product-purchase-box form.cart {
		grid-template-columns: 1fr;
	}

	.ss-product-purchase-box .quantity input.qty {
		width: 100%;
	}

	.ss-product-bottom-actions {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.ss-product-page *,
	.ss-product-page *::before,
	.ss-product-page *::after {
		animation: none !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}