/*
 * _usluga-responsive.css - responsive overrides for service pages.
 *
 * Split by ADR-023 file-per-section guard.
 */

/* ─── Mobile (≤1024px) — hero stack, calc 1-col ─── */
@media (max-width: 1024px) {
	.mh__usluga-crumbs { font-size: var(--text-mono-2xs); letter-spacing: 0.14em; }
	.mh__usluga-hero { grid-template-columns: 1fr; height: auto; min-height: auto; }
	.mh__usluga-hero-l { padding: 40px 24px; }
	.mh__usluga-hero-r { min-height: 280px; border-left: none; border-top: 1px solid var(--line); }
	.mh__subs-grid {
		display: flex;
		grid-template-columns: none;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 12px;
		padding: 0 24px 8px;
		margin: 0 -24px;
		scroll-padding-inline: 24px;
		scrollbar-width: none;
	}
	.mh__subs-grid::-webkit-scrollbar { display: none; }
	.mh__subs-grid > .mh__sub-card {
		flex: 0 0 min(380px, 78vw);
		scroll-snap-align: start;
	}
	.mh__poly-picker { min-height: auto; }
	.mh__poly-picker-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		grid-template-rows: repeat(2, minmax(150px, auto));
	}
	.uc-calc__shell { grid-template-columns: 1fr; }
	.uc-calc__result { position: static; }
	.mh__layout-grid { grid-template-columns: 1fr; }
	.uc-calc__sizes-grid { grid-template-columns: repeat(2, 1fr); }
	.uc-calc__opts-grid { grid-template-columns: repeat(2, 1fr); }
	.mh__prose-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 640px) {
	.mh__usluga-crumbs { flex-wrap: wrap; gap: 6px; font-size: var(--text-mono-3xs); }
	.mh__usluga-hero-l { padding: 32px 16px; gap: 16px; }
	.mh__usluga-hero-l .mh__h1 { font-size: clamp(32px, 8vw, 48px); }
	.mh__poly-picker-head { padding: 18px 16px 16px; }
	.mh__poly-picker { overflow: hidden; }
	.mh__poly-picker-grid {
		display: flex;
		grid-template-columns: none;
		grid-template-rows: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	.mh__poly-pick {
		flex: 0 0 168px;
		min-height: 152px;
		padding: 12px;
		border-right: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
		scroll-snap-align: start;
	}
	.mh__poly-pick:nth-child(5n),
	.mh__poly-pick:nth-child(2n) { border-right: 1px solid var(--line); }
	.mh__poly-pick:nth-last-child(-n + 5),
	.mh__poly-pick:nth-last-child(-n + 2) { border-bottom: 1px solid var(--line); }
	.mh__poly-pick:last-child { border-right: 0; }
	.mh__poly-pick-art { min-height: 86px; }
	.mh__subs-grid {
		padding: 0 16px 8px;
		margin: 0 -16px;
		scroll-padding-inline: 16px;
	}
	.mh__subs-grid > .mh__sub-card { flex-basis: 84vw; }
	.mh__sub-card-media {
		min-height: 270px;
		padding: 12px 18px 10px;
	}
	.mh__sub-card-media img { height: 244px; }
	.mh__sub-card-body { padding: 18px 18px 0; }
	.mh__sub-card-foot { margin: 18px; }
	.uc-calc__block { padding: 16px; }
	.uc-calc__result-value { font-size: var(--text-h2-md); }
	.mh__layout-checklist,
	.mh__layout-pdf { padding: 20px; }
	.mh__layout-pdf {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.mh__layout-pdf-preview { width: 100%; max-width: 280px; }
	.mh__layout-pdf-arrow { display: none; }
	.mh__layout-pdf-title { font-size: var(--text-body); }
	.mh__layout-pdf-features { gap: 10px 18px; font-size: var(--text-mono-2xs); }
	.uc-calc__sizes-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
	.uc-calc__tile { padding: 10px 12px; }
	.uc-calc__tile-label { font-size: var(--text-body-sm); }
	.uc-calc__mats-grid,
	.uc-calc__opts-grid { grid-template-columns: 1fr; }
	.uc-calc__block-hint { font-size: var(--text-mono-3xs); }

	/* ── Mobile accordion: блоки сворачиваются. ── */
	.uc-calc__block { transition: padding 200ms ease; }
	.uc-calc__block-head {
		cursor: pointer;
		user-select: none;
		flex-wrap: wrap;
	}
	.uc-calc__block-head::after {
		content: "↓";
		margin-left: auto;
		font-family: var(--font-mono);
		font-size: var(--text-body-sm);
		color: var(--fg-mute);
		transition: transform 240ms ease;
	}
	.uc-calc__block[data-collapsed="false"] .uc-calc__block-head::after {
		transform: rotate(180deg);
		color: var(--accent);
	}
	.uc-calc__block[data-collapsed="true"] {
		padding: 14px 16px;
	}
	.uc-calc__block[data-collapsed="true"] .uc-calc__block-head {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	.uc-calc__block[data-collapsed="true"] > :not(.uc-calc__block-head) {
		display: none;
	}
	/* Preview выбранного значения в head — компактно справа от тайтла */
	.uc-calc__block-preview {
		display: inline-block;
		margin-left: 8px;
		font-size: var(--text-eyebrow);
		color: var(--accent);
		letter-spacing: 0.04em;
		max-width: 140px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* ── Sticky bottom result bar на mobile (компактная горизонтальная плашка) ── */
	.uc-calc__shell { padding-bottom: 88px; }
	.uc-calc__result {
		position: fixed;
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		display: grid;
		grid-template-columns: 1fr auto;
		column-gap: 12px;
		row-gap: 0;
		padding: 10px 14px;
		border-top: 1px solid var(--ink);
		box-shadow: 0 -4px 16px rgba(var(--rgb-graphite-900),0.25);
		align-items: center;
	}
	.uc-calc__result-label {
		grid-column: 1;
		font-size: var(--text-mono-3xs);
		line-height: 1.2;
	}
	.uc-calc__result-value {
		grid-column: 1;
		font-size: var(--text-price);
		line-height: 1.1;
	}
	.uc-calc__result.is-on-request .uc-calc__result-value {
		font-size: var(--text-h3-sm);
	}
	.uc-calc__result-hint {
		grid-column: 1;
		font-size: var(--text-mono-3xs);
		line-height: 1.3;
		min-height: 0;
	}
	.uc-calc__cta {
		grid-column: 2;
		grid-row: 1 / -1;
		align-self: center;
		padding: 12px 16px !important;
		font-size: var(--text-mono-sm) !important;
		white-space: nowrap;
		width: auto !important;
	}
	.uc-calc__layout-link { display: none; } /* на mobile в sticky панели не помещается */

	/* Spec-инфобар на mobile — stack по вертикали для 3+ ячеек */
	.mh__usluga-hero-stats { grid-auto-flow: row; grid-auto-columns: unset; }
	.mh__usluga-hero-stat {
		flex-direction: row;
		justify-content: space-between;
		align-items: baseline;
		padding: 12px 0;
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.mh__usluga-hero-stat:last-child { border-bottom: none; }
	.mh__usluga-hero-stat-value { font-size: var(--text-h3-sm); }
