/**
 * Global mobile layout — prevent squeeze, improve readability.
 * P0 2026-09-11: Yandex Webmaster NOT_MOBILE_FRIENDLY — readable text ≥12px,
 * no document-level horizontal scroll at 320px+, modal fits viewport.
 */

@media (max-width: 980px) {
	html,
	body {
		overflow-x: clip;
		max-width: 100%;
	}

	.domfk-home-container {
		width: 100%;
		max-width: 1200px;
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}

	/* Lead forms: one column, never exceed the padded container. */
	[class$="__fields"] {
		grid-template-columns: 1fr !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	[class$="__form"],
	[class$="__field"],
	[class$="__submit"],
	[class$="__consent"],
	[class$="__lead-inner"],
	[class$="__lead"] {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	.domfk-phone-field,
	.domfk-phone-field--box {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.domfk-napr [class*="__section-title"],
	.domfk-napr [class*="__title"]:not([class*="__card-title"]):not([class*="__program-title"]):not([class*="__trainer-name"]) {
		overflow-wrap: anywhere;
	}

	/* Grids: never keep fixed 311px columns on narrow screens */
	.domfk-cycle__program-grid,
	.domfk-pilates__program-grid,
	.domfk-bassejn__program-grid,
	.domfk-kids__program-grid,
	.domfk-grupp__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		justify-content: stretch !important;
		justify-items: stretch !important;
		gap: 12px !important;
	}

	.domfk-services__mosaic {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
	}

	.domfk-cards__grid,
	.domfk-trainers__grid {
		grid-template-columns: 1fr !important;
	}

	/*
	 * Yandex: text must be comfortably readable on ≥320px.
	 * Overlay cards / tags were 9–11px (clamp floors 9–11px).
	 */
	.domfk-cycle__program-text,
	.domfk-pilates__program-text,
	.domfk-bassejn__program-text,
	.domfk-kids__program-text,
	.domfk-grupp__card-text,
	.domfk-trainers__tags,
	.domfk-cards__tab,
	.domfk-personal-page__trainer-tags span,
	.domfk-edin__trainer-tags span,
	.domfk-bassejn__trainer-tags span,
	.domfk-bassejn__program-time,
	.domfk-cycle__program-time,
	.domfk-pilates__program-time,
	.domfk-kids__program-time,
	.domfk-grupp__card-time {
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	/* Closed lead-modal was width:min(100%,380px) → 371px on a 320px screen. */
	.domfk-modal {
		padding: 16px;
		box-sizing: border-box;
		overflow: hidden;
	}

	.domfk-modal__dialog {
		width: min(380px, calc(100vw - 32px)) !important;
		max-width: calc(100vw - 32px) !important;
		box-sizing: border-box;
	}

	.domfk-modal__close {
		width: 44px;
		height: 44px;
	}

	/* Category chip rows: wrap instead of page-level horizontal scroll. */
	.domfk-grupp__nav,
	.domfk-pilates__nav,
	.domfk-kids__nav,
	.domfk-cycle__nav,
	.domfk-bassejn__nav,
	.domfk-machugi__nav,
	.domfk-edin__nav,
	.domfk-personal-page__nav {
		max-width: 100%;
		overflow-x: auto;
		box-sizing: border-box;
	}

	.domfk-grupp__nav-list,
	.domfk-pilates__nav-list,
	.domfk-kids__nav-list,
	.domfk-cycle__nav-list,
	.domfk-bassejn__nav-list,
	.domfk-machugi__nav-list,
	.domfk-edin__nav-list,
	.domfk-personal-page__nav-list {
		flex-wrap: wrap !important;
		max-width: 100%;
		box-sizing: border-box;
		justify-content: flex-start;
	}

	/* Third-party schedule widget ("Today" was 9px) if not iframed. */
	.dis-dt2,
	.days-week_rz,
	.days-week_rz li,
	.days-week_rz a {
		font-size: 12px !important;
	}

	/* Legal pages: underscore separator lines / long tokens must not widen body. */
	.domfk-legal__content {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.domfk-legal__content img,
	.domfk-legal__content table {
		max-width: 100%;
		height: auto;
	}

	.domfk-legal__content table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 560px) {
	.domfk-home-container {
		width: 100%;
		max-width: 1200px;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	.domfk-cards__tab {
		font-size: 12px !important;
	}
}
