/* Spacehopper — site-wide standards (loaded on every page).
 * Spacing, touch targets, form fields and the mobile menu, so every page —
 * marketplace, account and outdoor — behaves the same on a phone. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
/* A container inside a container must not add its side padding twice. */
.plm-wrap .plm-wrap { padding-left: 0; padding-right: 0; }

@media (max-width: 1180px) {
	/* Mobile menu: scrolls inside the screen, tidy actions. */
	.plt-nav { max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.plt-nav .plt-primary-menu > li > a { min-height: 50px; }
	.plt-nav .sub-menu a { min-height: 44px; display: flex; align-items: center; }
	.plt-nav__actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
	.plt-nav__actions .plm-btn { min-height: 46px; padding-inline: 10px; font-size: 0.92rem; line-height: 1.2; text-align: center; }
	.plt-nav__actions .plm-btn--primary { background: #fff; color: var(--plm-navy-800, #0B2A5B); border: 2px solid var(--plm-navy-800, #0B2A5B); }
	.plt-nav__actions-login { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 10px; background: var(--plm-surface-alt, #f3f6fa); font-weight: 700; color: var(--plm-navy-800, #0B2A5B); text-decoration: none; }
}

@media (max-width: 760px) {
	.plm-wrap { padding-left: 18px; padding-right: 18px; }

	/* Fields: 16px text stops iOS zooming the page on focus; 48px is a comfortable tap. */
	.plm-input, .plm-select, .plm-textarea,
	.plm-form input[type="text"], .plm-form input[type="email"], .plm-form input[type="tel"], .plm-form input[type="number"],
	.plm-form input[type="password"], .plm-form input[type="date"], .plm-form input[type="search"], .plm-form input[type="url"],
	.plm-form select, .plm-form textarea,
	.sho-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .sho-form select, .sho-form textarea { font-size: 16px !important; }
	.plm-input, .plm-select, .plm-form select, .plm-form input[type="date"] { min-height: 48px; }
	.plm-btn { min-height: 46px; }
	.plm-btn--sm { min-height: 44px; }
	.plm-btn--link { min-height: 0; }
	.plm-choice { min-height: 48px; }

	/* Headings and sections: compact, still readable. */
	.plt-page-header { padding-top: 22px; padding-bottom: 22px; }
	.plt-page-header h1, .plt-content > .plm-wrap > h1 { font-size: clamp(1.5rem, 6.4vw, 1.9rem); line-height: 1.15; letter-spacing: -0.015em; }
	.plt-page-header p { font-size: 0.98rem; line-height: 1.5; }
	.plt-section { padding-top: 36px; padding-bottom: 36px; }
	.plt-section__head { margin-bottom: 20px; }
	.plt-section__head h2, .plm-h2 { font-size: clamp(1.3rem, 5.6vw, 1.6rem); line-height: 1.2; }
	.plt-content { padding-top: 24px; padding-bottom: 36px; }
	.plm-card { padding: 18px; }
	.plm-btn-row .plm-btn { flex: 1 1 auto; }
	table { max-width: 100%; }
	.plm-table-wrap, .plm-dashboard table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Mobile header: logo, account and menu — nothing else. */
@media (max-width: 1180px) {
	.plt-header .plt-header__actions { gap: 8px; }
	.plt-header .plt-login-link { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0 !important; border-radius: 12px; font-size: 0 !important; line-height: 0; }
	.plt-header .plt-login-link .plt-header__icon { width: 22px; height: 22px; margin: 0; }
	.plt-header .plt-header__actions > .plm-btn:not(.plt-login-link) { display: none !important; }
}
@media (max-width: 760px) {
	/* Breadcrumbs: one line; the current page is already the heading. */
	.plt-breadcrumbs ol { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; }
	.plt-breadcrumbs li:last-child:not(:first-child) { display: none; }
	.plt-breadcrumbs li { flex: none; }
}
