/* Hoorsun Shop */
:root {
	--hst-navy: #0b3264;
	--hst-navy-deep: #07264e;
	--hst-orange: #ff6b00;
	--hst-orange-dark: #e45f00;
	--hst-text: #102c59;
	--hst-muted: #637087;
	--hst-line: #e3e8ef;
	--hst-soft: #f4f6fa;
	--hst-white: #ffffff;
	--hst-success: #147a4c;
	--hst-danger: #bd2c2c;
	--hst-radius: 16px;
	--hst-shadow: 0 10px 32px rgba(8, 41, 87, .08);
	--hst-container: 1260px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.hst-theme {
	margin: 0;
	direction: rtl;
	background: #fff;
	color: var(--hst-text);
	font-family: "IRANSansX", "IranSansX", "IRANSans", "Vazirmatn", Tahoma, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.85;
	text-rendering: optimizeLegibility;
}

body.hst-theme img {
	max-width: 100%;
	height: auto;
}

body.hst-theme a {
	color: var(--hst-navy);
	text-decoration: none;
}

body.hst-theme button,
body.hst-theme input,
body.hst-theme textarea,
body.hst-theme select {
	font: inherit;
}

.hst-container {
	width: min(var(--hst-container), calc(100% - 32px));
	margin-inline: auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* Header */
.hst-site-header {
	position: relative;
	z-index: 100;
	background: var(--hst-navy);
	box-shadow: 0 5px 24px rgba(5, 32, 68, .18);
}

.hst-header-inner {
	min-height: 76px;
	display: grid;
	grid-template-columns: 210px minmax(420px, 1fr) auto;
	gap: 22px;
	align-items: center;
	direction: ltr;
}

.hst-brand {
	display: flex;
	align-items: center;
}

.hst-brand .custom-logo-link,
.hst-brand-fallback {
	display: flex;
	align-items: center;
}

.hst-brand img,
.hst-brand .custom-logo {
	width: 205px;
	max-height: 62px;
	object-fit: contain;
}

.hst-primary-nav {
	direction: rtl;
}

.hst-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(18px, 2.2vw, 38px);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.hst-menu li {
	position: relative;
	margin: 0 !important;
}

.hst-menu a {
	display: block;
	padding: 25px 0;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.hst-menu a:hover,
.hst-menu .current-menu-item > a,
.hst-menu .current-menu-ancestor > a {
	color: var(--hst-orange);
}

.hst-menu .sub-menu {
	position: absolute;
	top: 100%;
	right: -18px;
	min-width: 210px;
	margin: 0;
	padding: 9px;
	visibility: hidden;
	opacity: 0;
	transform: translateY(10px);
	list-style: none;
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--hst-shadow);
	transition: .2s ease;
}

.hst-menu li:hover > .sub-menu,
.hst-menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: none;
}

.hst-menu .sub-menu a {
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--hst-navy);
}

.hst-menu .sub-menu a:hover {
	background: var(--hst-soft);
	color: var(--hst-orange);
}

.hst-header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	direction: ltr;
}

.hst-social-links {
	display: flex;
	align-items: center;
	gap: 5px;
}

.hst-social-links a,
.hst-icon-link,
.hst-mobile-whatsapp,
.hst-menu-toggle {
	position: relative;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	color: #fff;
	background: transparent;
}

.hst-social-links svg,
.hst-icon-link svg,
.hst-mobile-whatsapp svg,
.hst-menu-toggle svg,
.hst-footer-contact svg,
.hst-floating-consult svg,
.hst-product-consult svg,
.hst-product-search svg,
.hst-read-more svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hst-social-links a:hover,
.hst-icon-link:hover {
	color: var(--hst-orange);
}

.hst-cart-count {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	display: grid;
	place-items: center;
	border: 2px solid var(--hst-navy);
	border-radius: 999px;
	background: var(--hst-orange);
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	line-height: 1;
}

.hst-consultation-btn {
	min-height: 44px;
	padding: 8px 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--hst-orange);
	color: #fff !important;
	font-size: 13px;
	font-weight: 900;
	white-space: nowrap;
	transition: .2s ease;
}

.hst-consultation-btn:hover {
	background: var(--hst-orange-dark);
	transform: translateY(-1px);
}

.hst-mobile-whatsapp,
.hst-menu-toggle,
.hst-mobile-panel {
	display: none;
}

/* Shared hero */
.hst-page-hero,
.hst-shop-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 70% 20%, rgba(255,255,255,.12), transparent 24%),
		linear-gradient(125deg, var(--hst-navy-deep), var(--hst-navy));
	color: #fff;
}

.hst-page-hero::after,
.hst-shop-hero::after {
	content: "";
	position: absolute;
	inset: auto -10% -76px;
	height: 120px;
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	background: #fff;
}

.hst-page-hero__inner,
.hst-shop-hero__grid {
	position: relative;
	z-index: 2;
	min-height: 270px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 40px;
	align-items: center;
	padding-block: 34px 62px;
}

.hst-page-hero h1,
.hst-page-hero .hst-page-hero__title,
.hst-shop-hero h1 {
	margin: 5px 0 7px;
	color: #fff;
	font-size: clamp(31px, 4vw, 48px);
	font-weight: 900;
	line-height: 1.4;
}

.hst-page-hero p,
.hst-shop-hero p {
	max-width: 680px;
	margin: 0;
	color: rgba(255,255,255,.84);
	font-size: 15px;
}

.hst-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--hst-orange);
	font-size: 13px;
	font-weight: 900;
}

.hst-page-hero__art,
.hst-shop-hero__art {
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hst-page-hero__art img,
.hst-shop-hero__art img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hst-product-search {
	width: min(610px, 100%);
	min-height: 52px;
	margin-top: 18px;
	display: flex;
	align-items: center;
	padding: 5px 6px 5px 5px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(2, 25, 55, .16);
}

.hst-product-search input {
	flex: 1;
	min-width: 0;
	height: 42px;
	padding: 7px 12px;
	border: 0;
	outline: 0;
	color: var(--hst-text);
	background: transparent;
}

.hst-product-search button {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 9px;
	color: #fff;
	background: var(--hst-orange);
	cursor: pointer;
}

.hst-category-pills {
	margin-top: 13px;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.hst-category-pills a {
	padding: 5px 11px;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 999px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.hst-category-pills a:hover {
	border-color: var(--hst-orange);
	background: var(--hst-orange);
}

/* Content */
.hst-main {
	min-height: 420px;
}

.hst-content-area,
.hst-page-content,
.hst-single-article {
	padding-block: 58px 82px;
}

.hst-page-content {
	max-width: 1120px;
}

.hst-page-content > :first-child,
.hst-entry-content > :first-child {
	margin-top: 0;
}

.hst-page-content h2,
.hst-page-content h3,
.hst-entry-content h2,
.hst-entry-content h3 {
	color: var(--hst-navy);
	line-height: 1.6;
}

.hst-page-content input:not([type="checkbox"]):not([type="radio"]),
.hst-page-content textarea,
.hst-page-content select {
	max-width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--hst-line);
	border-radius: 10px;
	outline: 0;
	background: #fff;
}

.hst-page-content input:focus,
.hst-page-content textarea:focus,
.hst-page-content select:focus {
	border-color: var(--hst-orange);
	box-shadow: 0 0 0 3px rgba(255,107,0,.12);
}

.hst-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.hst-post-card {
	overflow: hidden;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.hst-post-card__image {
	aspect-ratio: 16/10;
	display: block;
	overflow: hidden;
	background: var(--hst-soft);
}

.hst-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .35s ease;
}

.hst-post-card:hover .hst-post-card__image img {
	transform: scale(1.04);
}

.hst-post-placeholder {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	color: var(--hst-navy);
	font-size: 20px;
	font-weight: 900;
}

.hst-post-card__body {
	padding: 17px;
}

.hst-post-card__date {
	color: var(--hst-orange);
	font-size: 11px;
	font-weight: 800;
}

.hst-post-card h2 {
	margin: 5px 0 7px;
	font-size: 18px;
	line-height: 1.7;
}

.hst-post-card h2 a {
	color: var(--hst-navy);
}

.hst-post-card p {
	margin: 0 0 12px;
	color: var(--hst-muted);
	font-size: 13px;
}

.hst-read-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--hst-orange) !important;
	font-size: 12px;
	font-weight: 900;
}

.hst-read-more svg {
	width: 17px;
	height: 17px;
	transform: rotate(180deg);
}

.hst-single-article {
	max-width: 960px;
}

.hst-single-article__image {
	margin-bottom: 28px;
	overflow: hidden;
	border-radius: var(--hst-radius);
}

.hst-empty-state {
	max-width: 650px;
	margin: 50px auto 80px;
	padding: 42px 22px;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
	text-align: center;
}

.hst-empty-state h2 {
	margin-top: 0;
	color: var(--hst-navy);
	font-size: 34px;
}

.hst-empty-state__actions {
	display: flex;
	justify-content: center;
	gap: 9px;
}

.hst-button {
	min-height: 44px;
	padding: 8px 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hst-navy);
	border-radius: 10px;
	font-weight: 800;
}

.hst-button--primary {
	color: #fff !important;
	background: var(--hst-navy);
}

.hst-button--outline {
	color: var(--hst-navy) !important;
	background: #fff;
}

/* WooCommerce shared */
.hst-shop-main {
	padding: 44px 0 82px;
}

.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 22px;
	color: var(--hst-muted);
	font-size: 12px;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--hst-navy);
}

.woocommerce .woocommerce-result-count {
	color: var(--hst-muted);
	font-size: 12px;
}

.woocommerce .woocommerce-ordering select {
	min-height: 42px;
	padding: 7px 12px;
	border: 1px solid var(--hst-line);
	border-radius: 9px;
	color: var(--hst-text);
	background: #fff;
}

.woocommerce-notices-wrapper {
	margin-bottom: 20px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin: 0 0 18px !important;
	padding: 15px 18px 15px 18px !important;
	border: 1px solid var(--hst-line) !important;
	border-top: 0 !important;
	border-right: 4px solid var(--hst-orange) !important;
	border-radius: 10px;
	background: #fff !important;
	box-shadow: 0 5px 18px rgba(8,41,87,.05);
	color: var(--hst-text) !important;
}

.woocommerce-error {
	border-right-color: var(--hst-danger) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce-message .button,
.woocommerce-info .button {
	border-radius: 8px !important;
	color: #fff !important;
	background: var(--hst-navy) !important;
}

/* Product grids */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 20px !important;
	margin: 25px 0 0 !important;
	padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	position: relative;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 12px 12px 16px !important;
	overflow: hidden;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
	text-align: right !important;
	transition: .22s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 38px rgba(8,41,87,.13);
}

.woocommerce ul.products li.product a img {
	width: 100% !important;
	aspect-ratio: 1/1;
	margin: 0 0 12px !important;
	object-fit: contain;
	border-radius: 11px;
	background: var(--hst-soft);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 53px;
	margin: 0 0 7px !important;
	padding: 0 !important;
	color: var(--hst-navy);
	font-size: 14px !important;
	font-weight: 900;
	line-height: 1.85;
}

.woocommerce ul.products li.product .star-rating {
	margin: 0 0 8px;
	color: var(--hst-orange);
	font-size: 12px;
}

.woocommerce ul.products li.product .price {
	margin: 0 0 11px !important;
	color: var(--hst-orange) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
}

.woocommerce ul.products li.product .price del {
	color: #9aa4b3;
	font-size: 11px;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	width: 100%;
	min-height: 42px;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 9px !important;
	color: #fff !important;
	background: var(--hst-navy) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
	background: var(--hst-orange) !important;
}

.woocommerce span.onsale {
	top: 20px !important;
	right: 20px !important;
	left: auto !important;
	min-width: auto !important;
	min-height: auto !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	background: var(--hst-orange) !important;
	font-size: 10px !important;
	line-height: 1.6 !important;
}

.woocommerce nav.woocommerce-pagination {
	margin-top: 30px;
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex !important;
	justify-content: center;
	gap: 6px;
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination a,
.woocommerce nav.woocommerce-pagination span {
	width: 40px;
	height: 40px;
	display: grid !important;
	place-items: center;
	border: 1px solid var(--hst-line);
	border-radius: 8px;
	color: var(--hst-navy);
	background: #fff;
}

.woocommerce nav.woocommerce-pagination .current {
	color: #fff !important;
	background: var(--hst-navy) !important;
}

/* Single product */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: 42px;
	align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: var(--hst-soft);
}

.woocommerce div.product div.images img {
	background: var(--hst-soft);
}

.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 9px !important;
}

.woocommerce div.product .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	overflow: hidden;
	border: 1px solid var(--hst-line);
	border-radius: 9px;
}

.woocommerce div.product .product_title {
	margin: 0 0 10px;
	color: var(--hst-navy);
	font-size: clamp(25px, 3vw, 38px);
	font-weight: 900;
	line-height: 1.55;
}

.woocommerce div.product .woocommerce-product-rating {
	margin-bottom: 9px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--hst-orange) !important;
	font-size: 23px !important;
	font-weight: 900;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	margin: 15px 0;
	padding: 14px 16px;
	border-right: 4px solid var(--hst-orange);
	border-radius: 9px;
	background: var(--hst-soft);
	color: var(--hst-muted);
}

.woocommerce div.product form.cart {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 20px 0 10px !important;
}

.woocommerce .quantity .qty {
	width: 75px;
	min-height: 48px;
	padding: 7px;
	border: 1px solid var(--hst-line);
	border-radius: 9px;
	color: var(--hst-text);
	background: #fff;
}

.woocommerce div.product form.cart .button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
	min-height: 48px;
	padding: 9px 22px !important;
	border-radius: 9px !important;
	background: var(--hst-orange) !important;
	color: #fff !important;
	font-weight: 900 !important;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--hst-orange-dark) !important;
}

.hst-product-consult {
	min-height: 48px;
	margin: 8px 0 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 2px solid var(--hst-navy);
	border-radius: 9px;
	color: var(--hst-navy) !important;
	font-weight: 900;
}

.hst-product-consult:hover {
	color: #fff !important;
	background: var(--hst-navy);
}

.woocommerce div.product .product_meta {
	padding-top: 13px;
	border-top: 1px solid var(--hst-line);
	color: var(--hst-muted);
	font-size: 12px;
}

.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 42px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 5px;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: auto;
	border-bottom: 1px solid var(--hst-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 9px 9px 0 0 !important;
	background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 16px !important;
	color: var(--hst-muted) !important;
	white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
	background: var(--hst-navy);
	border-radius: 9px 9px 0 0;
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: 24px;
	border: 1px solid var(--hst-line);
	border-top: 0;
	border-radius: 0 0 var(--hst-radius) var(--hst-radius);
	background: #fff;
}

.woocommerce .related.products,
.woocommerce .upsells.products {
	grid-column: 1 / -1;
	margin-top: 48px;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
	color: var(--hst-navy);
	font-size: 25px;
}

/* Classic cart */
.woocommerce-cart table.cart {
	overflow: hidden;
	border: 1px solid var(--hst-line) !important;
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.woocommerce-cart table.cart th {
	padding: 14px !important;
	color: var(--hst-navy);
	background: var(--hst-soft);
}

.woocommerce-cart table.cart td {
	padding: 13px !important;
	border-color: var(--hst-line) !important;
}

.woocommerce-cart table.cart img {
	width: 82px !important;
	border-radius: 9px;
	background: var(--hst-soft);
}

.woocommerce-cart table.cart input.input-text {
	min-height: 42px;
	border: 1px solid var(--hst-line);
	border-radius: 8px;
}

.woocommerce-cart table.cart .button {
	min-height: 42px;
	border-radius: 8px !important;
	color: #fff !important;
	background: var(--hst-navy) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: min(480px, 100%) !important;
	margin-right: auto;
	padding: 20px;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	color: var(--hst-navy);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--hst-orange) !important;
}

/* Classic checkout */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
	gap: 24px;
}

.woocommerce-checkout #customer_details {
	display: grid;
	gap: 20px;
}

.woocommerce-checkout #customer_details > div,
.woocommerce-checkout #order_review {
	float: none !important;
	width: auto !important;
	padding: 20px;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.woocommerce-checkout #order_review_heading {
	margin: 0 0 12px;
	color: var(--hst-navy);
}

.woocommerce form .form-row label {
	color: var(--hst-text);
	font-size: 12px;
	font-weight: 800;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	min-height: 44px;
	padding: 8px 11px;
	border: 1px solid var(--hst-line);
	border-radius: 9px;
	background: #fff;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 27px;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--hst-orange);
	box-shadow: 0 0 0 3px rgba(255,107,0,.12);
	outline: 0;
}

.woocommerce-checkout #payment {
	background: var(--hst-soft) !important;
	border-radius: 11px !important;
}

.woocommerce-checkout #payment div.payment_box {
	background: #fff !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #fff !important;
}

/* My account */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 22px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 9px;
	list-style: none;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 11px 13px;
	border-radius: 8px;
	color: var(--hst-navy);
	font-weight: 800;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	color: #fff;
	background: var(--hst-navy);
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	min-width: 0;
	padding: 22px;
	border: 1px solid var(--hst-line);
	border-radius: var(--hst-radius);
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.woocommerce table.shop_table {
	border-color: var(--hst-line) !important;
	border-radius: 10px !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 12px !important;
	border-color: var(--hst-line) !important;
}

/* WooCommerce Cart & Checkout Blocks */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
	--wp--preset--color--contrast: var(--hst-text);
	--wp--preset--color--primary: var(--hst-orange);
	color: var(--hst-text);
}

.wc-block-components-sidebar-layout {
	gap: 22px !important;
	align-items: flex-start;
}

.wc-block-components-sidebar,
.wc-block-cart-items,
.wc-block-checkout__main,
.wc-block-components-order-summary,
.wc-block-checkout__sidebar {
	border-color: var(--hst-line) !important;
	border-radius: var(--hst-radius) !important;
}

.wc-block-components-sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
	padding: 18px !important;
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.wc-block-cart-items {
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--hst-shadow);
}

.wc-block-cart-items th {
	color: var(--hst-navy);
	background: var(--hst-soft);
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	border-radius: 9px;
	background: var(--hst-soft);
}

.wc-block-components-text-input input,
.wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-address-form input {
	border: 1px solid var(--hst-line) !important;
	border-radius: 9px !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox-control input:focus {
	box-shadow: 0 0 0 2px rgba(255,107,0,.15) !important;
	border-color: var(--hst-orange) !important;
}

.wc-block-components-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
	min-height: 49px !important;
	border-radius: 9px !important;
	background: var(--hst-orange) !important;
	color: #fff !important;
	font-weight: 900 !important;
}

.wc-block-components-button:hover {
	background: var(--hst-orange-dark) !important;
}

.wc-block-components-totals-wrapper {
	border-color: var(--hst-line) !important;
}

.wc-block-components-radio-control-accordion-option {
	border-color: var(--hst-line) !important;
}

.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 4px 0 0 var(--hst-orange) !important;
}

/* Footer */
.hst-site-footer {
	color: #fff;
	background: var(--hst-navy-deep);
}

.hst-footer-grid {
	padding-block: 48px 38px;
	display: grid;
	grid-template-columns: 1.2fr .8fr .8fr;
	gap: 48px;
}

.hst-footer-brand .custom-logo-link,
.hst-footer-brand .hst-brand-fallback {
	display: inline-flex;
}

.hst-footer-brand img {
	width: 210px;
	max-height: 64px;
	object-fit: contain;
}

.hst-footer-brand p {
	max-width: 410px;
	margin: 14px 0 0;
	color: rgba(255,255,255,.72);
	font-size: 13px;
}

.hst-footer-column h2 {
	margin: 0 0 13px;
	color: var(--hst-orange);
	font-size: 17px;
}

.hst-footer-menu {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.hst-footer-menu li {
	margin: 0 0 6px !important;
}

.hst-footer-menu a {
	color: rgba(255,255,255,.82);
	font-size: 13px;
}

.hst-footer-menu a:hover {
	color: var(--hst-orange);
}

.hst-footer-contact {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	color: rgba(255,255,255,.84) !important;
	font-size: 13px;
}

.hst-footer-contact svg {
	width: 21px;
	height: 21px;
	color: var(--hst-orange);
}

.hst-footer-bottom {
	padding: 15px 0;
	border-top: 1px solid rgba(255,255,255,.1);
	color: rgba(255,255,255,.64);
	font-size: 11px;
}

.hst-floating-consult {
	display: none;
}

/* WP pagination */
.navigation.pagination {
	margin-top: 28px;
}

.nav-links {
	display: flex;
	justify-content: center;
	gap: 6px;
}

.page-numbers {
	min-width: 39px;
	height: 39px;
	display: grid;
	place-items: center;
	border: 1px solid var(--hst-line);
	border-radius: 8px;
}

.page-numbers.current {
	color: #fff;
	background: var(--hst-navy);
}

/* Responsive */
@media (max-width: 1080px) {
	.hst-header-inner {
		grid-template-columns: 175px 1fr auto;
		gap: 12px;
	}

	.hst-brand img,
	.hst-brand .custom-logo {
		width: 170px;
	}

	.hst-social-links {
		display: none;
	}

	.hst-menu {
		gap: 18px;
	}

	.hst-consultation-btn {
		padding-inline: 12px;
	}

	.hst-page-hero__inner,
	.hst-shop-hero__grid {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 820px) {
	.hst-site-header {
		position: sticky;
		top: 0;
	}

	.admin-bar .hst-site-header {
		top: 46px;
	}

	.hst-header-inner {
		min-height: 66px;
		grid-template-columns: 44px 1fr 44px;
		direction: ltr;
	}

	.hst-brand {
		grid-column: 2;
		justify-self: center;
	}

	.hst-brand img,
	.hst-brand .custom-logo {
		width: 145px;
		max-height: 52px;
	}

	.hst-primary-nav,
	.hst-header-actions {
		display: none;
	}

	.hst-mobile-whatsapp,
	.hst-menu-toggle {
		display: grid;
	}

	.hst-mobile-whatsapp {
		grid-column: 1;
		grid-row: 1;
	}

	.hst-menu-toggle {
		grid-column: 3;
		grid-row: 1;
		cursor: pointer;
	}

	.hst-menu-close {
		display: none;
	}

	.hst-menu-toggle[aria-expanded="true"] .hst-menu-open {
		display: none;
	}

	.hst-menu-toggle[aria-expanded="true"] .hst-menu-close {
		display: block;
	}

	.hst-mobile-panel {
		padding: 7px 14px 16px;
		border-top: 1px solid rgba(255,255,255,.12);
		background: var(--hst-navy);
		box-shadow: 0 10px 24px rgba(4, 25, 55, .22);
	}

	.hst-mobile-panel:not([hidden]) {
		display: block;
	}

	.hst-mobile-menu,
	.hst-mobile-panel .hst-menu {
		display: grid;
		gap: 0;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.hst-mobile-menu a,
	.hst-mobile-panel .hst-menu a {
		padding: 11px 4px;
		border-bottom: 1px solid rgba(255,255,255,.12);
		color: #fff;
	}

	.hst-mobile-menu .sub-menu {
		position: static;
		display: block;
		visibility: visible;
		opacity: 1;
		transform: none;
		box-shadow: none;
		background: transparent;
	}

	.hst-mobile-menu .sub-menu a {
		padding-right: 20px;
		color: rgba(255,255,255,.78);
	}

	.hst-mobile-panel__actions {
		padding-top: 11px;
		display: flex;
		align-items: center;
		gap: 14px;
	}

	.hst-mobile-panel__actions > a {
		color: var(--hst-orange);
		font-size: 12px;
		font-weight: 800;
	}

	.hst-mobile-panel__actions .hst-cart-link {
		width: auto;
		display: flex;
	}

	.hst-page-hero__inner,
	.hst-shop-hero__grid {
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 10px;
		padding-block: 30px 60px;
		text-align: center;
	}

	.hst-page-hero__art,
	.hst-shop-hero__art {
		display: none;
	}

	.hst-page-hero h1,
	.hst-page-hero .hst-page-hero__title,
	.hst-shop-hero h1 {
		font-size: 30px;
	}

	.hst-page-hero p,
	.hst-shop-hero p {
		margin-inline: auto;
		font-size: 13px;
	}

	.hst-product-search {
		margin-inline: auto;
	}

	.hst-category-pills {
		justify-content: center;
	}

	.hst-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.woocommerce ul.products li.product {
		padding: 8px 8px 11px !important;
		border-radius: 12px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 47px;
		font-size: 11.5px !important;
	}

	.woocommerce ul.products li.product .price {
		font-size: 11.5px !important;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .added_to_cart {
		min-height: 38px;
		font-size: 10.5px !important;
	}

	.woocommerce div.product {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce div.product .woocommerce-tabs,
	.woocommerce .related.products,
	.woocommerce .upsells.products {
		grid-column: auto;
	}

	.woocommerce div.product .product_title {
		font-size: 26px;
	}

	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 4px;
		overflow-x: auto;
		white-space: nowrap;
	}

	.wc-block-components-sidebar-layout {
		display: block !important;
	}

	.wc-block-components-sidebar {
		margin-top: 18px !important;
	}

	.hst-footer-grid {
		grid-template-columns: 1fr;
		gap: 26px;
		padding-block: 38px 85px;
		text-align: center;
	}

	.hst-footer-brand p {
		margin-inline: auto;
	}

	.hst-footer-brand .custom-logo-link,
	.hst-footer-brand .hst-brand-fallback {
		justify-content: center;
	}

	.hst-footer-contact {
		justify-content: center;
	}

	.hst-floating-consult {
		position: fixed;
		z-index: 999;
		left: 50%;
		bottom: 9px;
		width: min(calc(100% - 22px), 536px);
		min-height: 56px;
		transform: translateX(-50%);
		padding: 9px 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		border-radius: 18px;
		color: #fff !important;
		background: var(--hst-orange);
		box-shadow: 0 8px 24px rgba(255,107,0,.34);
		font-size: 15px;
		font-weight: 900;
	}

	.hst-floating-consult svg {
		width: 23px;
		height: 23px;
	}
}

@media (max-width: 520px) {
	.hst-container {
		width: calc(100% - 22px);
	}

	.hst-post-grid {
		grid-template-columns: 1fr;
	}

	.hst-shop-main,
	.hst-content-area,
	.hst-page-content,
	.hst-single-article {
		padding-block: 36px 78px;
	}

	.woocommerce div.product form.cart {
		flex-wrap: wrap;
	}

	.woocommerce div.product form.cart .button {
		flex: 1;
	}

	.woocommerce div.product .woocommerce-tabs .panel {
		padding: 16px;
	}

	.woocommerce-cart table.cart,
	.woocommerce-cart table.cart tbody,
	.woocommerce-cart table.cart tr,
	.woocommerce-cart table.cart td {
		display: block;
		width: 100%;
	}

	.woocommerce-cart table.cart thead {
		display: none;
	}

	.woocommerce-cart table.cart tr {
		padding: 10px;
		border-bottom: 1px solid var(--hst-line);
	}

	.woocommerce-cart table.cart td {
		padding: 8px !important;
		border: 0 !important;
		text-align: right !important;
	}

	.woocommerce-cart table.cart td::before {
		float: none !important;
		margin-left: 7px;
		color: var(--hst-muted);
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}


/* --- Fixes version 1.0.1 --- */
/* Make header and footer links visible by default */
.hst-site-header a,
.hst-site-footer a,
.hst-site-footer .hst-footer-menu a,
.hst-site-footer .hst-footer-contact,
.hst-footer-bottom {
	color: #ffffff;
}

.hst-site-header a:hover,
.hst-site-footer a:hover,
.hst-site-footer .hst-footer-menu a:hover,
.hst-site-footer .hst-footer-contact:hover {
	color: var(--hst-orange);
}

.hst-site-footer .hst-footer-menu a {
	opacity: 1;
}

.hst-site-footer .hst-footer-contact,
.hst-site-footer .hst-footer-brand p,
.hst-footer-bottom {
	color: rgba(255,255,255,.88) !important;
}

/* Smaller title size on single product page */
.woocommerce div.product .product_title {
	font-size: clamp(18px, 2.3vw, 28px) !important;
	line-height: 1.7;
}

/* Product consultation becomes direct phone contact */
.hst-product-consult {
	min-height: 46px;
	padding: 8px 16px;
	justify-content: center;
	font-size: 16px;
	letter-spacing: .2px;
}

.hst-product-consult svg {
	width: 22px;
	height: 22px;
}

@media (max-width: 820px) {
	.woocommerce div.product .product_title {
		font-size: 22px !important;
		line-height: 1.8;
	}
	.hst-product-consult {
		font-size: 14px;
	}
}


/* --- Fixes version 1.0.2 --- */

/* Force all header and footer navigation text to remain visible */
body.hst-theme .hst-site-header a,
body.hst-theme .hst-site-header .hst-menu a,
body.hst-theme .hst-site-header .hst-mobile-menu a,
body.hst-theme .hst-site-footer a,
body.hst-theme .hst-site-footer .hst-footer-menu a,
body.hst-theme .hst-site-footer .hst-footer-contact,
body.hst-theme .hst-site-footer .hst-footer-brand p,
body.hst-theme .hst-footer-bottom {
	color: #ffffff !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.hst-theme .hst-site-header a:hover,
body.hst-theme .hst-site-header .hst-menu a:hover,
body.hst-theme .hst-site-footer a:hover,
body.hst-theme .hst-site-footer .hst-footer-menu a:hover,
body.hst-theme .hst-site-footer .hst-footer-contact:hover {
	color: var(--hst-orange) !important;
}

/* Product title: compact, readable and resistant to WooCommerce/theme overrides */
body.single-product.woocommerce div.product div.summary h1.product_title,
body.single-product .woocommerce div.product div.summary .product_title,
body.single-product h1.product_title {
	max-width: 760px;
	margin: 0 0 14px !important;
	font-size: 22px !important;
	line-height: 1.9 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	word-break: normal;
}

/* Phone-only contact button */
body.single-product .hst-product-consult {
	min-height: 48px;
	padding: 8px 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hst-navy);
	border-radius: 9px;
	color: var(--hst-navy) !important;
	background: #ffffff;
	font-size: 18px !important;
	font-weight: 900;
	letter-spacing: .4px;
	direction: ltr;
}

body.single-product .hst-product-consult:hover {
	color: #ffffff !important;
	background: var(--hst-navy);
}

.hst-phone-missing {
	margin: 10px 0 15px;
	padding: 10px 12px;
	border: 1px dashed var(--hst-orange);
	border-radius: 9px;
	color: var(--hst-navy);
	background: #fff7f1;
	font-size: 12px;
	text-align: center;
}

@media (max-width: 820px) {
	body.single-product.woocommerce div.product div.summary h1.product_title,
	body.single-product .woocommerce div.product div.summary .product_title,
	body.single-product h1.product_title {
		font-size: 19px !important;
		line-height: 1.9 !important;
	}

	body.single-product .hst-product-consult {
		font-size: 15px !important;
	}
}


/* =====================================================
   Hoorsun account login & registration — version 1.1.0
   ===================================================== */

.hst-auth-page-main {
	padding: 38px 0 76px;
	background:
		radial-gradient(circle at 85% 8%, rgba(11,50,100,.08), transparent 25%),
		#f5f7fb;
}

.hst-auth-page-wrap {
	width: min(1320px, calc(100% - 32px));
	margin-inline: auto;
}

.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
}

.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
	max-width: 760px;
	margin: 0 auto 18px;
}

.hst-auth-shell {
	min-height: 700px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	overflow: hidden;
	border: 1px solid #e1e7ef;
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(8,41,87,.13);
}

.hst-auth-visual {
	position: relative;
	min-height: 700px;
	background-image:
		linear-gradient(180deg, rgba(5,30,62,.28), rgba(4,24,51,.9)),
		var(--hst-auth-image);
	background-position: center;
	background-size: cover;
	color: #fff;
}

.hst-auth-visual__overlay {
	min-height: 700px;
	padding: 34px 42px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background:
		linear-gradient(90deg, rgba(7,38,78,.2), transparent 45%),
		linear-gradient(180deg, transparent 42%, rgba(5,28,58,.62));
}

.hst-auth-visual__logo img {
	width: 190px;
	max-height: 58px;
	object-fit: contain;
}

.hst-auth-visual__content {
	max-width: 510px;
	padding-bottom: 12px;
}

.hst-auth-visual__content > span {
	color: rgba(255,255,255,.78);
	font-size: 13px;
	font-weight: 800;
}

.hst-auth-visual__content h1 {
	margin: 8px 0 11px;
	color: #fff;
	font-size: clamp(34px, 3.2vw, 50px);
	font-weight: 900;
	line-height: 1.55;
}

.hst-auth-visual__content h1 strong {
	color: var(--hst-orange);
}

.hst-auth-visual__content > p {
	max-width: 480px;
	margin: 0;
	color: rgba(255,255,255,.83);
	font-size: 14px;
	line-height: 2;
}

.hst-auth-benefits {
	margin-top: 28px;
	display: grid;
	gap: 12px;
}

.hst-auth-benefit {
	position: relative;
	min-height: 58px;
	padding: 8px 52px 8px 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 13px;
	background: rgba(255,255,255,.1);
	backdrop-filter: blur(7px);
}

.hst-auth-benefit::before {
	content: "✓";
	position: absolute;
	right: 14px;
	top: 50%;
	width: 28px;
	height: 28px;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	border: 2px solid var(--hst-orange);
	border-radius: 50%;
	color: var(--hst-orange);
	font-weight: 900;
}

.hst-auth-benefit b {
	color: #fff;
	font-size: 14px;
}

.hst-auth-benefit small {
	color: rgba(255,255,255,.68);
	font-size: 11px;
}

.hst-auth-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 42px;
	background:
		radial-gradient(circle at 50% 0, rgba(11,50,100,.055), transparent 32%),
		#f8f9fb;
}

.hst-auth-card {
	width: min(520px, 100%);
	padding: 0 32px 30px;
	border: 1px solid #e5e9ef;
	border-radius: 21px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(8,41,87,.08);
}

.hst-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0 -32px 28px;
	padding: 0 32px;
	border-bottom: 1px solid #e8ebf0;
}

.hst-auth-tab {
	position: relative;
	min-height: 64px;
	border: 0;
	background: transparent;
	color: #7b8798;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.hst-auth-tab::after {
	content: "";
	position: absolute;
	right: 14%;
	bottom: -1px;
	width: 72%;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: transparent;
}

.hst-auth-tab.is-active {
	color: var(--hst-navy);
}

.hst-auth-tab.is-active::after {
	background: var(--hst-orange);
}

.hst-auth-tab:disabled {
	opacity: .45;
	cursor: not-allowed;
}

.hst-auth-pane {
	display: none;
}

.hst-auth-pane.is-active {
	display: block;
	animation: hstAuthFade .2s ease;
}

@keyframes hstAuthFade {
	from { opacity: 0; transform: translateY(5px); }
	to { opacity: 1; transform: none; }
}

.hst-auth-heading {
	margin-bottom: 23px;
	text-align: center;
}

.hst-auth-heading h2 {
	margin: 0 0 6px;
	color: var(--hst-navy);
	font-size: 24px;
	font-weight: 900;
}

.hst-auth-heading p {
	margin: 0;
	color: var(--hst-muted);
	font-size: 12px;
}

.hst-auth-form {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.hst-auth-field {
	margin: 0 0 15px !important;
}

.hst-auth-field > label {
	display: block;
	margin-bottom: 6px;
	color: var(--hst-text);
	font-size: 12px;
	font-weight: 800;
}

.hst-auth-input {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 51px;
	border: 1px solid #dce2ea;
	border-radius: 11px;
	background: #fff;
	transition: .18s ease;
}

.hst-auth-input:focus-within {
	border-color: var(--hst-orange);
	box-shadow: 0 0 0 3px rgba(255,107,0,.1);
}

.hst-auth-input input {
	width: 100% !important;
	height: 49px !important;
	margin: 0 !important;
	padding: 8px 13px !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--hst-text);
}

.hst-auth-password input {
	padding-left: 68px !important;
}

.hst-password-toggle {
	position: absolute;
	left: 8px;
	top: 50%;
	min-width: 52px;
	min-height: 32px;
	transform: translateY(-50%);
	border: 0;
	border-radius: 7px;
	background: var(--hst-soft);
	color: var(--hst-navy);
	font-size: 10px;
	font-weight: 800;
	cursor: pointer;
}

.hst-auth-name-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.hst-auth-meta {
	margin: 2px 0 17px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.hst-auth-meta > a,
.hst-auth-switch button,
.hst-auth-terms a {
	color: #1470c9 !important;
	font-size: 11px;
	font-weight: 800;
}

.hst-auth-check {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--hst-muted);
	font-size: 11px;
	cursor: pointer;
}

.hst-auth-check input {
	width: 17px;
	height: 17px;
	accent-color: var(--hst-orange);
}

.hst-auth-terms {
	margin: 0 0 17px;
	align-items: flex-start;
}

.hst-auth-submit,
.hst-auth-card .button.hst-auth-submit {
	width: 100%;
	min-height: 50px;
	margin: 0 !important;
	padding: 9px 16px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--hst-orange) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	cursor: pointer;
}

.hst-auth-submit:hover,
.hst-auth-card .button.hst-auth-submit:hover {
	background: var(--hst-orange-dark) !important;
}

.hst-auth-or {
	position: relative;
	margin: 19px 0;
	text-align: center;
}

.hst-auth-or::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	height: 1px;
	background: #e5e9ef;
}

.hst-auth-or span {
	position: relative;
	padding: 0 12px;
	background: #fff;
	color: var(--hst-muted);
	font-size: 11px;
}

.hst-auth-otp-button {
	width: 100%;
	min-height: 48px;
	border: 2px solid var(--hst-navy);
	border-radius: 10px;
	background: #fff;
	color: var(--hst-navy);
	font-size: 12px;
	font-weight: 900;
	cursor: pointer;
}

.hst-auth-otp-button:hover {
	color: #fff;
	background: var(--hst-navy);
}

.hst-auth-switch {
	margin: 18px 0 0;
	text-align: center;
	color: var(--hst-muted);
	font-size: 11px;
}

.hst-auth-switch button {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.hst-otp-notice,
.hst-auth-disabled {
	margin-top: 13px;
	padding: 11px 13px;
	border: 1px dashed var(--hst-orange);
	border-radius: 9px;
	background: #fff7f0;
	color: var(--hst-text);
	font-size: 11px;
	text-align: center;
}

.hst-auth-page-main .woocommerce-error,
.hst-auth-page-main .woocommerce-message,
.hst-auth-page-main .woocommerce-info {
	max-width: 760px;
	margin-inline: auto !important;
}

/* Mobile */
@media (max-width: 820px) {
	.hst-auth-page-main {
		padding: 0 0 74px;
		background: #f5f7fb;
	}

	.hst-auth-page-wrap {
		width: 100%;
	}

	.hst-auth-shell {
		min-height: 0;
		display: block;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	.hst-auth-visual {
		min-height: 255px;
		background-position: center 45%;
	}

	.hst-auth-visual__overlay {
		min-height: 255px;
		padding: 22px 18px;
		justify-content: flex-start;
		background: linear-gradient(180deg, rgba(5,29,60,.2), rgba(5,28,58,.62));
	}

	.hst-auth-visual__logo {
		display: none;
	}

	.hst-auth-visual__content {
		margin-top: auto;
		padding-bottom: 20px;
		text-align: center;
	}

	.hst-auth-visual__content > span,
	.hst-auth-visual__content > p,
	.hst-auth-benefits {
		display: none;
	}

	.hst-auth-visual__content h1 {
		max-width: 340px;
		margin: 0 auto;
		font-size: 25px;
		line-height: 1.55;
	}

	.hst-auth-panel {
		position: relative;
		z-index: 3;
		margin-top: -28px;
		padding: 0 11px;
		background: transparent;
	}

	.hst-auth-card {
		width: 100%;
		padding: 0 18px 25px;
		border-radius: 22px 22px 16px 16px;
		box-shadow: 0 14px 36px rgba(8,41,87,.11);
	}

	.hst-auth-tabs {
		margin: 0 -18px 24px;
		padding: 0 18px;
	}

	.hst-auth-tab {
		min-height: 61px;
	}

	.hst-auth-heading h2 {
		font-size: 21px;
	}

	.hst-auth-name-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.hst-auth-meta {
		align-items: flex-start;
	}

	.hst-auth-visual + .hst-auth-panel {
		min-height: 0;
	}
}

@media (max-width: 390px) {
	.hst-auth-card {
		padding-inline: 14px;
	}

	.hst-auth-tabs {
		margin-inline: -14px;
		padding-inline: 14px;
	}

	.hst-auth-meta {
		flex-direction: column;
		gap: 8px;
	}
}


/* Account reliability fixes — version 1.1.1 */
.hst-auth-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}

.hst-auth-switch a {
	padding: 0;
	border: 0;
	background: transparent;
	color: #1470c9 !important;
	font-size: 11px;
	font-weight: 800;
	cursor: pointer;
	text-decoration: none;
}

.hst-auth-form input:required:invalid:not(:placeholder-shown) {
	border-color: #dce2ea;
}


/* =====================================================
   Compact WooCommerce header mini-cart — version 1.2.0
   ===================================================== */

.hst-cart-area {
	position: relative;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
}

.hst-cart-area > .hst-cart-link {
	position: relative;
	z-index: 2;
}

.hst-mini-cart {
	position: absolute;
	z-index: 9999;
	top: calc(100% + 14px);
	left: 50%;
	width: 330px;
	max-width: calc(100vw - 24px);
	padding: 0;
	visibility: hidden;
	opacity: 0;
	transform: translate(-50%, 10px);
	overflow: visible;
	border: 1px solid var(--hst-line);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 18px 48px rgba(3, 25, 55, .2);
	color: var(--hst-text);
	direction: rtl;
	pointer-events: none;
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.hst-cart-area.is-open .hst-mini-cart,
.hst-cart-area:hover .hst-mini-cart {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
	pointer-events: auto;
}

.hst-mini-cart__arrow {
	position: absolute;
	top: -7px;
	left: 50%;
	width: 14px;
	height: 14px;
	transform: translateX(-50%) rotate(45deg);
	border-top: 1px solid var(--hst-line);
	border-left: 1px solid var(--hst-line);
	background: #ffffff;
}

.hst-mini-cart__header {
	position: relative;
	z-index: 2;
	min-height: 46px;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border-bottom: 1px solid var(--hst-line);
	border-radius: 14px 14px 0 0;
	background: #ffffff;
}

.hst-mini-cart__header strong {
	color: var(--hst-navy);
	font-size: 13px;
	font-weight: 900;
}

.hst-mini-cart__close {
	width: 28px;
	height: 28px;
	padding: 0;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 7px;
	background: var(--hst-soft);
	color: var(--hst-muted);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.hst-mini-cart__close:hover {
	color: #ffffff;
	background: var(--hst-orange);
}

.hst-mini-cart .widget_shopping_cart_content {
	position: relative;
	z-index: 1;
}

.hst-mini-cart .woocommerce-mini-cart {
	max-height: 310px;
	margin: 0 !important;
	padding: 7px 12px 2px !important;
	overflow-y: auto;
	list-style: none !important;
	scrollbar-width: thin;
	scrollbar-color: #c9d1dc transparent;
}

.hst-mini-cart .woocommerce-mini-cart-item {
	position: relative;
	min-height: 72px;
	margin: 0 !important;
	padding: 10px 64px 10px 25px !important;
	display: block;
	border-bottom: 1px solid #edf0f4;
	line-height: 1.6;
}

.hst-mini-cart .woocommerce-mini-cart-item:last-child {
	border-bottom: 0;
}

.hst-mini-cart .woocommerce-mini-cart-item > a:not(.remove) {
	display: block;
	color: var(--hst-navy) !important;
	font-size: 11.5px;
	font-weight: 800;
	line-height: 1.7;
}

.hst-mini-cart .woocommerce-mini-cart-item img {
	position: absolute;
	top: 10px;
	right: 0;
	width: 54px !important;
	height: 54px !important;
	margin: 0 !important;
	object-fit: contain;
	border: 1px solid var(--hst-line);
	border-radius: 8px;
	background: var(--hst-soft);
}

.hst-mini-cart .woocommerce-mini-cart-item .quantity {
	display: block;
	margin-top: 4px;
	color: var(--hst-muted);
	font-size: 10.5px;
	font-weight: 600;
	direction: rtl;
}

.hst-mini-cart .woocommerce-mini-cart-item .remove {
	position: absolute !important;
	top: 50%;
	left: 0;
	width: 21px;
	height: 21px;
	transform: translateY(-50%);
	display: grid !important;
	place-items: center;
	border: 1px solid #e4e8ee;
	border-radius: 50%;
	color: #9a3a3a !important;
	background: #ffffff !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.hst-mini-cart .woocommerce-mini-cart-item .remove:hover {
	border-color: #c83d3d;
	color: #ffffff !important;
	background: #c83d3d !important;
}

.hst-mini-cart .woocommerce-mini-cart__total {
	margin: 0 !important;
	padding: 12px 14px 8px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	border-top: 1px solid var(--hst-line);
	color: var(--hst-muted);
	font-size: 11px;
}

.hst-mini-cart .woocommerce-mini-cart__total strong {
	color: var(--hst-navy);
	font-size: 12px;
}

.hst-mini-cart .woocommerce-mini-cart__total .amount {
	color: var(--hst-orange);
	font-size: 12px;
	font-weight: 900;
}

.hst-mini-cart .woocommerce-mini-cart__buttons {
	margin: 0 !important;
	padding: 8px 12px 12px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7px;
}

.hst-mini-cart .woocommerce-mini-cart__buttons .button {
	min-height: 39px;
	margin: 0 !important;
	padding: 7px 8px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--hst-navy) !important;
	border-radius: 8px !important;
	color: var(--hst-navy) !important;
	background: #ffffff !important;
	font-size: 10.5px !important;
	font-weight: 900 !important;
}

.hst-mini-cart .woocommerce-mini-cart__buttons .checkout {
	border-color: var(--hst-orange) !important;
	color: #ffffff !important;
	background: var(--hst-orange) !important;
}

.hst-mini-cart .woocommerce-mini-cart__buttons .button:hover {
	color: #ffffff !important;
	background: var(--hst-navy) !important;
}

.hst-mini-cart .woocommerce-mini-cart__buttons .checkout:hover {
	background: var(--hst-orange-dark) !important;
}

.hst-mini-cart .woocommerce-mini-cart__empty-message {
	margin: 0 !important;
	padding: 30px 18px;
	color: var(--hst-muted);
	font-size: 12px;
	text-align: center;
}

.hst-mini-cart .blockUI.blockOverlay {
	border-radius: 14px;
}

/* The dropdown is desktop/tablet only; the normal cart link remains in the mobile menu. */
@media (max-width: 820px) {
	.hst-cart-area {
		display: none;
	}

	.hst-mini-cart {
		display: none;
	}
}


/* =====================================================
   Authentication functionality and compact password UI
   Version 1.2.1
   ===================================================== */

/* Never show WooCommerce's oversized password meter inside this custom UI. */
.hst-auth-page-main .woocommerce-password-strength,
.hst-auth-page-main .woocommerce-password-hint,
.hst-auth-page-main .password-strength,
.hst-auth-page-main .password-hint {
	display: none !important;
}

/* Compact password field. */
.hst-auth-password {
	min-height: 48px !important;
	height: 48px;
	overflow: hidden;
}

.hst-auth-password input {
	height: 46px !important;
	min-height: 46px !important;
	padding-left: 48px !important;
}

/* Eye-only password control. */
.hst-password-toggle {
	position: absolute;
	left: 7px;
	top: 50%;
	width: 36px;
	min-width: 36px;
	height: 36px;
	min-height: 36px;
	padding: 0;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--hst-navy);
	font-size: 0;
	cursor: pointer;
}

.hst-password-toggle:hover,
.hst-password-toggle:focus-visible {
	background: var(--hst-soft);
	outline: 0;
}

.hst-password-toggle svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hst-password-toggle .hst-eye-closed {
	display: none;
}

.hst-password-toggle.is-visible .hst-eye-open {
	display: none;
}

.hst-password-toggle.is-visible .hst-eye-closed {
	display: block;
}

/* Ensure submit buttons are clickable and never visually disabled by old WC scripts. */
.hst-auth-card .hst-auth-submit {
	pointer-events: auto !important;
	opacity: 1 !important;
	filter: none !important;
}

.hst-auth-card .hst-auth-submit:disabled,
.hst-auth-card .hst-auth-submit.disabled {
	pointer-events: auto !important;
	opacity: 1 !important;
	background: var(--hst-orange) !important;
}

/* Tighter registration layout. */
.hst-auth-pane[data-auth-pane="register"] .hst-auth-field {
	margin-bottom: 11px !important;
}

.hst-auth-pane[data-auth-pane="register"] .hst-auth-heading {
	margin-bottom: 16px;
}

.hst-auth-pane[data-auth-pane="register"] .hst-auth-input {
	min-height: 48px;
}

.hst-auth-pane[data-auth-pane="register"] .hst-auth-input input {
	height: 46px !important;
}

@media (max-width: 820px) {
	.hst-auth-password {
		height: 47px;
		min-height: 47px !important;
	}

	.hst-password-toggle {
		width: 35px;
		height: 35px;
		min-width: 35px;
		min-height: 35px;
	}
}


/* =====================================================
   Minimal Hoorsun portal login / registration
   Version 1.3.0
   ===================================================== */

body.hst-auth-standalone {
	min-height: 100vh;
	margin: 0;
	overflow-x: hidden;
	background: #071f40;
}

body.hst-auth-standalone #wpadminbar {
	position: fixed;
}

.admin-bar .hst-portal-auth {
	min-height: calc(100vh - 32px);
	margin-top: 32px;
}

.hst-portal-auth {
	position: relative;
	min-height: 100vh;
	padding: 38px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background-image: var(--hst-portal-bg);
	background-position: center;
	background-size: cover;
	font-family: "IRANSansX", "IranSansX", "IRANSans", "Vazirmatn", Tahoma, Arial, sans-serif;
	direction: rtl;
}

.hst-portal-auth__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(5,27,57,.93), rgba(6,34,70,.76)),
		radial-gradient(circle at 80% 20%, rgba(255,107,0,.18), transparent 28%);
	backdrop-filter: blur(2px);
}

.hst-portal-auth__back {
	position: absolute;
	z-index: 3;
	top: 24px;
	right: 28px;
	padding: 8px 13px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 9px;
	color: #fff !important;
	background: rgba(255,255,255,.08);
	font-size: 11px;
	font-weight: 800;
}

.hst-portal-auth__back:hover {
	border-color: var(--hst-orange);
	background: var(--hst-orange);
}

.hst-portal-auth__card {
	position: relative;
	z-index: 2;
	width: min(470px, 100%);
	padding: 27px 34px 17px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 21px;
	background: rgba(255,255,255,.97);
	box-shadow: 0 24px 70px rgba(0,15,35,.32);
}

.hst-portal-auth__brand {
	margin-bottom: 18px;
	text-align: center;
}

.hst-portal-auth__brand img {
	width: 180px;
	max-height: 55px;
	object-fit: contain;
}

.hst-portal-auth__brand p {
	margin: 7px 0 0;
	color: #738095;
	font-size: 11px;
	font-weight: 700;
}

.hst-portal-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 22px;
	border-bottom: 1px solid #e5e9ef;
}

.hst-portal-tabs a {
	position: relative;
	min-height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #8a95a5 !important;
	font-size: 13px;
	font-weight: 900;
}

.hst-portal-tabs a::after {
	content: "";
	position: absolute;
	right: 18%;
	bottom: -1px;
	width: 64%;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: transparent;
}

.hst-portal-tabs a.is-active {
	color: var(--hst-navy) !important;
}

.hst-portal-tabs a.is-active::after {
	background: var(--hst-orange);
}

.hst-portal-heading {
	margin-bottom: 18px;
	text-align: center;
}

.hst-portal-heading h1 {
	margin: 0 0 5px;
	color: var(--hst-navy);
	font-size: 23px;
	font-weight: 900;
	line-height: 1.6;
}

.hst-portal-heading p {
	margin: 0;
	color: #7c8797;
	font-size: 11px;
}

.hst-portal-form {
	margin: 0;
}

.hst-portal-field {
	display: block;
	margin-bottom: 12px;
}

.hst-portal-field > span:first-child {
	display: block;
	margin-bottom: 5px;
	color: var(--hst-text);
	font-size: 11px;
	font-weight: 800;
}

.hst-portal-field > input,
.hst-portal-password {
	width: 100%;
	height: 46px;
	min-height: 46px;
	display: flex;
	align-items: center;
	border: 1px solid #dce2ea;
	border-radius: 9px;
	background: #fff;
	transition: .18s ease;
}

.hst-portal-field > input {
	padding: 8px 11px;
	outline: 0;
	color: var(--hst-text);
}

.hst-portal-field > input:focus,
.hst-portal-password:focus-within {
	border-color: var(--hst-orange);
	box-shadow: 0 0 0 3px rgba(255,107,0,.1);
}

.hst-portal-password {
	position: relative;
	overflow: hidden;
}

.hst-portal-password input {
	width: 100%;
	height: 44px;
	padding: 7px 11px 7px 48px;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--hst-text);
}

.hst-portal-password .hst-password-toggle {
	position: absolute;
	left: 5px;
	top: 50%;
	width: 35px;
	height: 35px;
	min-width: 35px;
	min-height: 35px;
	padding: 0;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: var(--hst-navy);
	font-size: 0;
	cursor: pointer;
}

.hst-portal-password .hst-password-toggle:hover {
	background: var(--hst-soft);
}

.hst-portal-password .hst-password-toggle svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hst-portal-password .hst-eye-closed {
	display: none;
}

.hst-portal-password .hst-password-toggle.is-visible .hst-eye-open {
	display: none;
}

.hst-portal-password .hst-password-toggle.is-visible .hst-eye-closed {
	display: block;
}

.hst-portal-meta {
	margin: 1px 0 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.hst-portal-meta label,
.hst-portal-terms {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #707b8d;
	font-size: 10.5px;
	cursor: pointer;
}

.hst-portal-meta input,
.hst-portal-terms input {
	width: 16px;
	height: 16px;
	accent-color: var(--hst-orange);
}

.hst-portal-meta a,
.hst-portal-terms a,
.hst-portal-switch a {
	color: #1470c9 !important;
	font-size: 10.5px;
	font-weight: 800;
}

.hst-portal-submit {
	width: 100%;
	min-height: 47px;
	margin-top: 2px;
	padding: 8px 15px;
	border: 0;
	border-radius: 9px;
	color: #fff;
	background: var(--hst-orange);
	font-size: 12.5px;
	font-weight: 900;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(255,107,0,.22);
}

.hst-portal-submit:hover {
	background: var(--hst-orange-dark);
}

.hst-portal-switch {
	margin: 15px 0 0;
	text-align: center;
	color: #7c8797;
	font-size: 10.5px;
}

.hst-portal-name-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9px;
}

.hst-portal-terms {
	margin: 2px 0 13px;
	align-items: flex-start;
}

.hst-portal-auth__footer {
	margin-top: 18px;
	padding-top: 12px;
	border-top: 1px solid #e8ebef;
	color: #9aa3b1;
	font-size: 9.5px;
	text-align: center;
}

/* Compact WooCommerce notices inside the portal card. */
.hst-portal-auth .woocommerce-notices-wrapper {
	margin: 0 0 12px;
}

.hst-portal-auth .woocommerce-error,
.hst-portal-auth .woocommerce-message,
.hst-portal-auth .woocommerce-info {
	margin: 0 0 10px !important;
	padding: 10px 12px !important;
	border: 0 !important;
	border-right: 3px solid var(--hst-orange) !important;
	border-radius: 8px;
	background: #fff7f0 !important;
	box-shadow: none;
	color: var(--hst-text) !important;
	font-size: 10.5px;
	line-height: 1.8;
}

.hst-portal-auth .woocommerce-error {
	border-right-color: #c23939 !important;
	background: #fff4f4 !important;
}

.hst-portal-auth .woocommerce-error::before,
.hst-portal-auth .woocommerce-message::before,
.hst-portal-auth .woocommerce-info::before {
	display: none !important;
}

/* Prevent all WooCommerce password-strength clutter. */
.hst-portal-auth .woocommerce-password-strength,
.hst-portal-auth .woocommerce-password-hint,
.hst-portal-auth .password-strength,
.hst-portal-auth .password-hint {
	display: none !important;
}

@media (max-width: 782px) {
	.admin-bar .hst-portal-auth {
		min-height: calc(100vh - 46px);
		margin-top: 46px;
	}
}

@media (max-width: 560px) {
	.hst-portal-auth {
		padding: 68px 11px 24px;
		align-items: flex-start;
		background-position: 63% center;
	}

	.hst-portal-auth__shade {
		background: rgba(5,28,58,.88);
	}

	.hst-portal-auth__back {
		top: 14px;
		right: 14px;
	}

	.hst-portal-auth__card {
		padding: 23px 18px 14px;
		border-radius: 17px;
	}

	.hst-portal-auth__brand img {
		width: 155px;
	}

	.hst-portal-heading h1 {
		font-size: 20px;
	}

	.hst-portal-name-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.hst-portal-field {
		margin-bottom: 10px;
	}
}


/* =====================================================
   Single product redesign — version 1.4.0
   ===================================================== */

body.hst-single-product-redesign .hst-page-hero {
	display: none !important;
}

body.hst-single-product-redesign .hst-shop-main {
	padding-top: 22px;
	padding-bottom: 70px;
	background: #f7f9fc;
}

.hst-product-breadcrumb {
	margin: 0 0 18px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: var(--hst-muted);
	font-size: 11px;
}

.hst-product-breadcrumb a {
	color: var(--hst-muted);
}

.hst-product-breadcrumb span {
	color: #a1aab8;
}

body.hst-single-product-redesign .woocommerce div.product {
	padding: 22px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
	gap: 34px;
	border: 1px solid var(--hst-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 45px rgba(8,41,87,.08);
}

body.hst-single-product-redesign .woocommerce div.product div.images {
	position: sticky;
	top: 18px;
	padding: 14px;
	border: 1px solid var(--hst-line);
	border-radius: 17px;
	background: #f8fafc;
}

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

body.hst-single-product-redesign .woocommerce div.product .flex-control-thumbs {
	gap: 9px;
}

body.hst-single-product-redesign .woocommerce div.product .flex-control-thumbs li {
	border-radius: 10px;
	background: #fff;
}

body.hst-single-product-redesign .woocommerce div.product div.summary {
	padding: 8px 0;
}

.hst-product-status-row {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.hst-product-stock,
.hst-product-category-label {
	padding: 5px 9px;
	border-radius: 7px;
	font-size: 10px;
	font-weight: 900;
}

.hst-product-stock.is-in-stock {
	color: #23833f;
	background: #edf9f0;
}

.hst-product-stock.is-out-of-stock {
	color: #9d3131;
	background: #fff0f0;
}

.hst-product-category-label {
	color: var(--hst-navy);
	background: #edf3fa;
}

body.hst-single-product-redesign h1.product_title {
	margin-bottom: 10px !important;
	font-size: 25px !important;
	line-height: 1.85 !important;
}

body.hst-single-product-redesign .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
}

body.hst-single-product-redesign .woocommerce div.product p.price,
body.hst-single-product-redesign .woocommerce div.product span.price {
	margin: 12px 0 13px;
	display: block;
	font-size: 25px !important;
	text-align: right;
}

body.hst-single-product-redesign .woocommerce-product-details__short-description {
	margin: 12px 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--hst-muted);
	font-size: 12px;
	line-height: 2;
}

.hst-product-feature-cards {
	margin: 15px 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.hst-product-feature-card {
	min-height: 84px;
	padding: 10px 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	border: 1px solid var(--hst-line);
	border-radius: 11px;
	background: #fff;
	text-align: center;
}

.hst-product-feature-icon {
	width: 27px;
	height: 27px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	color: var(--hst-orange);
	background: #fff4ea;
	font-size: 10px;
	font-weight: 900;
}

.hst-product-feature-card small {
	display: block;
	color: var(--hst-muted);
	font-size: 9px;
}

.hst-product-feature-card strong {
	display: block;
	margin-top: 2px;
	color: var(--hst-navy);
	font-size: 10.5px;
	line-height: 1.55;
}

body.hst-single-product-redesign .woocommerce div.product form.cart {
	padding: 13px;
	display: flex;
	align-items: stretch;
	gap: 9px;
	border: 1px solid var(--hst-line);
	border-radius: 12px;
	background: #f8fafc;
}

body.hst-single-product-redesign .woocommerce div.product form.cart .quantity {
	display: flex;
}

body.hst-single-product-redesign .woocommerce .quantity .qty {
	width: 78px;
	background: #fff;
}

body.hst-single-product-redesign .woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1;
}

body.hst-single-product-redesign .hst-product-consult-redesign {
	min-height: 49px;
	margin-top: 8px;
	direction: rtl;
	font-size: 12px !important;
	letter-spacing: 0;
}

body.hst-single-product-redesign .hst-product-consult-redesign svg {
	width: 20px;
	height: 20px;
}

body.hst-single-product-redesign .product_meta {
	margin-top: 15px;
	font-size: 10.5px;
}

.hst-product-trust-bar {
	grid-column: 1 / -1;
	margin-top: 23px;
	padding: 13px 10px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--hst-line);
	border-radius: 14px;
	background: #f8fafc;
}

.hst-product-trust-bar article {
	padding: 5px 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border-left: 1px solid var(--hst-line);
}

.hst-product-trust-bar article:last-child {
	border-left: 0;
}

.hst-product-trust-icon {
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	color: var(--hst-navy);
	background: #fff;
	font-size: 10px;
	font-weight: 900;
}

.hst-product-trust-bar strong {
	display: block;
	color: var(--hst-navy);
	font-size: 10.5px;
}

.hst-product-trust-bar small {
	display: block;
	color: var(--hst-muted);
	font-size: 8.5px;
	line-height: 1.6;
}

body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs {
	margin-top: 25px;
}

body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs {
	justify-content: center;
	border: 1px solid var(--hst-line);
	border-radius: 12px 12px 0 0;
	background: #fff;
}

body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 13px 20px !important;
	font-size: 11px;
}

body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--hst-orange) !important;
	background: transparent;
	border-bottom: 3px solid var(--hst-orange);
	border-radius: 0;
}

body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs .panel {
	padding: 25px !important;
	border-radius: 0 0 14px 14px;
	line-height: 2.1;
}

.hst-product-spec-table {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 18px;
}

.hst-product-spec-table > div {
	min-height: 48px;
	padding: 9px 12px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--hst-line);
	border-radius: 9px;
	background: #fafbfd;
}

.hst-product-spec-table strong {
	color: var(--hst-navy);
	font-size: 10.5px;
}

.hst-product-spec-table span {
	color: var(--hst-muted);
	font-size: 10.5px;
	text-align: left;
}

.hst-product-faq {
	display: grid;
	gap: 9px;
}

.hst-product-faq details {
	padding: 12px 14px;
	border: 1px solid var(--hst-line);
	border-radius: 9px;
	background: #fafbfd;
}

.hst-product-faq summary {
	color: var(--hst-navy);
	font-size: 11px;
	font-weight: 900;
	cursor: pointer;
}

.hst-product-faq p {
	margin: 10px 0 0;
	color: var(--hst-muted);
	font-size: 10.5px;
}

body.hst-single-product-redesign .related.products,
body.hst-single-product-redesign .upsells.products {
	display: none !important;
}

.hst-mobile-product-bar {
	display: none;
}

@media (max-width: 820px) {
	body.hst-single-product-redesign .hst-shop-main {
		padding: 12px 0 95px;
	}

	body.hst-single-product-redesign .woocommerce div.product {
		padding: 11px;
		display: block;
		border-radius: 0;
		box-shadow: none;
	}

	body.hst-single-product-redesign .woocommerce div.product div.images {
		position: static;
		padding: 8px;
		margin-bottom: 14px !important;
	}

	body.hst-single-product-redesign h1.product_title {
		font-size: 19px !important;
		line-height: 1.9 !important;
	}

	body.hst-single-product-redesign .woocommerce div.product p.price,
	body.hst-single-product-redesign .woocommerce div.product span.price {
		font-size: 21px !important;
	}

	.hst-product-feature-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hst-product-feature-card {
		min-height: 76px;
	}

	body.hst-single-product-redesign .woocommerce div.product form.cart {
		padding: 10px;
	}

	.hst-product-trust-bar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hst-product-trust-bar article {
		min-height: 70px;
		border-left: 0;
		border-bottom: 1px solid var(--hst-line);
	}

	.hst-product-trust-bar article:nth-child(odd) {
		border-left: 1px solid var(--hst-line);
	}

	.hst-product-trust-bar article:nth-last-child(-n+2) {
		border-bottom: 0;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs {
		justify-content: flex-start;
		overflow-x: auto;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs li a {
		padding: 12px 13px !important;
	}

	.hst-product-spec-table {
		grid-template-columns: 1fr;
	}

	.hst-mobile-product-bar {
		position: fixed;
		z-index: 9999;
		right: 0;
		left: 0;
		bottom: 0;
		padding: 9px 11px max(9px, env(safe-area-inset-bottom));
		display: grid;
		grid-template-columns: 1.35fr .65fr;
		gap: 8px;
		border-top: 1px solid var(--hst-line);
		background: rgba(255,255,255,.96);
		box-shadow: 0 -10px 28px rgba(8,41,87,.12);
		backdrop-filter: blur(12px);
	}

	.hst-mobile-product-bar button,
	.hst-mobile-product-bar a {
		min-height: 46px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 9px;
		font-size: 11px;
		font-weight: 900;
	}

	.hst-mobile-product-bar button {
		border: 0;
		color: #fff;
		background: var(--hst-orange);
	}

	.hst-mobile-product-bar a {
		border: 1px solid var(--hst-navy);
		color: var(--hst-navy);
		background: #fff;
	}
}


/* =====================================================
   Single product trust icons and unified specs box
   Version 1.5.1
   ===================================================== */

.hst-product-trust-icon {
	color: var(--hst-navy);
	background: #ffffff;
}

.hst-product-trust-icon svg {
	width: 23px;
	height: 23px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Replace the old scattered technical rows with one clear box. */
.hst-product-spec-table {
	display: none !important;
}

.hst-product-spec-box {
	overflow: hidden;
	border: 1px solid var(--hst-line);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 8px 24px rgba(8, 41, 87, .055);
}

.hst-product-spec-box__header {
	min-height: 78px;
	padding: 15px 18px;
	display: flex;
	align-items: center;
	gap: 13px;
	border-bottom: 1px solid var(--hst-line);
	background: linear-gradient(90deg, #f8fafc, #ffffff);
}

.hst-product-spec-box__icon {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	display: grid;
	place-items: center;
	border-radius: 11px;
	color: var(--hst-orange);
	background: #fff3e8;
}

.hst-product-spec-box__icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hst-product-spec-box__header h2 {
	margin: 0 0 2px !important;
	color: var(--hst-navy);
	font-size: 16px !important;
	font-weight: 900;
}

.hst-product-spec-box__header p {
	margin: 0 !important;
	color: var(--hst-muted);
	font-size: 9.5px;
}

.hst-product-spec-rows {
	padding: 6px 16px 12px;
}

.hst-product-spec-row {
	min-height: 48px;
	padding: 10px 4px;
	display: grid;
	grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	border-bottom: 1px solid #edf0f4;
}

.hst-product-spec-row:last-child {
	border-bottom: 0;
}

.hst-product-spec-row strong {
	color: var(--hst-navy);
	font-size: 10.5px;
	font-weight: 900;
}

.hst-product-spec-row span {
	color: var(--hst-text);
	font-size: 10.5px;
	line-height: 1.8;
	text-align: right;
}

.hst-product-spec-empty {
	padding: 22px;
	color: var(--hst-muted);
	font-size: 11px;
	text-align: center;
}

@media (max-width: 620px) {
	.hst-product-spec-box__header {
		min-height: 68px;
		padding: 12px 13px;
	}

	.hst-product-spec-box__icon {
		width: 39px;
		height: 39px;
		flex-basis: 39px;
	}

	.hst-product-spec-row {
		grid-template-columns: 1fr;
		gap: 3px;
		padding: 11px 2px;
	}

	.hst-product-spec-row strong {
		font-size: 10px;
	}

	.hst-product-spec-row span {
		font-size: 10.5px;
	}
}


/* ==========================================================
   Mobile WhatsApp + cart actions — version 1.5.2
   ========================================================== */

.hst-mobile-quick-actions {
	display: none;
}

.hst-cart-link.has-items {
	color: var(--hst-orange) !important;
}

.hst-cart-link.has-items:hover {
	color: var(--hst-orange) !important;
}

@media (max-width: 820px) {
	.hst-header-inner {
		grid-template-columns: 92px 1fr 92px !important;
	}

	.hst-mobile-quick-actions {
		grid-column: 1;
		grid-row: 1;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 2px;
		direction: ltr;
	}

	.hst-mobile-quick-actions .hst-mobile-whatsapp,
	.hst-mobile-quick-actions .hst-mobile-cart,
	.hst-mobile-quick-actions .hst-cart-link {
		display: grid !important;
	}

	.hst-mobile-quick-actions .hst-mobile-whatsapp {
		position: relative;
		grid-column: auto;
		grid-row: auto;
		width: 42px;
		height: 42px;
	}

	.hst-mobile-cart {
		position: relative;
		width: 42px;
		height: 42px;
	}

	.hst-mobile-cart .hst-cart-link {
		position: relative;
		width: 42px;
		height: 42px;
		color: #fff;
	}

	.hst-mobile-cart .hst-cart-link.has-items {
		color: var(--hst-orange) !important;
	}

	.hst-mobile-cart .hst-cart-count {
		top: 0;
		right: -1px;
		min-width: 17px;
		height: 17px;
		border-color: var(--hst-navy);
		background: var(--hst-orange);
		color: #fff;
	}

	.hst-menu-toggle {
		grid-column: 3 !important;
		justify-self: end;
	}

	.hst-brand {
		grid-column: 2 !important;
		justify-self: center;
	}
}

@media (max-width: 390px) {
	.hst-header-inner {
		grid-template-columns: 86px 1fr 86px !important;
	}

	.hst-mobile-quick-actions .hst-mobile-whatsapp,
	.hst-mobile-cart,
	.hst-mobile-cart .hst-cart-link {
		width: 39px;
		height: 39px;
	}

	.hst-brand img,
	.hst-brand .custom-logo {
		width: 132px;
	}
}


/* ==========================================================
   Front-end chrome, sticky header and horizontal lock — v1.5.3
   ========================================================== */
html{margin-top:0!important;max-width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
body{margin-top:0!important;max-width:100%;overflow-x:hidden!important;position:relative;overscroll-behavior-x:none}
body.admin-bar{margin-top:0!important;padding-top:0!important}
#wpadminbar{display:none!important;height:0!important;min-height:0!important;visibility:hidden!important}

.hst-site-header{position:sticky!important;top:0!important;z-index:9995!important;width:100%!important;max-width:100vw!important}
.admin-bar .hst-site-header{top:0!important}

#page,.hst-site,.hst-shop-main,.woocommerce,.woocommerce-page{max-width:100%;min-width:0;overflow-x:clip}
img,video,iframe{max-width:100%;height:auto}

@media (max-width:820px){
  html,body{width:100%;max-width:100vw;overflow-x:hidden!important;overscroll-behavior-x:none}
  body{touch-action:pan-y pinch-zoom}
  .hst-site-header,.hst-header-inner,.hst-container,#page,.hst-site,.hst-shop-main,.woocommerce,.woocommerce-page,.hsep-hero,.hsep-shop-intro,.hsep-mobile-tools,.hsep-shop-layout,.hsep-products-column,.hsep-consultation{max-width:100vw!important;min-width:0!important}
  .hst-container{width:calc(100% - 20px)!important}
  .hsep-shop-layout,.hsep-products-column,.hsep-categories,.hsep-trust-bar,body.hsep-shop-active ul.products{min-width:0!important}
  .hsep-filter-sidebar{max-width:88vw!important}
  .hst-mobile-panel{max-width:100vw!important;overflow-x:hidden!important}
  .hst-mobile-product-bar{right:10px!important;left:10px!important;width:auto!important;max-width:calc(100vw - 20px)!important}
}

@supports (overflow:clip){html,body,#page,.hst-site{overflow-x:clip!important}}


/* ==========================================================
   Product circular magnifier — version 1.5.4
   ========================================================== */
body.single-product .woocommerce-product-gallery {
	position: relative;
}

.hst-product-magnifier {
	position: absolute;
	z-index: 35;
	width: 150px;
	height: 150px;
	display: none;
	pointer-events: none;
	border: 3px solid rgba(255,255,255,.96);
	border-radius: 50%;
	background-color: #fff;
	background-repeat: no-repeat;
	box-shadow:
		0 10px 35px rgba(8,41,87,.24),
		0 0 0 1px rgba(8,41,87,.15);
	opacity: 0;
	transform: scale(.92);
	transition: opacity .12s ease, transform .12s ease;
}

.hst-product-magnifier.is-visible {
	display: block;
	opacity: 1;
	transform: scale(1);
}

@media (max-width: 820px), (hover: none), (pointer: coarse) {
	.hst-product-magnifier {
		display: none !important;
	}
}

/* Make it clear that clicking the product photo opens the large lightbox. */
body.single-product .woocommerce-product-gallery__image a {
	cursor: zoom-in;
}


/* ==========================================================
   Dual floating mobile CTA — version 1.5.5
   ========================================================== */
.hst-floating-actions {
	display: none;
}

@media (max-width: 820px) {
	/* Retire the legacy single floating button. */
	.hst-floating-consult {
		display: none !important;
	}

	.hst-floating-actions {
		position: fixed;
		z-index: 9995;
		left: 50%;
		bottom: 9px;
		width: min(calc(100% - 22px), 536px);
		min-height: 58px;
		transform: translateX(-50%);
		display: grid;
		grid-template-columns: minmax(0, 1.55fr) minmax(0, .95fr);
		overflow: hidden;
		border: 1px solid rgba(255,255,255,.35);
		border-radius: 19px;
		background: var(--hst-orange);
		box-shadow: 0 10px 30px rgba(8,41,87,.20), 0 8px 24px rgba(255,107,0,.22);
	}

	.hst-floating-actions.is-call-only {
		grid-template-columns: 1fr;
	}

	.hst-floating-action {
		min-width: 0;
		min-height: 58px;
		padding: 9px 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		text-align: center;
		font-size: 13px;
		font-weight: 900;
		line-height: 1.5;
	}

	.hst-floating-action--consult {
		color: #fff !important;
		background: var(--hst-orange);
	}

	.hst-floating-action--call {
		color: #fff !important;
		background: var(--hst-navy);
		border-right: 1px solid rgba(255,255,255,.18);
	}

	.hst-floating-actions.is-call-only .hst-floating-action--call {
		background: var(--hst-orange);
		border-right: 0;
	}

	.hst-floating-action svg {
		flex: 0 0 auto;
		width: 22px;
		height: 22px;
	}

	/* Reserve room so the floating bar never covers final content. */
	body.hst-theme {
		padding-bottom: 74px;
	}
}

@media (max-width: 390px) {
	.hst-floating-actions {
		width: calc(100% - 18px);
	}

	.hst-floating-action {
		padding-inline: 8px;
		font-size: 12px;
		gap: 6px;
	}
}


/* ==========================================================
   Mobile floating actions: two independent buttons — v1.6.0
   ========================================================== */
@media (max-width: 820px) {
	.hst-floating-actions {
		gap: 9px !important;
		overflow: visible !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.hst-floating-action {
		border-radius: 16px !important;
		box-shadow: 0 8px 22px rgba(8,41,87,.16);
	}

	.hst-floating-action--consult {
		border: 1px solid var(--hst-orange) !important;
	}

	.hst-floating-action--call {
		border: 1px solid var(--hst-navy) !important;
	}

	.hst-floating-action--call svg,
	.hst-floating-action--call svg * {
		color: #fff !important;
		stroke: #fff !important;
	}

	.hst-floating-actions.is-call-only {
		width: min(calc(100% - 22px), 536px);
	}

	.hst-floating-actions.is-call-only .hst-floating-action--call {
		color: #fff !important;
		background: var(--hst-orange) !important;
		border-color: var(--hst-orange) !important;
	}
}

/* ==========================================================
   Single product responsive repair — v1.6.0
   ========================================================== */
@media (max-width: 820px) {
	body.hst-single-product-redesign,
	body.hst-single-product-redesign #page,
	body.hst-single-product-redesign .hst-shop-main,
	body.hst-single-product-redesign .woocommerce,
	body.hst-single-product-redesign .woocommerce div.product {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
	}

	body.hst-single-product-redesign .woocommerce div.product {
		padding: 8px 10px 94px !important;
	}

	body.hst-single-product-redesign .woocommerce div.product div.images {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 6px !important;
		margin: 0 0 12px !important;
		overflow: hidden !important;
		border-radius: 14px !important;
	}

	body.hst-single-product-redesign .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}

	body.hst-single-product-redesign .woocommerce-product-gallery__image,
	body.hst-single-product-redesign .woocommerce-product-gallery__image > a {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		overflow: hidden !important;
	}

	body.hst-single-product-redesign .woocommerce-product-gallery__image img {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: min(64vh, 410px) !important;
		object-fit: contain !important;
		object-position: center !important;
		margin: 0 auto !important;
	}

	body.hst-single-product-redesign .woocommerce div.product .flex-control-thumbs {
		width: 100% !important;
		max-width: 100% !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		overflow: hidden !important;
	}

	body.hst-single-product-redesign .woocommerce div.product div.summary {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 2px 2px 0 !important;
		overflow: hidden !important;
	}

	body.hst-single-product-redesign h1.product_title {
		max-width: 100%;
		margin-top: 8px !important;
		font-size: 18px !important;
		line-height: 1.75 !important;
		overflow-wrap: anywhere;
	}

	.hst-product-status-row {
		flex-wrap: wrap;
	}

	body.hst-single-product-redesign .woocommerce div.product p.price,
	body.hst-single-product-redesign .woocommerce div.product span.price {
		font-size: 20px !important;
	}

	.hst-product-feature-cards {
		width: 100%;
		max-width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
	}

	.hst-product-feature-card {
		min-width: 0;
		padding-inline: 6px;
	}

	body.hst-single-product-redesign .woocommerce div.product form.cart {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex-wrap: nowrap;
		gap: 7px;
	}

	body.hst-single-product-redesign .woocommerce div.product form.cart .quantity {
		flex: 0 0 68px;
	}

	body.hst-single-product-redesign .woocommerce .quantity .qty {
		width: 68px !important;
		max-width: 68px;
	}

	body.hst-single-product-redesign .woocommerce div.product form.cart .single_add_to_cart_button {
		min-width: 0;
		padding-inline: 10px !important;
		font-size: 11px !important;
	}

	.hst-product-trust-bar {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs,
	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs .panel {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
	}

	/* No horizontal tab scroller: wrap tabs into a clean two-column grid. */
	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs {
		width: 100% !important;
		max-width: 100% !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 5px !important;
		padding: 6px !important;
		overflow: visible !important;
		border-radius: 12px !important;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs::before,
	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs::after {
		display: none !important;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs li {
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: #f6f8fb !important;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs ul.tabs li a {
		width: 100%;
		min-height: 42px;
		padding: 8px 5px !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 10px !important;
		line-height: 1.45;
		white-space: normal !important;
	}

	body.hst-single-product-redesign .woocommerce div.product .woocommerce-tabs .panel {
		padding: 16px 11px !important;
	}

	/* Product fixed actions: only the buttons, no large white plate behind them. */
	.hst-mobile-product-bar {
		right: 9px !important;
		left: 9px !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: calc(100vw - 18px) !important;
		padding: 0 !important;
		gap: 8px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
	}

	.hst-mobile-product-bar button,
	.hst-mobile-product-bar a {
		min-width: 0;
		border-radius: 12px !important;
		box-shadow: 0 8px 24px rgba(8,41,87,.16);
	}

	.hst-mobile-product-bar a {
		background: #fff !important;
	}
}

/* ==========================================================
   Shop card action buttons — v1.6.0
   ========================================================== */
body.hsep-shop-active ul.products li.product .hsep-details-button {
	display: inline-flex !important;
}

@media (max-width: 820px) {
	body.hsep-shop-active ul.products li.product .hsep-details-button,
	body.hsep-shop-active ul.products li.product .button {
		width: calc(50% - 3px) !important;
		min-height: 40px !important;
		margin-top: 6px !important;
		padding: 6px 4px !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		font-size: 9px !important;
		line-height: 1.45 !important;
		white-space: normal !important;
		text-align: center;
	}

	body.hsep-shop-active ul.products li.product .hsep-details-button {
		margin-left: 3px !important;
		margin-right: 0 !important;
	}

	body.hsep-shop-active ul.products li.product .button {
		margin-right: 3px !important;
		margin-left: 0 !important;
	}
}


/* ==========================================================
   Single product MOBILE hard reset — v1.6.1
   Goal: vertical scrolling only; every element remains inside
   the phone viewport with no left/right clipping.
   ========================================================== */

@media (max-width: 900px) {

	/* Page-level viewport lock */
	html,
	body,
	body.single-product,
	body.single-product #page,
	body.single-product .hst-site,
	body.single-product .hst-shop-main,
	body.single-product .woocommerce,
	body.single-product .woocommerce-page {
		width: 100% !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
		overscroll-behavior-x: none !important;
	}

	body.single-product {
		touch-action: pan-y pinch-zoom;
	}

	/* Every product child uses border-box and is allowed to shrink. */
	body.single-product .woocommerce div.product,
	body.single-product .woocommerce div.product *,
	body.single-product .hst-product-trust-bar *,
	body.single-product .hst-mobile-product-bar * {
		box-sizing: border-box !important;
		min-width: 0;
	}

	/* One clean vertical column, ignoring WooCommerce floats/desktop grid. */
	body.single-product .woocommerce div.product {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 8px 10px 96px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		overflow: hidden !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	body.single-product .woocommerce div.product > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		float: none !important;
		clear: both !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Breadcrumb never expands the viewport. */
	body.single-product .hst-product-breadcrumb {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 8px !important;
		padding: 0 2px !important;
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 4px 6px !important;
		overflow: hidden !important;
		font-size: 8.5px !important;
		line-height: 1.7;
		white-space: normal !important;
	}

	body.single-product .hst-product-breadcrumb a,
	body.single-product .hst-product-breadcrumb span {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	/* ------------------------------------------------------
	   Gallery
	   WooCommerce/FlexSlider behaves more predictably LTR.
	   ------------------------------------------------------ */
	body.single-product .woocommerce div.product div.images,
	body.single-product .woocommerce-product-gallery {
		position: relative !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 0 12px !important;
		padding: 6px !important;
		float: none !important;
		clear: both !important;
		direction: ltr !important;
		overflow: hidden !important;
		border-radius: 13px !important;
	}

	body.single-product .woocommerce-product-gallery .flex-viewport {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		overflow: hidden !important;
	}

	/*
	 * Don't force the FlexSlider track width to 100%;
	 * FlexSlider needs its computed track width for multiple slides.
	 * We only constrain the viewport and the individual slides.
	 */
	body.single-product .woocommerce-product-gallery__wrapper {
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.single-product .woocommerce-product-gallery__image {
		max-width: 100vw !important;
		min-width: 0 !important;
		float: left !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce-product-gallery__image > a {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce-product-gallery__image img {
		display: block !important;
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 390px !important;
		margin: 0 auto !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	body.single-product .woocommerce-product-gallery__trigger {
		top: 12px !important;
		right: 12px !important;
		left: auto !important;
	}

	/* Thumbnails are a wrapped grid, never a horizontal rail. */
	body.single-product .woocommerce div.product .flex-control-thumbs {
		width: 100% !important;
		max-width: 100% !important;
		margin: 7px 0 0 !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 6px !important;
		direction: ltr !important;
		overflow: hidden !important;
		list-style: none !important;
	}

	body.single-product .woocommerce div.product .flex-control-thumbs li {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		float: none !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product .flex-control-thumbs img {
		width: 100% !important;
		height: 64px !important;
		object-fit: contain !important;
	}

	/* ------------------------------------------------------
	   Summary / typography
	   ------------------------------------------------------ */
	body.single-product .woocommerce div.product div.summary {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 3px 2px 0 !important;
		float: none !important;
		clear: both !important;
		direction: rtl !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-status-row {
		width: 100%;
		max-width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		overflow: hidden;
	}

	body.single-product h1.product_title,
	body.single-product .woocommerce-product-details__short-description,
	body.single-product .product_meta,
	body.single-product .woocommerce div.product p.price,
	body.single-product .woocommerce div.product span.price {
		width: 100% !important;
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
		white-space: normal !important;
	}

	body.single-product h1.product_title {
		margin: 8px 0 7px !important;
		font-size: 17px !important;
		line-height: 1.75 !important;
	}

	body.single-product .woocommerce div.product p.price,
	body.single-product .woocommerce div.product span.price {
		margin: 8px 0 10px !important;
		font-size: 20px !important;
		line-height: 1.5 !important;
	}

	body.single-product .woocommerce-product-details__short-description {
		font-size: 10.5px !important;
		line-height: 1.9 !important;
	}

	/* Feature/spec quick cards */
	body.single-product .hst-product-feature-cards {
		width: 100% !important;
		max-width: 100% !important;
		margin: 12px 0 !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-feature-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 72px !important;
		padding: 8px 5px !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-feature-card small,
	body.single-product .hst-product-feature-card strong {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
	}

	/* Quantity and add-to-cart always stay inside the screen. */
	body.single-product .woocommerce div.product form.cart {
		width: 100% !important;
		max-width: 100% !important;
		margin: 8px 0 0 !important;
		padding: 8px !important;
		display: grid !important;
		grid-template-columns: 66px minmax(0, 1fr) !important;
		align-items: stretch !important;
		gap: 7px !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product form.cart .quantity {
		width: 66px !important;
		max-width: 66px !important;
		margin: 0 !important;
		float: none !important;
	}

	body.single-product .woocommerce .quantity .qty {
		width: 66px !important;
		max-width: 66px !important;
		height: 46px !important;
		margin: 0 !important;
	}

	body.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 46px !important;
		margin: 0 !important;
		padding: 7px !important;
		float: none !important;
		font-size: 10.5px !important;
		white-space: normal !important;
	}

	body.single-product .hst-product-consult-redesign {
		width: 100% !important;
		max-width: 100% !important;
		margin: 7px 0 0 !important;
	}

	body.single-product .product_meta {
		margin: 11px 0 0 !important;
	}

	/* ------------------------------------------------------
	   Trust block
	   ------------------------------------------------------ */
	body.single-product .hst-product-trust-bar {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 14px 0 0 !important;
		padding: 5px !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-trust-bar article {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 75px !important;
		padding: 8px 5px !important;
		gap: 6px !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-trust-bar article div {
		min-width: 0 !important;
	}

	body.single-product .hst-product-trust-bar strong,
	body.single-product .hst-product-trust-bar small {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
	}

	/* ------------------------------------------------------
	   Tabs: no horizontal rail at all.
	   ------------------------------------------------------ */
	body.single-product .woocommerce div.product .woocommerce-tabs {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 16px 0 0 !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 5px !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 5px !important;
		overflow: hidden !important;
		white-space: normal !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after {
		display: none !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		float: none !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: #f6f8fb !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 42px !important;
		padding: 7px 4px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		font-size: 9.5px !important;
		line-height: 1.45 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs .panel {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 13px 9px !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-spec-box,
	body.single-product .hst-product-spec-rows,
	body.single-product .hst-product-spec-row,
	body.single-product .hst-product-faq,
	body.single-product .hst-product-faq details {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.single-product .hst-product-spec-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 3px !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-spec-row strong,
	body.single-product .hst-product-spec-row span,
	body.single-product .hst-product-spec-box__header h2,
	body.single-product .hst-product-spec-box__header p,
	body.single-product .hst-product-faq summary,
	body.single-product .hst-product-faq p {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
	}

	/* Fixed bottom product actions are independent of content width. */
	body.single-product .hst-mobile-product-bar {
		position: fixed !important;
		z-index: 9999 !important;
		right: 9px !important;
		left: 9px !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: calc(100vw - 18px) !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1.65fr) minmax(0, .75fr) !important;
		gap: 8px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		overflow: visible !important;
	}

	body.single-product .hst-mobile-product-bar button,
	body.single-product .hst-mobile-product-bar a {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 47px !important;
		margin: 0 !important;
		padding: 7px 6px !important;
		border-radius: 12px !important;
		white-space: normal !important;
		text-align: center !important;
		font-size: 10px !important;
		line-height: 1.4 !important;
	}
}

@media (max-width: 430px) {
	body.single-product .woocommerce div.product {
		padding-right: 8px !important;
		padding-left: 8px !important;
	}

	body.single-product .woocommerce-product-gallery__image img {
		max-height: 350px !important;
	}

	body.single-product .hst-product-feature-cards,
	body.single-product .hst-product-trust-bar {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* ==========================================================
   Single product — definitive mobile layout v1.7.0
   ========================================================== */

.hst-mobile-gallery,
.hst-mobile-gallery-lightbox {
	display: none;
}

@media (max-width: 900px) {

	/* ---------- viewport / main container ---------- */
	html {
		overflow-x: hidden !important;
	}

	body.single-product {
		width: 100% !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;
		touch-action: pan-y pinch-zoom !important;
	}

	body.single-product #page,
	body.single-product .hst-site,
	body.single-product .hst-shop-main,
	body.single-product .hst-shop-main > .hst-container,
	body.single-product .woocommerce,
	body.single-product .woocommerce-page {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		overflow-x: hidden !important;
	}

	body.single-product .hst-shop-main {
		padding: 8px 0 100px !important;
		background: #f7f9fc !important;
	}

	body.single-product .hst-shop-main > .hst-container {
		padding: 0 10px !important;
	}

	body.single-product .woocommerce div.product {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 auto !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		overflow: visible !important;
		direction: rtl !important;
	}

	body.single-product .woocommerce div.product > * {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	/* ---------- breadcrumb ---------- */
	body.single-product .hst-product-breadcrumb {
		width: 100% !important;
		margin: 0 !important;
		padding: 4px 2px 7px !important;
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 3px 6px !important;
		color: #7b879a !important;
		font-size: 8px !important;
		line-height: 1.7 !important;
		text-align: center !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-breadcrumb a,
	body.single-product .hst-product-breadcrumb span {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
	}

	/* ---------- replace WooCommerce mobile gallery ---------- */
	body.single-product .woocommerce div.product > .woocommerce-product-gallery,
	body.single-product .woocommerce div.product > div.images {
		display: none !important;
	}

	body.single-product .hst-mobile-gallery {
		order: 1;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 8px !important;
		display: block !important;
		border: 1px solid var(--hst-line);
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 7px 24px rgba(8,41,87,.06);
		overflow: hidden !important;
	}

	.hst-mobile-gallery__stage {
		position: relative;
		width: 100% !important;
		height: clamp(270px, 72vw, 390px) !important;
		margin: 0 !important;
		padding: 10px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
		border-radius: 12px !important;
		background: #fff !important;
		overflow: hidden !important;
		cursor: zoom-in;
	}

	.hst-mobile-gallery__stage img {
		display: block !important;
		width: auto !important;
		max-width: 94% !important;
		height: auto !important;
		max-height: 100% !important;
		margin: auto !important;
		object-fit: contain !important;
		object-position: center !important;
	}

	.hst-mobile-gallery__zoom {
		position: absolute;
		top: 8px;
		left: 8px;
		width: 34px;
		height: 34px;
		display: grid;
		place-items: center;
		border: 1px solid var(--hst-line);
		border-radius: 50%;
		color: var(--hst-navy);
		background: rgba(255,255,255,.94);
		box-shadow: 0 4px 13px rgba(8,41,87,.08);
	}

	.hst-mobile-gallery__zoom svg {
		width: 17px;
		height: 17px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
	}

	.hst-mobile-gallery__thumbs {
		width: 100%;
		margin-top: 8px;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		direction: ltr;
	}

	.hst-mobile-gallery__thumb {
		width: 100%;
		aspect-ratio: 1 / 1;
		padding: 3px;
		display: grid;
		place-items: center;
		overflow: hidden;
		border: 1px solid var(--hst-line);
		border-radius: 9px;
		background: #fff;
	}

	.hst-mobile-gallery__thumb.is-active {
		border: 2px solid var(--hst-orange);
	}

	.hst-mobile-gallery__thumb img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	/* ---------- product summary ---------- */
	body.single-product .woocommerce div.product div.summary {
		order: 2;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 13px 12px !important;
		float: none !important;
		border: 1px solid var(--hst-line);
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 7px 24px rgba(8,41,87,.05);
		text-align: center !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-status-row {
		width: 100%;
		margin: 0 0 9px !important;
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 6px !important;
	}

	body.single-product h1.product_title {
		width: 100% !important;
		max-width: 100% !important;
		margin: 4px auto 8px !important;
		padding: 0 !important;
		color: var(--hst-navy);
		font-size: clamp(16px, 4.7vw, 20px) !important;
		font-weight: 900 !important;
		line-height: 1.75 !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	body.single-product .woocommerce-product-rating {
		width: max-content;
		max-width: 100%;
		margin: 5px auto !important;
	}

	body.single-product .woocommerce div.product p.price,
	body.single-product .woocommerce div.product span.price {
		width: 100% !important;
		max-width: 100% !important;
		margin: 7px auto 9px !important;
		display: block !important;
		color: var(--hst-orange) !important;
		font-size: clamp(20px, 6vw, 25px) !important;
		font-weight: 900 !important;
		line-height: 1.5 !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	body.single-product .woocommerce-product-details__short-description {
		width: 100% !important;
		max-width: 100% !important;
		margin: 9px 0 !important;
		padding: 9px 10px !important;
		border: 0 !important;
		border-radius: 10px;
		background: #f8fafc !important;
		color: var(--hst-muted);
		font-size: 10px !important;
		line-height: 1.9 !important;
		text-align: center !important;
		overflow-wrap: anywhere !important;
	}

	/* ---------- quick specs exactly 2 x 2 ---------- */
	body.single-product .hst-product-feature-cards {
		width: 100% !important;
		max-width: 100% !important;
		margin: 12px 0 10px !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-feature-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 76px !important;
		padding: 8px 6px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 5px !important;
		border: 1px solid var(--hst-line);
		border-radius: 11px;
		background: #fbfcfe;
		text-align: center !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-feature-icon {
		width: 27px !important;
		height: 27px !important;
		flex: 0 0 27px !important;
	}

	body.single-product .hst-product-feature-card div {
		width: 100%;
		min-width: 0;
	}

	body.single-product .hst-product-feature-card small,
	body.single-product .hst-product-feature-card strong {
		width: 100%;
		max-width: 100%;
		display: block;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	/* ---------- cart ---------- */
	body.single-product .woocommerce div.product form.cart {
		width: 100% !important;
		max-width: 100% !important;
		margin: 10px 0 7px !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: 64px minmax(0, 1fr) !important;
		gap: 7px !important;
		align-items: stretch !important;
		background: transparent !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product form.cart .quantity {
		width: 64px !important;
		max-width: 64px !important;
		margin: 0 !important;
		float: none !important;
	}

	body.single-product .woocommerce .quantity .qty {
		width: 64px !important;
		max-width: 64px !important;
		height: 46px !important;
		margin: 0 !important;
		padding: 4px !important;
		text-align: center !important;
	}

	body.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 7px 8px !important;
		float: none !important;
		border-radius: 10px !important;
		font-size: 11px !important;
		line-height: 1.45 !important;
		white-space: normal !important;
	}

	body.single-product .hst-product-consult-redesign {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 44px !important;
		margin: 7px 0 0 !important;
		padding: 7px 10px !important;
		border-radius: 10px !important;
	}

	body.single-product .product_meta {
		width: 100% !important;
		max-width: 100% !important;
		margin: 10px 0 0 !important;
		padding-top: 9px !important;
		text-align: center !important;
		font-size: 9px !important;
		line-height: 1.8 !important;
		overflow-wrap: anywhere !important;
	}

	/* ---------- four trust items = 2 x 2 ---------- */
	body.single-product .hst-product-trust-bar {
		order: 3;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 7px !important;
		border: 0 !important;
		background: transparent !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-trust-bar article {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 90px !important;
		margin: 0 !important;
		padding: 9px 6px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		border: 1px solid var(--hst-line) !important;
		border-radius: 12px !important;
		background: #fff !important;
		text-align: center !important;
		overflow: hidden !important;
	}

	body.single-product .hst-product-trust-icon {
		width: 34px !important;
		height: 34px !important;
		flex: 0 0 34px !important;
	}

	body.single-product .hst-product-trust-bar article div {
		width: 100%;
		min-width: 0 !important;
	}

	body.single-product .hst-product-trust-bar strong,
	body.single-product .hst-product-trust-bar small {
		width: 100%;
		max-width: 100%;
		display: block;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	body.single-product .hst-product-trust-bar strong {
		font-size: 10px !important;
		line-height: 1.6 !important;
	}

	body.single-product .hst-product-trust-bar small {
		font-size: 8px !important;
		line-height: 1.55 !important;
	}

	/* ---------- tabs ---------- */
	body.single-product .woocommerce div.product .woocommerce-tabs {
		order: 4;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 7px !important;
		padding: 5px !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 5px !important;
		border: 1px solid var(--hst-line) !important;
		border-radius: 12px !important;
		background: #fff !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after {
		display: none !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		border: 0 !important;
		border-radius: 8px !important;
		background: #f6f8fb !important;
		overflow: hidden !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
		background: var(--hst-navy) !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
		width: 100% !important;
		min-height: 42px !important;
		padding: 7px 5px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		color: var(--hst-navy) !important;
		font-size: 9.5px !important;
		font-weight: 900 !important;
		line-height: 1.45 !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		border: 0 !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
		color: #fff !important;
		border: 0 !important;
	}

	body.single-product .woocommerce div.product .woocommerce-tabs .panel {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 12px 10px !important;
		border: 1px solid var(--hst-line);
		border-radius: 12px !important;
		background: #fff;
		overflow: hidden !important;
	}

	body.single-product .hst-product-spec-box,
	body.single-product .hst-product-spec-rows,
	body.single-product .hst-product-spec-row,
	body.single-product .hst-product-faq,
	body.single-product .hst-product-faq details {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.single-product .hst-product-spec-row {
		padding: 10px 3px !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 3px !important;
		text-align: right !important;
	}

	body.single-product .hst-product-spec-row strong,
	body.single-product .hst-product-spec-row span,
	body.single-product .hst-product-spec-box__header h2,
	body.single-product .hst-product-spec-box__header p,
	body.single-product .hst-product-faq summary,
	body.single-product .hst-product-faq p,
	body.single-product .woocommerce div.product .woocommerce-tabs .panel p,
	body.single-product .woocommerce div.product .woocommerce-tabs .panel li {
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	/* ---------- fixed action bar ---------- */
	body.single-product .hst-mobile-product-bar {
		position: fixed !important;
		z-index: 9998 !important;
		right: 9px !important;
		left: 9px !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: calc(100vw - 18px) !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1.55fr) minmax(0, .75fr) !important;
		gap: 8px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		overflow: visible !important;
	}

	body.single-product .hst-mobile-product-bar button,
	body.single-product .hst-mobile-product-bar a {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 48px !important;
		margin: 0 !important;
		padding: 7px 7px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border-radius: 12px !important;
		font-size: 10.5px !important;
		font-weight: 900 !important;
		line-height: 1.4 !important;
		text-align: center !important;
		white-space: normal !important;
		box-shadow: 0 7px 20px rgba(8,41,87,.16);
	}

	body.single-product .hst-mobile-product-bar button {
		color: #fff !important;
		background: var(--hst-orange) !important;
	}

	body.single-product .hst-mobile-product-bar a {
		color: var(--hst-navy) !important;
		background: #fff !important;
		border: 1px solid var(--hst-navy) !important;
	}

	/* ---------- mobile lightbox ---------- */
	.hst-mobile-gallery-lightbox {
		position: fixed;
		z-index: 10050;
		inset: 0;
		padding: 52px 16px 24px;
		display: none;
		align-items: center;
		justify-content: center;
		background: rgba(3,20,43,.92);
	}

	.hst-mobile-gallery-lightbox.is-open {
		display: flex !important;
	}

	.hst-mobile-gallery-lightbox img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 86vh;
		object-fit: contain;
		border-radius: 10px;
		background: #fff;
	}

	.hst-mobile-gallery-lightbox__close {
		position: absolute;
		top: 14px;
		left: 14px;
		width: 40px;
		height: 40px;
		display: grid;
		place-items: center;
		border: 1px solid rgba(255,255,255,.25);
		border-radius: 50%;
		color: #fff;
		background: rgba(255,255,255,.1);
		font-size: 27px;
		line-height: 1;
	}

	body.hst-gallery-open {
		overflow: hidden !important;
	}
}

@media (max-width: 430px) {
	body.single-product .hst-shop-main > .hst-container {
		padding-right: 8px !important;
		padding-left: 8px !important;
	}

	.hst-mobile-gallery__stage {
		height: clamp(245px, 78vw, 335px) !important;
	}

	body.single-product .woocommerce div.product div.summary {
		padding: 12px 9px !important;
	}

	body.single-product .hst-product-trust-bar article {
		min-height: 86px !important;
	}
}


/* ==========================================================
   HST v1.8.0 — independent mobile single product page
   ========================================================== */

.hst-mobile-product-page {
	display: none;
}

@media (max-width: 900px) {

	/* The source of previous layout bugs: hide the full desktop Woo product. */
	body.single-product .woocommerce > div.product,
	body.single-product .woocommerce-page > div.product {
		display: none !important;
	}

	/* The existing Woo breadcrumb is desktop-only now. */
	body.single-product .hst-product-breadcrumb {
		display: none !important;
	}

	html,
	body.single-product {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: clip !important;
		overscroll-behavior-x: none !important;
	}

	body.single-product {
		touch-action: pan-y pinch-zoom !important;
		background: #f5f7fb !important;
	}

	body.single-product .hst-shop-main {
		width: 100% !important;
		max-width: 100% !important;
		padding: 10px 0 104px !important;
		overflow-x: clip !important;
	}

	body.single-product .hst-shop-main > .hst-container {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 0 10px !important;
		overflow: visible !important;
	}

	.hst-mobile-product-page {
		width: 100%;
		max-width: 560px;
		min-width: 0;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		gap: 10px;
		direction: rtl;
	}

	.hst-mobile-product-page *,
	.hst-mobile-product-page *::before,
	.hst-mobile-product-page *::after {
		box-sizing: border-box;
		min-width: 0;
	}

	/* ---------- gallery ---------- */
	.hst-mobile-product-page > .hst-mobile-gallery {
		order: 1;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 8px !important;
		display: block !important;
		border: 1px solid #e2e8f1 !important;
		border-radius: 15px !important;
		background: #fff !important;
		box-shadow: 0 6px 20px rgba(8,41,87,.05) !important;
		overflow: hidden !important;
	}

	.hst-mobile-product-page .hst-mobile-gallery__stage {
		width: 100% !important;
		height: clamp(245px, 73vw, 365px) !important;
		padding: 12px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
		border-radius: 12px !important;
		background: #fff !important;
		overflow: hidden !important;
	}

	.hst-mobile-product-page .hst-mobile-gallery__stage img {
		width: auto !important;
		max-width: 90% !important;
		height: auto !important;
		max-height: 100% !important;
		margin: auto !important;
		display: block !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	.hst-mobile-product-page .hst-mobile-gallery__thumbs {
		width: 100% !important;
		margin: 8px 0 0 !important;
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 6px !important;
		overflow: hidden !important;
	}

	/* ---------- summary card ---------- */
	.hst-mp-card {
		width: 100%;
		max-width: 100%;
		padding: 13px 11px;
		border: 1px solid #e2e8f1;
		border-radius: 15px;
		background: #fff;
		box-shadow: 0 6px 20px rgba(8,41,87,.045);
		overflow: hidden;
	}

	.hst-mp-summary {
		order: 2;
		text-align: center;
	}

	.hst-mp-badges {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 6px;
	}

	.hst-mp-stock,
	.hst-mp-category {
		padding: 6px 9px;
		border-radius: 8px;
		font-size: 9px;
		font-weight: 900;
		line-height: 1.2;
	}

	.hst-mp-stock.is-stock {
		color: #168444;
		background: #edf9f1;
	}

	.hst-mp-stock.is-out {
		color: #b93636;
		background: #fff0f0;
	}

	.hst-mp-category {
		color: var(--hst-navy);
		background: #eef4fb;
	}

	.hst-mp-title {
		width: 100%;
		max-width: 100%;
		margin: 12px 0 5px;
		padding: 0 3px;
		color: var(--hst-navy);
		font-size: clamp(17px, 4.8vw, 21px);
		font-weight: 900;
		line-height: 1.75;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.hst-mp-price {
		width: 100%;
		max-width: 100%;
		margin: 5px 0 8px;
		color: var(--hst-orange);
		font-size: clamp(21px, 6.3vw, 27px);
		font-weight: 900;
		line-height: 1.5;
		text-align: center;
		overflow-wrap: anywhere;
	}

	.hst-mp-price del {
		margin-left: 5px;
		color: #94a0af;
		font-size: .7em;
		font-weight: 600;
	}

	.hst-mp-price ins {
		text-decoration: none;
	}

	.hst-mp-short {
		width: 100%;
		margin: 7px 0 10px;
		padding: 9px 10px;
		border-radius: 10px;
		color: #647186;
		background: #f8fafc;
		font-size: 10px;
		line-height: 1.95;
		text-align: center;
	}

	.hst-mp-short p {
		margin: 0;
	}

	/* ---------- quick specs exactly 2 x 2 ---------- */
	.hst-mp-spec-grid {
		width: 100%;
		margin: 10px 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.hst-mp-spec-card {
		width: 100%;
		min-height: 82px;
		padding: 8px 5px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		border: 1px solid #e3e8f0;
		border-radius: 11px;
		background: #fbfcfe;
		overflow: hidden;
	}

	.hst-mp-spec-number {
		width: 27px;
		height: 27px;
		display: grid;
		place-items: center;
		border-radius: 8px;
		color: var(--hst-orange);
		background: #fff1e7;
		font-size: 10px;
		font-weight: 900;
	}

	.hst-mp-spec-card small,
	.hst-mp-spec-card strong {
		width: 100%;
		max-width: 100%;
		display: block;
		line-height: 1.55;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.hst-mp-spec-card small {
		color: #7a8799;
		font-size: 8px;
	}

	.hst-mp-spec-card strong {
		color: var(--hst-navy);
		font-size: 10px;
	}

	.hst-mp-stock-line {
		width: 100%;
		margin: 8px 0;
		font-size: 10px;
		font-weight: 800;
		text-align: center;
	}

	.hst-mp-stock-line.is-stock {
		color: #899000;
	}

	.hst-mp-stock-line.is-out {
		color: #b93636;
	}

	/* ---------- add to cart ---------- */
	.hst-mp-cart,
	.hst-mp-cart form.cart {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.hst-mp-cart form.cart {
		display: grid !important;
		grid-template-columns: 64px minmax(0, 1fr) !important;
		gap: 7px !important;
		align-items: stretch !important;
	}

	.hst-mp-cart form.cart .quantity {
		width: 64px !important;
		margin: 0 !important;
		float: none !important;
	}

	.hst-mp-cart form.cart .qty {
		width: 64px !important;
		max-width: 64px !important;
		height: 47px !important;
		margin: 0 !important;
		padding: 4px !important;
		border: 1px solid #d9e0e9 !important;
		border-radius: 10px !important;
		text-align: center !important;
	}

	.hst-mp-cart form.cart .single_add_to_cart_button {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 47px !important;
		margin: 0 !important;
		padding: 7px 8px !important;
		float: none !important;
		border: 0 !important;
		border-radius: 10px !important;
		color: #fff !important;
		background: var(--hst-orange) !important;
		font-size: 11px !important;
		font-weight: 900 !important;
		line-height: 1.45 !important;
		white-space: normal !important;
	}

	/* Variable/grouped product safety */
	.hst-mp-cart table.variations,
	.hst-mp-cart .woocommerce-variation-add-to-cart,
	.hst-mp-cart .group_table {
		width: 100% !important;
		max-width: 100% !important;
	}

	.hst-mp-cart table.variations {
		grid-column: 1 / -1;
	}

	.hst-mp-cart table.variations tr,
	.hst-mp-cart table.variations th,
	.hst-mp-cart table.variations td {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
	}

	.hst-mp-cart table.variations select {
		width: 100% !important;
		max-width: 100% !important;
	}

	.hst-mp-consult {
		width: 100%;
		min-height: 45px;
		margin-top: 7px;
		padding: 8px 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 7px;
		border: 1px solid var(--hst-navy);
		border-radius: 10px;
		color: var(--hst-navy) !important;
		background: #fff;
		font-size: 10.5px;
		font-weight: 900;
	}

	.hst-mp-consult svg {
		width: 18px;
		height: 18px;
	}

	.hst-mp-meta {
		width: 100%;
		margin-top: 9px;
		padding-top: 9px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 4px;
		border-top: 1px solid #edf0f4;
		color: #7a8799;
		font-size: 9px;
	}

	.hst-mp-meta strong {
		color: var(--hst-navy);
	}

	/* ---------- 4 trust cards, exactly 2 per row ---------- */
	.hst-mp-trust {
		order: 3;
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.hst-mp-trust article {
		width: 100%;
		min-height: 105px;
		padding: 10px 6px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		border: 1px solid #e2e8f1;
		border-radius: 12px;
		background: #fff;
		text-align: center;
		overflow: hidden;
	}

	.hst-mp-trust-icon {
		width: 34px;
		height: 34px;
		display: grid;
		place-items: center;
		color: var(--hst-navy);
	}

	.hst-mp-trust-icon svg {
		width: 31px;
		height: 31px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.8;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.hst-mp-trust article strong,
	.hst-mp-trust article small {
		width: 100%;
		max-width: 100%;
		display: block;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.hst-mp-trust article strong {
		color: var(--hst-navy);
		font-size: 10px;
		line-height: 1.55;
	}

	.hst-mp-trust article small {
		color: #7a8799;
		font-size: 8px;
		line-height: 1.55;
	}

	/* ---------- clean 2 x 2 tabs ---------- */
	.hst-mp-tabs {
		order: 4;
		width: 100%;
		padding: 7px;
		border: 1px solid #e2e8f1;
		border-radius: 14px;
		background: #fff;
		overflow: hidden;
	}

	.hst-mp-tab-buttons {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 5px;
	}

	.hst-mp-tab-buttons button {
		width: 100%;
		min-height: 43px;
		padding: 7px 5px;
		border: 0;
		border-radius: 8px;
		color: var(--hst-navy);
		background: #f4f7fb;
		font-family: inherit;
		font-size: 9.5px;
		font-weight: 900;
		line-height: 1.45;
		text-align: center;
		white-space: normal;
		cursor: pointer;
	}

	.hst-mp-tab-buttons button.is-active {
		color: #fff;
		background: var(--hst-navy);
	}

	.hst-mp-tab-panel {
		width: 100%;
		margin-top: 7px;
		padding: 10px 8px;
		border-radius: 10px;
		background: #fff;
		overflow: hidden;
	}

	.hst-mp-tab-panel[hidden] {
		display: none !important;
	}

	.hst-mp-tab-panel p,
	.hst-mp-tab-panel li,
	.hst-mp-tab-panel h2,
	.hst-mp-tab-panel h3,
	.hst-mp-tab-panel strong,
	.hst-mp-tab-panel span {
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.hst-mp-tab-panel .hst-product-spec-box {
		width: 100%;
		max-width: 100%;
		margin: 0;
		border: 0;
		box-shadow: none;
	}

	.hst-mp-tab-panel .hst-product-spec-box__header {
		padding: 8px 3px 12px;
	}

	.hst-mp-tab-panel .hst-product-spec-row {
		width: 100%;
		padding: 10px 3px;
		display: grid;
		grid-template-columns: 1fr;
		gap: 3px;
	}

	.hst-mp-tab-panel .hst-product-faq details {
		width: 100%;
		max-width: 100%;
	}

	/* ---------- fixed mobile action bar stays inside viewport ---------- */
	body.single-product .hst-mobile-product-bar {
		right: 9px !important;
		left: 9px !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		max-width: calc(100vw - 18px) !important;
		grid-template-columns: minmax(0, 1.65fr) minmax(0, .75fr) !important;
		gap: 8px !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.single-product .hst-mobile-product-bar button,
	body.single-product .hst-mobile-product-bar a {
		min-height: 48px !important;
		padding: 7px 6px !important;
		border-radius: 12px !important;
		font-size: 10.5px !important;
		line-height: 1.4 !important;
	}

	/* No related/upsell layouts can expand the page. */
	body.single-product .related,
	body.single-product .upsells {
		display: none !important;
	}
}

@media (max-width: 390px) {
	body.single-product .hst-shop-main > .hst-container {
		padding-right: 7px !important;
		padding-left: 7px !important;
	}

	.hst-mobile-product-page {
		gap: 8px;
	}

	.hst-mp-card {
		padding-right: 9px;
		padding-left: 9px;
	}

	.hst-mp-title {
		font-size: 16px;
	}

	.hst-mp-trust article {
		min-height: 100px;
	}
}


/* Cart / Checkout / Direct-call refinements — v1.9.1 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
body.woocommerce-checkout .wc-block-checkout__contact-fields { display:none !important; }
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout .form-row#billing_email_field { display:none !important; }
.hst-floating-action--call svg,
.hst-floating-action--call svg *,
.hst-floating-action--call path,
.hst-floating-action--call circle,
.hst-floating-action--call line,
.hst-floating-action--call polyline {
  color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}
body.woocommerce-cart .hst-floating-actions,
body.woocommerce-checkout .hst-floating-actions { display:none !important; }


/* ==========================================================
   Reference brand/logo + shop hero sizing — v1.9.2
   ========================================================== */

/* Keep the supplied master logo proportional in header/footer/login contexts. */
.hst-brand-fallback {
	max-width: 100%;
}

.hst-brand-fallback img,
.hst-brand img,
.hst-footer-brand img,
.hst-account-login__brand img {
	height: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}

/*
 * New shop-hero source is 1536×1024 (3:2).
 * The art box keeps the old desktop footprint (~330×220) while shrinking
 * naturally inside the tablet grid. Existing mobile breakpoint still hides
 * this decorative artwork, so mobile hierarchy/layout remains unchanged.
 */
.hst-page-hero__art,
.hst-shop-hero__art {
	width: min(100%, 330px);
	max-width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	justify-self: center;
	overflow: hidden;
}

.hst-page-hero__art img,
.hst-shop-hero__art img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}

@media (max-width: 1080px) and (min-width: 821px) {
	.hst-page-hero__art,
	.hst-shop-hero__art {
		width: min(100%, 300px);
	}
}


/* Footer address rows — v1.9.3 */
.hst-footer-address{
	align-items:flex-start;
	line-height:1.8;
}
.hst-footer-address svg{
	flex:0 0 21px;
	margin-top:1px;
}
.hst-footer-address span{
	max-width:320px;
	overflow-wrap:anywhere;
}
@media(max-width:820px){
	.hst-footer-address{
		justify-content:center;
	}
	.hst-footer-address span{
		max-width:min(420px,88vw);
		text-align:center;
	}
}


/* ==========================================================
   Mobile shop direct-call only — v1.9.4
   ========================================================== */
@media (max-width: 820px) {
	body.woocommerce-shop .hst-floating-actions.is-shop-call-only {
		width: min(calc(100% - 22px), 330px) !important;
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-shop .hst-floating-actions.is-shop-call-only .hst-floating-action--consult {
		display: none !important;
	}

	body.woocommerce-shop .hst-floating-actions.is-shop-call-only .hst-floating-action--call {
		width: 100% !important;
		color: #fff !important;
		background: var(--hst-navy) !important;
		border: 1px solid var(--hst-navy) !important;
		border-radius: 16px !important;
	}

	body.woocommerce-shop .hst-floating-actions.is-shop-call-only .hst-floating-action--call svg,
	body.woocommerce-shop .hst-floating-actions.is-shop-call-only .hst-floating-action--call svg * {
		fill: #fff !important;
		stroke: #fff !important;
		color: #fff !important;
	}
}


/* ==========================================================
   Professional mobile off-canvas navigation — v1.9.5
   ========================================================== */
@media (max-width: 820px) {
	.hst-header-inner {
		position: relative;
		z-index: 5;
	}

	.hst-mobile-panel {
		position: fixed !important;
		z-index: 4;
		top: 66px;
		right: 0;
		bottom: 0;
		left: auto;
		width: min(86vw, 360px);
		max-width: min(86vw, 360px) !important;
		height: calc(100dvh - 66px);
		padding: 15px 16px max(22px, env(safe-area-inset-bottom));
		display: block !important;
		overflow-x: hidden !important;
		overflow-y: auto;
		border-top: 1px solid rgba(255,255,255,.10);
		border-left: 1px solid rgba(255,255,255,.08);
		border-radius: 0 0 0 18px;
		background:
			linear-gradient(180deg, rgba(255,255,255,.025), transparent 120px),
			var(--hst-navy);
		box-shadow: -20px 0 42px rgba(3,19,42,.26);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(104%, 0, 0);
		transition:
			transform .3s cubic-bezier(.22,.72,.22,1),
			opacity .22s ease,
			visibility 0s linear .3s;
		will-change: transform, opacity;
	}

	.hst-mobile-panel[hidden] {
		display: none !important;
	}

	.hst-mobile-panel:not([hidden]) {
		display: block !important;
	}

	.hst-mobile-panel.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		transition:
			transform .3s cubic-bezier(.22,.72,.22,1),
			opacity .22s ease,
			visibility 0s;
	}

	.hst-mobile-menu-backdrop {
		position: fixed;
		z-index: 3;
		inset: 66px 0 0;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		display: block;
		border: 0;
		background: rgba(3,17,36,.46);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
		transition:
			opacity .25s ease,
			visibility 0s linear .3s;
		cursor: default;
	}

	.hst-mobile-menu-backdrop[hidden] {
		display: none !important;
	}

	.hst-mobile-menu-backdrop.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition:
			opacity .25s ease,
			visibility 0s;
	}

	body.hst-menu-is-open {
		overflow: hidden !important;
		touch-action: none !important;
	}

	body.hst-menu-is-open .hst-site-header {
		overflow: visible !important;
	}

	/* Small sequential motion makes the drawer feel deliberate, not abrupt. */
	.hst-mobile-panel .hst-mobile-menu > li,
	.hst-mobile-panel .hst-menu > li,
	.hst-mobile-panel__actions {
		opacity: 0;
		transform: translate3d(14px, 0, 0);
		transition:
			transform .3s cubic-bezier(.22,.72,.22,1),
			opacity .24s ease;
	}

	.hst-mobile-panel.is-open .hst-mobile-menu > li,
	.hst-mobile-panel.is-open .hst-menu > li,
	.hst-mobile-panel.is-open .hst-mobile-panel__actions {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	.hst-mobile-panel.is-open .hst-mobile-menu > li:nth-child(1),
	.hst-mobile-panel.is-open .hst-menu > li:nth-child(1) { transition-delay: .06s; }
	.hst-mobile-panel.is-open .hst-mobile-menu > li:nth-child(2),
	.hst-mobile-panel.is-open .hst-menu > li:nth-child(2) { transition-delay: .085s; }
	.hst-mobile-panel.is-open .hst-mobile-menu > li:nth-child(3),
	.hst-mobile-panel.is-open .hst-menu > li:nth-child(3) { transition-delay: .11s; }
	.hst-mobile-panel.is-open .hst-mobile-menu > li:nth-child(4),
	.hst-mobile-panel.is-open .hst-menu > li:nth-child(4) { transition-delay: .135s; }
	.hst-mobile-panel.is-open .hst-mobile-menu > li:nth-child(5),
	.hst-mobile-panel.is-open .hst-menu > li:nth-child(5) { transition-delay: .16s; }
	.hst-mobile-panel.is-open .hst-mobile-menu > li:nth-child(6),
	.hst-mobile-panel.is-open .hst-menu > li:nth-child(6) { transition-delay: .185s; }

	.hst-mobile-panel.is-open .hst-mobile-panel__actions {
		transition-delay: .21s;
	}

	.hst-menu-toggle .hst-menu-open,
	.hst-menu-toggle .hst-menu-close {
		transition: transform .2s ease, opacity .18s ease;
	}

	.hst-menu-toggle[aria-expanded="true"] .hst-menu-close {
		animation: hstMenuCloseIn .24s ease both;
	}

	@keyframes hstMenuCloseIn {
		from { opacity: 0; transform: rotate(-45deg) scale(.8); }
		to { opacity: 1; transform: rotate(0) scale(1); }
	}
}

@media (max-width: 390px) {
	.hst-mobile-panel {
		width: min(88vw, 340px);
		max-width: min(88vw, 340px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hst-mobile-panel,
	.hst-mobile-menu-backdrop,
	.hst-mobile-panel .hst-mobile-menu > li,
	.hst-mobile-panel .hst-menu > li,
	.hst-mobile-panel__actions,
	.hst-menu-toggle .hst-menu-open,
	.hst-menu-toggle .hst-menu-close {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		transition-delay: 0s !important;
	}
}


/* ==========================================================
   Mobile drawer action buttons refinement — v1.9.6
   Two professional side-by-side navy buttons with white stroke.
   ========================================================== */
@media (max-width: 820px) {
	.hst-mobile-panel__actions {
		padding-top: 14px !important;
		margin-top: 16px !important;
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px !important;
		align-items: stretch !important;
		border-top: 1px solid rgba(255,255,255,.12);
	}

	.hst-mobile-panel__actions > a,
	.hst-mobile-panel__actions .hst-mobile-panel-btn {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-height: 46px;
		padding: 10px 12px;
		border: 1.6px solid rgba(255,255,255,.96);
		border-radius: 14px;
		background: rgba(255,255,255,.04);
		color: #fff !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.35;
		text-align: center;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
		transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
	}

	.hst-mobile-panel__actions > a:hover,
	.hst-mobile-panel__actions > a:focus-visible {
		background: rgba(255,255,255,.08);
		color: #fff !important;
		transform: translateY(-1px);
		box-shadow: 0 8px 18px rgba(0,0,0,.14);
	}
}

@media (max-width: 390px) {
	.hst-mobile-panel__actions {
		gap: 8px !important;
	}

	.hst-mobile-panel__actions > a,
	.hst-mobile-panel__actions .hst-mobile-panel-btn {
		min-height: 44px;
		padding-inline: 10px;
		font-size: 12px !important;
	}
}


/* ==========================================================
   Unified solid-white header icon family — v1.9.7
   ========================================================== */
.hst-site-header .hst-social-links a,
.hst-site-header .hst-icon-link,
.hst-site-header .hst-mobile-whatsapp {
	color: #fff !important;
}

.hst-site-header .hst-social-links svg,
.hst-site-header .hst-icon-link svg,
.hst-site-header .hst-mobile-whatsapp svg {
	width: 22px !important;
	height: 22px !important;
	fill: currentColor !important;
	stroke: none !important;
	stroke-width: 0 !important;
	overflow: visible;
}

.hst-site-header .hst-social-links svg *,
.hst-site-header .hst-icon-link svg *,
.hst-site-header .hst-mobile-whatsapp svg * {
	fill: currentColor !important;
	stroke: none !important;
}

.hst-site-header .hst-social-links a:hover,
.hst-site-header .hst-icon-link:hover,
.hst-site-header .hst-mobile-whatsapp:hover,
.hst-site-header .hst-cart-link.has-items,
.hst-site-header .hst-cart-link.has-items:hover {
	color: #fff !important;
}

.hst-site-header .hst-social-links a,
.hst-site-header .hst-icon-link,
.hst-site-header .hst-mobile-whatsapp {
	transition: opacity .18s ease, transform .18s ease;
}

.hst-site-header .hst-social-links a:hover,
.hst-site-header .hst-icon-link:hover,
.hst-site-header .hst-mobile-whatsapp:hover {
	opacity: .82;
	transform: translateY(-1px);
}

@media (max-width: 820px) {
	.hst-site-header .hst-mobile-whatsapp svg,
	.hst-site-header .hst-mobile-cart .hst-cart-link svg {
		width: 23px !important;
		height: 23px !important;
	}
}


/* WhatsApp icon final normalization — v1.10.0 */
.hst-icon--whatsapp {
	display: block;
	width: 22px !important;
	height: 22px !important;
	fill: currentColor !important;
	stroke: none !important;
	overflow: visible;
}
.hst-icon--whatsapp path {
	fill: currentColor !important;
	stroke: none !important;
}
.hst-site-header .hst-icon--whatsapp { color: #fff !important; }


/* WhatsApp header hover color — v1.10.1 */
.hst-site-header .hst-social-links a:hover .hst-icon--whatsapp,
.hst-site-header .hst-social-links a:focus-visible .hst-icon--whatsapp,
.hst-site-header .hst-mobile-whatsapp:hover .hst-icon--whatsapp,
.hst-site-header .hst-mobile-whatsapp:focus-visible .hst-icon--whatsapp,
.hst-site-header .hst-mobile-whatsapp:active .hst-icon--whatsapp {
	color: var(--hst-orange) !important;
}
