/**
 * Sitewide mobile layout — cursor-all-pages-mobile.md (v3.8.0)
 * Loaded after style.css; maps doc selectors to real BEM classes.
 */

@media (max-width: 768px) {
	/* ---- Global typography (375px scale) ---- */
	.insole-page .insole-b2b-page-head h1,
	.insole-about__hero h1,
	.insole-resources__hero h1,
	.single-insole_product .pdp-info h1 {
		font-size: 16px !important;
		line-height: 1.25 !important;
		font-weight: 700 !important;
	}

	.insole-page h2,
	.insole-about__section h2,
	.insole-home__section-header h2,
	.insole-page__section h2 {
		font-size: 14px !important;
		font-weight: 600 !important;
	}

	.insole-page h3,
	.insole-about__culture-card h3,
	.insole-page__oem-pillar-body h3,
	.insole-b2b-value-grid h3 {
		font-size: 12px !important;
		font-weight: 600 !important;
	}

	.insole-page p,
	.insole-about__section p,
	.insole-page__section p {
		font-size: 11px !important;
		line-height: 1.5 !important;
	}

	.insole-home__eyebrow {
		font-size: 9px !important;
	}

	.insole-page__btn,
	.insole-about__cta-btn,
	.insole-home__btn {
		font-size: 11px !important;
		font-weight: 600 !important;
		min-height: 44px !important;
	}

	/* ---- 1. Homepage ---- */
	body.home .insole-home__hero--bleed {
		min-height: 280px !important;
		max-height: 360px !important;
		padding: 20px 16px !important;
	}

	body.home .insole-home__hero-title,
	body.home .insole-home__hero h1 {
		font-size: 18px !important;
		margin-bottom: 6px !important;
	}

	body.home .insole-home__hero-lead {
		font-size: 11px !important;
		margin-bottom: 10px !important;
	}

	body.home .insole-home__hero-actions {
		gap: 6px !important;
	}

	body.home .insole-home__hero-actions a,
	body.home .insole-home__hero-actions button {
		font-size: 11px !important;
		padding: 8px 12px !important;
	}

	body.home .insole-home__metrics {
		padding: 8px 10px !important;
	}

	body.home .insole-home__metrics-row {
		gap: 6px 4px !important;
	}

	body.home .insole-home__metric strong,
	body.home .insole-home__metric .insole-home__metric-num {
		font-size: 14px !important;
	}

	body.home .insole-home__intro,
	body.home .insole-home__lines,
	body.home .insole-home__partner,
	body.home .insole-home__story,
	body.home .insole-home__close,
	body.home .insole-home__oem,
	body.home .insole-home__section {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	body.home .insole-home__lines .insole-home__section-header h2,
	body.home .insole-home__partner h2,
	body.home .insole-home__story h2,
	body.home .insole-home__close h2,
	body.home .insole-home__intro h2,
	body.home .insole-home__oem h2 {
		font-size: 14px !important;
		margin-bottom: 8px !important;
	}

	body.home .insole-home__partner p,
	body.home .insole-home__story p,
	body.home .insole-home__close p,
	body.home .insole-home__oem p {
		font-size: 11px !important;
	}

	body.home .insole-home__tiles {
		gap: 8px !important;
		padding: 0 !important;
	}

	body.home .insole-home__tile-media img,
	body.home .insole-home__tile .insole-b2b-product-card__media img {
		max-height: 110px !important;
		object-fit: contain !important;
	}

	/* ---- 2. Products catalog (refinements) ---- */
	body.page-template-page-products .insole-b2b-page-head {
		padding: 12px 10px 6px !important;
		text-align: center;
	}

	body.page-template-page-products .insole-b2b-page-head h1 {
		font-size: 16px !important;
		margin-bottom: 4px !important;
	}

	body.page-template-page-products .insole-b2b-page-head p {
		font-size: 11px !important;
		line-height: 1.45 !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		display: -webkit-box;
		overflow: hidden;
		margin-bottom: 0 !important;
	}

	body.page-template-page-products .insole-b2b-product-grid--catalog {
		gap: 8px !important;
		padding: 8px 10px !important;
	}

	body.page-template-page-products .insole-b2b-product-card--catalog {
		padding: 6px !important;
	}

	body.page-template-page-products .insole-b2b-product-card__media,
	body.page-template-page-products .insole-b2b-product-card__media img,
	body.page-template-page-products .insole-b2b-product-card__media .insole-b2b-media-slot__placeholder {
		height: 110px !important;
		min-height: 110px !important;
		max-height: 110px !important;
	}

	.insole-b2b-product-card__media,
	.insole-b2b-product-card__media img,
	.insole-b2b-product-card__media .insole-b2b-media-slot__placeholder {
		height: 110px !important;
		min-height: 110px !important;
		max-height: 110px !important;
	}

	.insole-home__tiles {
		gap: 8px !important;
	}

	/* ---- 3. Product detail (PDP) ---- */
	.pdp-breadcrumb {
		font-size: 10px !important;
		flex-wrap: wrap !important;
		gap: 2px !important;
		padding: 8px 10px !important;
	}

	.pdp-breadcrumb a {
		font-size: 10px !important;
	}

	.pdp-hero {
		padding: 12px 10px !important;
	}

	.pdp-img-wrap img,
	.pdp-main-img {
		max-height: 250px !important;
		border-radius: 8px !important;
	}

	.pdp-subtitle {
		font-size: 10px !important;
		margin-bottom: 6px !important;
	}

	.pdp-desc {
		font-size: 11px !important;
		line-height: 1.5 !important;
	}

	.pdp-badge {
		font-size: 9px !important;
		padding: 2px 6px !important;
		border-radius: 4px !important;
	}

	.pdp-cta-group {
		flex-direction: column !important;
		gap: 6px !important;
	}

	.pdp-cta-group a,
	.pdp-cta-group button,
	.pdp-wa-btn {
		width: 100% !important;
		flex: none !important;
		font-size: 12px !important;
		padding: 10px 14px !important;
		min-height: 44px !important;
		border-radius: 8px !important;
	}

	.pdp-table,
	.pdp-mf table,
	.single-insole_product table {
		font-size: 11px !important;
	}

	.pdp-table th,
	.pdp-table td,
	.pdp-mf th,
	.pdp-mf td {
		padding: 6px 8px !important;
		font-size: 11px !important;
		word-break: break-word !important;
	}

	.pdp-table th {
		width: 35% !important;
		color: #666 !important;
	}

	.pdp-mf__function,
	.pdp-hl-text {
		font-size: 11px !important;
		line-height: 1.5 !important;
	}

	/* ---- 4. About ---- */
	.insole-about__hero {
		padding: 16px 10px 8px !important;
		text-align: center;
	}

	.insole-about__hero h1 {
		font-size: 16px !important;
		line-height: 1.3 !important;
	}

	.insole-about__hero-sub,
	.insole-about__hero-lead {
		font-size: 11px !important;
		line-height: 1.5 !important;
	}

	.insole-about__stats-bar {
		padding: 12px 10px !important;
	}

	.insole-about__stats-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}

	.insole-about__stat strong {
		font-size: 14px !important;
	}

	.insole-about__stat span {
		font-size: 9px !important;
	}

	.insole-about__section {
		padding: 12px 10px !important;
	}

	.insole-about__culture-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}

	.insole-about__culture-card {
		padding: 8px !important;
		text-align: center !important;
	}

	.insole-about__culture-card h3 {
		font-size: 12px !important;
		margin-bottom: 4px !important;
	}

	.insole-about__culture-card p {
		font-size: 10px !important;
		line-height: 1.4 !important;
	}

	.insole-about__section img,
	.insole-about__office-figure img {
		max-width: 100% !important;
		height: auto !important;
		border-radius: 8px !important;
	}

	.insole-b2b-value-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}

	.insole-b2b-value-grid > * {
		padding: 8px !important;
		text-align: center !important;
	}

	.insole-about__cta-btn {
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		font-size: 12px !important;
		margin: 12px 0 !important;
	}

	/* ---- 5. Contact ---- */
	body.page-template-page-contact .insole-b2b-page-head {
		padding: 16px 10px 8px !important;
		text-align: center;
	}

	.insole-page__contact-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
		padding: 12px 10px !important;
	}

	.insole-page__contact-info h2 {
		font-size: 14px !important;
		margin-bottom: 8px !important;
	}

	.insole-page__contact-details li,
	.insole-page__contact-details a {
		font-size: 11px !important;
		line-height: 1.6 !important;
	}

	.insole-page__card {
		padding: 12px 10px !important;
	}

	.insole-page__card h3 {
		font-size: 12px !important;
	}

	.insole-page__card p {
		font-size: 11px !important;
	}

	.insole-page__btn--block {
		width: 100% !important;
		min-height: 44px !important;
		font-size: 12px !important;
		border-radius: 8px !important;
		margin-bottom: 8px !important;
	}

	/* ---- 6. OEM ---- */
	body.page-template-page-oem .insole-b2b-page-head,
	body.page-template-page-oem .insole-page__section:first-child .insole-b2b-page-head {
		padding: 16px 10px 8px !important;
		text-align: center;
	}

	.insole-page__oem-pillars-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		padding: 12px 10px !important;
	}

	.insole-page__oem-pillar-card {
		padding: 8px !important;
		text-align: center !important;
	}

	.insole-page__oem-pillar-body h3 {
		font-size: 11px !important;
		margin-bottom: 4px !important;
	}

	.insole-page__oem-pillar-body > p,
	.insole-page__oem-pillar-list li {
		font-size: 10px !important;
		line-height: 1.4 !important;
	}

	.insole-page__oem-pillar-media {
		margin-bottom: 6px !important;
	}

	.insole-b2b-step-flow {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		padding: 12px 10px !important;
	}

	.insole-b2b-step-flow::before {
		display: none !important;
	}

	.insole-b2b-step {
		padding: 8px !important;
		text-align: center !important;
	}

	.insole-b2b-step__num {
		width: 32px !important;
		height: 32px !important;
		font-size: 14px !important;
		margin: 0 auto 4px !important;
	}

	.insole-b2b-step__title {
		font-size: 11px !important;
		margin-bottom: 2px !important;
	}

	.insole-b2b-step__desc {
		font-size: 10px !important;
		line-height: 1.4 !important;
	}

	.insole-page__cta {
		padding: 16px 10px !important;
	}

	.insole-page__cta h2 {
		font-size: 14px !important;
	}

	.insole-page__cta .insole-page__btn {
		width: 100% !important;
	}

	/* ---- 7. Resources / Blog ---- */
	body.insole-resources .insole-resources__hero {
		padding: 16px 10px 8px !important;
		text-align: center;
	}

	body.insole-resources .insole-resources__hero h1 {
		font-size: 16px !important;
	}

	body.insole-resources .insole-resources__hero p {
		font-size: 11px !important;
	}

	body.insole-resources .insole-resources__toolbar {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		gap: 6px !important;
		padding: 8px 10px !important;
		white-space: nowrap !important;
	}

	body.insole-resources .insole-resources__chip {
		padding: 6px 12px !important;
		font-size: 11px !important;
		border-radius: 16px !important;
		white-space: nowrap !important;
		flex-shrink: 0 !important;
	}

	body.insole-resources .insole-resources__list {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		padding: 8px 10px !important;
		border-top: none !important;
	}

	body.insole-resources .insole-resources__card {
		padding: 6px !important;
		border-radius: 8px !important;
		border: 1px solid rgba(15, 23, 42, 0.08) !important;
		background: #fff !important;
	}

	body.insole-resources .insole-resources__card-link {
		display: flex !important;
		flex-direction: column !important;
		height: 100% !important;
		padding: 6px !important;
		text-decoration: none !important;
		color: inherit !important;
	}

	body.insole-resources .insole-resources__card-title {
		font-size: 11px !important;
		line-height: 1.3 !important;
		font-weight: 600 !important;
		margin-bottom: 4px !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	body.insole-resources .insole-resources__card-excerpt {
		font-size: 10px !important;
		line-height: 1.4 !important;
		margin-bottom: 4px !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	body.insole-resources .insole-resources__card-cta {
		font-size: 10px !important;
		margin-top: auto !important;
	}

	body.single-post .insole-resources-article__header h1 {
		font-size: 16px !important;
	}

	body.single-post .insole-resources-article__content {
		font-size: 11px !important;
		line-height: 1.5 !important;
	}

	body.single-post .insole-resources-article__content h2 {
		font-size: 14px !important;
	}

	body.single-post .insole-resources-article__content h3 {
		font-size: 12px !important;
	}

	/* ---- Footer compression ---- */
	.insole-b2b-footer {
		padding-top: 20px !important;
	}

	.insole-b2b-footer__title {
		font-size: 11px !important;
	}

	.insole-b2b-footer__meta li,
	.insole-b2b-footer__meta a,
	.insole-b2b-footer__links li,
	.insole-b2b-footer__links a,
	.insole-b2b-footer__bar-nav a {
		font-size: 10px !important;
		line-height: 1.4 !important;
	}

	.insole-b2b-footer__grid {
		gap: 16px !important;
	}
}

/* Desktop: collapse blocks stay open (product-filter.js handles JS) */
@media (min-width: 769px) {
	.insole-page__why-us,
	.insole-b2b-finder {
		max-height: none !important;
		overflow: visible !important;
		cursor: default !important;
	}
}
