/* Global responsive layout hardening — shrink-safe primitives and Woo normalization */

/* -------------------------------------------------------------------------- */
/* Shell / container contracts                                                */
/* -------------------------------------------------------------------------- */

.faradoran-main,
.adonis-main,
.faradoran-main > *,
.adonis-main > * {
	min-inline-size: 0;
}

.faradoran-container,
.adonis-container,
.faradoran-container--narrow,
.adonis-container--narrow,
.faradoran-container--wide,
.adonis-container--wide {
	max-inline-size: 100%;
}

/* -------------------------------------------------------------------------- */
/* Reusable layout primitives                                                 */
/* -------------------------------------------------------------------------- */

.faradoran-grid > *,
.adonis-grid > *,
.faradoran-stack > *,
.adonis-stack > * {
	min-inline-size: 0;
}

.faradoran-form-grid,
.adonis-form-grid {
	display: grid;
	gap: var(--faradoran-theme-space-4);
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 48rem) {
	.faradoran-form-grid--2,
	.adonis-form-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.faradoran-scroll-table,
.adonis-scroll-table {
	display: block;
	inline-size: 100%;
	max-inline-size: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.faradoran-scroll-table > table,
.adonis-scroll-table > table {
	inline-size: 100%;
	min-inline-size: 0;
}

/* -------------------------------------------------------------------------- */
/* Media / long text                                                          */
/* -------------------------------------------------------------------------- */

.faradoran-main img,
.adonis-main img,
.faradoran-main video,
.adonis-main video,
.faradoran-main iframe,
.adonis-main iframe {
	max-inline-size: 100%;
	block-size: auto;
}

.faradoran-main :where(h1, h2, h3, h4, h5, h6, p, a, li, span, label, .price),
.adonis-main :where(h1, h2, h3, h4, h5, h6, p, a, li, span, label, .price) {
	overflow-wrap: anywhere;
}

/*
 * Compact text-entry floor: iOS/Chrome zoom when focused inputs compute below 16px.
 * Scoped to the storefront shell so admin/third-party UI is untouched.
 */
@media (max-width: 63.99rem) {
	.faradoran-site :is(
		.faradoran-main,
		.faradoran-mobile-product-search,
		.faradoran-mobile-account-drawer,
		.faradoran-mobile-panel,
		.faradoran-archive-sheet
	) :is(
		input[type="text"],
		input[type="search"],
		input[type="email"],
		input[type="password"],
		input[type="tel"],
		input[type="url"],
		input[type="number"],
		textarea,
		select
	),
	.adonis-site :is(
		.adonis-main,
		.adonis-mobile-product-search,
		.adonis-mobile-account-drawer,
		.adonis-mobile-panel,
		.adonis-archive-sheet
	) :is(
		input[type="text"],
		input[type="search"],
		input[type="email"],
		input[type="password"],
		input[type="tel"],
		input[type="url"],
		input[type="number"],
		textarea,
		select
	) {
		font-size: max(1rem, var(--faradoran-theme-form-font-size-mobile));
	}
}

/* -------------------------------------------------------------------------- */
/* WooCommerce legacy layout normalization (scoped)                           */
/* -------------------------------------------------------------------------- */

.woocommerce .faradoran-main--woocommerce :is(.col2-set, .u-columns),
.woocommerce .adonis-main--woocommerce :is(.col2-set, .u-columns) {
	display: grid;
	gap: var(--faradoran-theme-space-6);
	grid-template-columns: minmax(0, 1fr);
	float: none;
	inline-size: 100%;
}

.woocommerce .faradoran-main--woocommerce :is(.col2-set .col-1, .col2-set .col-2, .u-column1, .u-column2),
.woocommerce .adonis-main--woocommerce :is(.col2-set .col-1, .col2-set .col-2, .u-column1, .u-column2) {
	float: none;
	clear: none;
	inline-size: 100%;
	width: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
}

.woocommerce .faradoran-main--woocommerce :is(.form-row-first, .form-row-last, .form-row-wide),
.woocommerce .adonis-main--woocommerce :is(.form-row-first, .form-row-last, .form-row-wide) {
	float: none;
	clear: none;
	inline-size: 100%;
	width: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
}

.woocommerce .faradoran-main--woocommerce :is(input, select, textarea),
.woocommerce .adonis-main--woocommerce :is(input, select, textarea) {
	max-inline-size: 100%;
}

.woocommerce .faradoran-main--woocommerce table.shop_table,
.woocommerce .adonis-main--woocommerce table.shop_table {
	inline-size: 100%;
	max-inline-size: 100%;
}

@media (min-width: 48rem) {
	.woocommerce-checkout .faradoran-main--woocommerce .col2-set,
	.woocommerce-checkout .adonis-main--woocommerce .col2-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* -------------------------------------------------------------------------- */
/* Content / blog cards                                                       */
/* -------------------------------------------------------------------------- */

.faradoran-post-grid > *,
.adonis-post-grid > *,
.faradoran-post-card,
.adonis-post-card {
	min-inline-size: 0;
}

.faradoran-prose,
.adonis-prose {
	overflow-wrap: anywhere;
}

.faradoran-prose pre,
.adonis-prose pre {
	max-inline-size: 100%;
	overflow-x: auto;
}

/* -------------------------------------------------------------------------- */
/* Homepage rails — contain intentional horizontal scroll locally               */
/* -------------------------------------------------------------------------- */

.faradoran-home-products__track,
.adonis-home-products__track,
.faradoran-rail__track,
.adonis-rail__track {
	max-inline-size: 100%;
}

.faradoran-home-products__loop ul.products li.product.faradoran-home-product,
.adonis-home-products__loop ul.products li.product.faradoran-home-product {
	min-inline-size: 0;
	max-inline-size: 100%;
}

/* -------------------------------------------------------------------------- */
/* Mobile full-screen surfaces — never widen the page                         */
/* -------------------------------------------------------------------------- */

@media (max-width: 63.99rem) {
	:is(
		.faradoran-mobile-product-search,
		.adonis-mobile-product-search,
		.faradoran-mobile-cart-drawer,
		.adonis-mobile-cart-drawer,
		.faradoran-mobile-account-drawer,
		.adonis-mobile-account-drawer,
		.faradoran-mobile-panel,
		.adonis-mobile-panel
	) {
		inset-inline: 0;
		inline-size: auto;
		max-inline-size: 100%;
		min-inline-size: 0;
		box-sizing: border-box;
	}
}
