/**
 * MYBIKE.CH — Responsive Layer
 * ==============================
 * Mobile layouts are designed deliberately (stacked search, filter
 * drawer, single-column dashboard, list->thread messaging) rather than
 * a naive shrink of the desktop grid.
 */

/* Laptop */
@media (max-width: 1200px) {
	.mybike-category-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.mybike-trust-grid,
	.mybike-dealer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Tablet */
@media (max-width: 992px) {
	.mybike-search-bar {
		flex-wrap: wrap;
	}

	.mybike-search-bar__field {
		flex: 1 1 50%;
		border-bottom: 1px solid var(--mb-line);
	}

	.mybike-search-bar__submit {
		flex: 1 1 100%;
		padding: 0.9rem;
	}

	.mybike-dashboard,
	.mybike-my-listings,
	.mybike-favorites-page,
	.mybike-account-settings,
	.mybike-dealer-dashboard {
		grid-template-columns: 1fr;
	}

	.mybike-account-nav {
		flex-direction: row;
		flex-wrap: wrap;
		border-right: none;
		border-bottom: 1px solid var(--mb-line);
		padding-right: 0;
		padding-bottom: var(--mb-space-3);
	}

	.mybike-listing__layout {
		flex-direction: column;
	}
}

/* Mobile landscape / large phones */
@media (max-width: 782px) {
	.mybike-header__nav {
		display: none;
	}

	.mybike-mobile-menu-toggle {
		display: block;
	}

	.mybike-hero {
		padding: var(--mb-space-5) 0 var(--mb-space-4);
	}

	.mybike-category-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.mybike-brand-row {
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.mybike-trust-grid,
	.mybike-dealer-grid {
		grid-template-columns: 1fr;
	}

	.mybike-search-page {
		flex-direction: column;
	}

	.mybike-filters {
		position: fixed;
		inset: 0;
		z-index: 1000;
		overflow-y: auto;
		border: none;
		border-radius: 0;
		display: none;
	}

	.mybike-filters.is-open {
		display: block;
	}

	.mybike-filter-drawer-toggle {
		display: inline-flex;
	}

	.mybike-search-results__toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.mybike-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.mybike-messages {
		flex-direction: column;
	}

	.mybike-messages__list,
	.mybike-messages__thread {
		width: 100%;
	}

	/* List -> thread pattern: hide the list while a thread is open, and
	   vice versa, rather than showing both squeezed side by side. */
	.mybike-messages.is-thread-open .mybike-messages__list {
		display: none;
	}

	.mybike-messages__thread {
		border: none;
	}
}

/* Mobile */
@media (max-width: 480px) {
	.mybike-header__sell-cta {
		display: none;
	}

	.mybike-hero__title {
		font-size: 2rem;
	}

	.mybike-search-bar__field {
		flex: 1 1 100%;
		border-right: none;
	}

	.mybike-grid {
		grid-template-columns: 1fr;
	}

	.mybike-category-grid {
		grid-template-columns: 1fr 1fr;
	}

	.mybike-listing__price {
		font-size: 1.5rem;
	}

	.mybike-listing__actions {
		flex-direction: column;
	}

	.mybike-listing__actions .mybike-btn {
		width: 100%;
	}

	.mybike-wizard__nav {
		flex-direction: column;
		gap: 0.5rem;
	}

	.mybike-wizard__nav .mybike-btn {
		width: 100%;
	}

	.mybike-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	* {
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
	}
}

/* MYBIKE 10.0 responsive hardening */
@media (max-width: 1100px) {
  .mybike-quick-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mybike-header__nav { gap: 12px; }
}
@media (max-width: 782px) {
  .mybike-quick-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mybike-quick-category { min-height: 64px; padding: 13px 14px; font-size: .9rem; }
  .mybike-header { gap: 10px; padding: 10px 12px; }
  .mybike-header__actions { gap: 6px; }
  .mybike-header-action { min-width: 38px; min-height: 38px; }
  .mybike-container, .mybike-page-container { padding-left: 14px; padding-right: 14px; }
  .mybike-search-bar { width: 100%; }
  .mybike-message-bubble { max-width: 88%; }
  .mybike-messages__composer { position: sticky; bottom: 0; background: var(--mb-paper); padding: 10px 0; border-top: 1px solid var(--mb-line); }
  .mybike-messages__composer textarea { min-height: 46px; width: 100%; resize: vertical; }
  .mybike-messages__composer .mybike-btn { min-height: 44px; }
}
@media (max-width: 480px) {
  .mybike-quick-categories { grid-template-columns: 1fr 1fr; gap: 8px; }
  .mybike-quick-category { min-height: 58px; padding: 11px 12px; font-size: .84rem; }
  .mybike-header__logo { font-size: 1.05rem; }
  .mybike-header-action--notify b { min-width: 16px; height: 16px; font-size: 9px; }
}
