/* Correções móveis limitadas ao carrinho, checkout e área do cliente. */
@media ( max-width: 781px ) {
	body.esl-storefront-ui,
	body.esl-storefront-ui *,
	body.esl-storefront-ui *::before,
	body.esl-storefront-ui *::after {
		box-sizing: border-box;
	}

	body.esl-storefront-ui :where(
		.wp-site-blocks,
		.wp-block-post-content,
		main,
		.woocommerce,
		.wc-block-cart,
		.wc-block-checkout,
		.esl-account-gate,
		.esl-customer-library
	) {
		min-width: 0;
		max-width: 100%;
	}

	body.esl-storefront-ui :where(img, video) {
		max-width: 100%;
		height: auto;
	}

	/* O cabeçalho Hostinger deve dividir o espaço disponível sem criar uma coluna mínima larga. */
	body.esl-storefront-ui .hostinger-ai-menu-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		column-gap: 0.5rem !important;
	}

	body.esl-storefront-ui .wp-block-site-title {
		min-width: 0 !important;
		max-width: 100% !important;
		font-size: clamp(0.875rem, 4vw, 1rem) !important;
		line-height: 1.2 !important;
	}

	body.esl-storefront-ui .wp-block-site-title a {
		display: block;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	body.esl-storefront-ui .hostinger-ai-site-navigation-wrapper {
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		gap: 0.375rem !important;
		justify-self: end !important;
	}

	body.esl-storefront-ui .hostinger-ai-site-navigation-wrapper :where(a, button) {
		min-width: 44px;
		min-height: 44px;
	}

	/* O padrão original usa uma linha sem quebra e ampliava uma tela de 305 px para 638 px. */
	body.esl-storefront-ui footer.wp-block-template-part .wc-blocks-footer-pattern {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		gap: 1rem !important;
		padding: 1.5rem 1.25rem !important;
	}

	body.esl-storefront-ui footer.wp-block-template-part .wc-blocks-footer-pattern > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-inline: 0 !important;
		flex: 0 1 auto !important;
	}

	body.esl-storefront-ui footer.wp-block-template-part .wc-blocks-footer-pattern > .wp-block-group.is-content-justification-space-between {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		gap: 1rem !important;
	}

	body.esl-storefront-ui footer.wp-block-template-part .wc-blocks-footer-pattern > :where(.wp-block-separator, .wp-block-paragraph) {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-wrap: anywhere;
	}

	/* O padding passa a fazer parte da largura declarada do rodapé comercial. */
	body.esl-storefront-ui .esl-merchant-policy-footer {
		width: calc(100% - 28px) !important;
		max-width: min(1100px, calc(100% - 28px)) !important;
		min-width: 0 !important;
		overflow-wrap: anywhere;
	}

	/* Limites seguros para os layouts clássico e em blocos do WooCommerce. */
	body.esl-storefront-ui :where(
		.wc-block-components-sidebar-layout,
		.wc-block-components-main,
		.wc-block-components-sidebar,
		.wc-block-cart__main,
		.wc-block-cart__sidebar,
		.wc-block-checkout__main,
		.wc-block-checkout__sidebar,
		.woocommerce-cart-form,
		.cart-collaterals,
		.woocommerce-checkout,
		.woocommerce-checkout-review-order
	) {
		min-width: 0 !important;
		max-width: 100% !important;
	}

	body.esl-storefront-ui :where(
		input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
		select,
		textarea
	) {
		max-width: 100%;
	}

	body.esl-storefront-ui :where(
		button,
		.button,
		input[type="button"],
		input[type="submit"],
		input[type="reset"]
	) {
		min-height: 44px;
		max-width: 100%;
		white-space: normal;
	}

	body.esl-storefront-ui :where(a, button, input, select, textarea):focus-visible {
		outline: 3px solid #1f5f52 !important;
		outline-offset: 2px !important;
	}

	body.esl-storefront-account .woocommerce-MyAccount-navigation,
	body.esl-storefront-account .woocommerce-MyAccount-content,
	body.esl-storefront-ui .woocommerce .col2-set .col-1,
	body.esl-storefront-ui .woocommerce .col2-set .col-2 {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.esl-storefront-account .woocommerce-MyAccount-navigation {
		margin-bottom: 1.5rem;
	}

	body.esl-storefront-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
		margin: 0;
		padding: 0;
	}

	body.esl-storefront-account .woocommerce-MyAccount-navigation li {
		min-width: 0;
		flex: 1 1 11rem;
	}

	body.esl-storefront-account .woocommerce-MyAccount-navigation a {
		display: flex;
		min-height: 44px;
		align-items: center;
		padding: 0.625rem 0.75rem;
	}

	body.esl-storefront-ui .esl-account-gate {
		width: 100%;
		margin: 1rem 0;
		padding: 1rem;
	}

	/* O drawer fechado não pode continuar ocupando uma segunda largura fora da tela. */
	body.esl-storefront-ui .wc-block-mini-cart__drawer[aria-hidden="true"] {
		display: none !important;
	}

	body.esl-storefront-ui .wc-block-mini-cart__drawer:not([aria-hidden="true"]) {
		max-width: 100vw !important;
	}
}

@media ( max-width: 420px ) {
	body.esl-storefront-ui .esl-customer-library__books {
		grid-template-columns: minmax(0, 1fr);
	}

	body.esl-storefront-ui .esl-customer-library__files {
		align-items: stretch;
		flex-direction: column;
	}

	body.esl-storefront-ui .esl-customer-library__files .button {
		width: 100%;
		text-align: center;
	}
}
