/*
 * Nahang Shell 0.4.1 — RTL order, real typography bindings and responsive fixes.
 * This layer is intentionally isolated so 0.4.0 remains a clean rollback.
 */

html {
	max-width: 100%;
	overflow-x: clip;
}

	body {
	max-width: 100%;
	font-family: var(--font-ui);
	font-size: var(--base-font-size, 16px);
	line-height: var(--base-line-height, 1.8);
	font-weight: var(--body-font-weight, 450);
	overflow-x: clip;
}

html[dir="rtl"] body {
	direction: rtl;
	text-align: right;
}

html[dir="ltr"] body {
	direction: ltr;
	text-align: left;
}

.hero h1,
.chapter-heading h2,
.chapter-copy h2,
.digital__head h2,
.footer-cta h2,
.commerce-intro h1,
.woocommerce div.product .product_title,
.entry-header h1,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
	font-family: var(--font-ui);
	font-weight: var(--heading-font-weight, 800);
	line-height: var(--heading-line-height, 1.18);
	letter-spacing: var(--heading-letter-spacing, -0.045em);
}

/* Preserve the order defined by WordPress; RTL places the first item at right. */
.site-nav__list,
.site-nav__list .sub-menu,
.footer-grid ul,
.footer-bottom .menu {
	direction: inherit;
}

html[dir="rtl"] .site-nav__list {
	flex-direction: row;
	text-align: right;
}

html[dir="rtl"] .site-nav__list .sub-menu {
	right: 0;
	left: auto;
}

html[dir="ltr"] .site-nav__list .sub-menu {
	right: auto;
	left: 0;
}

/* A honeypot must be visually hidden, not moved thousands of pixels away. */
.honeypot {
	position: absolute !important;
	inset: auto !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Footer columns collapse naturally when an empty managed column is omitted. */
.footer-grid {
	grid-template-columns: minmax(260px, 1.35fr) repeat(auto-fit, minmax(160px, .7fr));
}

.footer-grid > div {
	min-width: 0;
}

.footer-bottom > .menu {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
}

/* WooCommerce uses its hooks; these rules only normalize layout and contrast. */
.woocommerce ul.products,
.woocommerce-page ul.products {
	width: 100%;
	margin-inline: 0;
	grid-template-columns: repeat(var(--shop-columns-desktop, 3), minmax(0, 1fr));
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	min-width: 0;
	width: 100% !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	display: block;
}

.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	min-height: 190px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-ui);
	font-weight: 750;
}

.woocommerce ul.products li.product .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 7px;
	min-height: 32px;
}

body[data-theme="dark"] .woocommerce ul.products li.product .woocommerce-loop-product__title,
body[data-theme="dark"] .woocommerce ul.products li.product a:not(.button) {
	color: var(--managed-dark-text);
}

.woocommerce ul.products li.product .button {
	display: inline-flex;
	width: 100%;
	margin-top: 14px;
}

@media (max-width: 1180px) {
	html[dir="rtl"] .site-nav.is-open .site-nav__list,
	html[dir="rtl"] .site-nav.is-open .sub-menu {
		direction: rtl;
		text-align: right;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(var(--shop-columns-tablet, 2), minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.site-header__inner {
		direction: inherit;
	}

	.site-header__actions {
		margin-right: 0;
		margin-left: 0;
		margin-inline-start: auto;
	}

	.woocommerce .woocommerce-result-count,
	.woocommerce .woocommerce-ordering {
		float: none;
		width: 100%;
		margin: 0 0 14px;
	}

	.woocommerce .woocommerce-ordering select {
		width: 100%;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(var(--shop-columns-mobile, 1), minmax(0, 1fr));
		gap: 16px;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		padding: 14px 14px 18px;
		border-radius: 20px;
	}

	.woocommerce ul.products li.product a img {
		min-height: 220px;
		aspect-ratio: 4 / 3;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 17px;
		line-height: 1.75;
	}

	.site-footer {
		padding-bottom: calc(154px + env(safe-area-inset-bottom));
	}

	.nahang-dock-disabled .site-footer {
		padding-bottom: 44px;
	}

	.deep-dock {
		direction: inherit;
		bottom: calc(12px + env(safe-area-inset-bottom));
	}

	.nahang-dock-docked .deep-dock {
		bottom: 0;
	}
}

@media (max-width: 520px) {
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-brand,
	.footer-grid > div:last-child {
		grid-column: auto;
	}

	.commerce-intro {
		padding: 22px 18px;
	}

	.commerce-intro h1 {
		font-size: clamp(34px, 10vw, 46px);
	}
}

@supports not (overflow: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}
