/* Phone layouts shared by the marketplace, account and review pages.
   Loaded after page styles so every page uses the same mobile foundations. */
@media (max-width: 680px) {
  html { font-size:100%; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }
  .container { width:calc(100% - 32px); padding-inline:0; }
  .container > *, .form-grid > *, .split > *, .dash-head > *, .footer-grid > * { min-width:0; }
  h1,h2,h3,h4,p,a,b,strong { overflow-wrap:break-word; }
  img,video,iframe { max-width:100%; }
  .nav { gap:12px; padding-block:12px; min-height:68px; }
  .nav .logo { flex-shrink:0; }
  .nav .logo img { width:124px; height:auto; }
  .nav-cta { margin-left:auto; gap:8px; }
  .nav-toggle { flex:0 0 44px; width:44px; height:44px; line-height:1; border-radius:8px; }
  .nav-toggle:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
  .nav-links.open { padding:12px 16px 20px; gap:0; max-height:calc(100dvh - 68px); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 12px 20px #22151226; }
  .nav-links a { display:flex; align-items:center; min-height:48px; padding:10px 12px; white-space:normal; font-size:.9rem; border-radius:6px; }
  .nav-links .mobile-only { border-top:1px solid #ffffff1f; }
  .account-chip { min-width:44px; min-height:44px; justify-content:center; }
  .account-dropdown { width:min(280px,calc(100vw - 32px)); min-width:0; right:0; max-height:calc(100dvh - 88px); overflow-y:auto; }
  .account-dropdown a { min-height:44px; }
  .dropdown-head { overflow-wrap:anywhere; }
  .btn { min-height:44px; max-width:100%; white-space:normal; text-align:center; justify-content:center; padding:12px 18px; line-height:1.45; }
  .btn-lg { padding:14px 20px; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,
  .form-field input,.form-field select,.form-field textarea,
  .post-vacancy-page .form-field input,.post-vacancy-page .form-field select,.post-vacancy-page .form-field textarea,
  .account-vacancy-controls input,.account-vacancy-controls select,
  .performance-toolbar input,.performance-toolbar select,.home-search input,.home-search select {
    font-size:16px; min-width:0; max-width:100%;
  }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select { min-height:46px; }
  textarea { resize:vertical; }
  .form-grid { grid-template-columns:minmax(0,1fr); }
  .form-field { min-width:0; }
  .form-card,.panel,.legal { padding:20px; }
  .section { padding-block:36px; }
  .page-hero { padding-block:28px; }
  .page-hero h1 { font-size:clamp(1.8rem,8vw,2.4rem); line-height:1.2; }
  .page-hero p { font-size:1rem; line-height:1.65; }
  .auth-form,.auth-panel { padding:24px 20px; }
  .dash-head { flex-wrap:wrap; gap:4px 12px; align-items:flex-start; }
  .dash-head h2 { line-height:1.4; }
  .account-page .dash-head > a { white-space:normal; }
  .account-page .account-head { padding:48px 20px 22px; }
  .account-page .vacancy-performance > div { min-width:0; padding-inline:0; }
  .account-page .vacancy-performance dt { overflow-wrap:normal; }
  .account-page .account-vacancy-controls label { min-width:0; flex-basis:100%; }
  .account-page .stat-tile { padding:16px; }
  .account-page .panel { padding:20px; }
  .admin-page .admin-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
  .admin-page .admin-tabs button { min-width:0; padding:12px 8px; white-space:normal; font-size:.85rem; }
  .admin-page .admin-tabs button:last-child { grid-column:1 / -1; }
  .admin-page .admin-artisan-link { white-space:normal; }
  .admin-page .queue-card { padding:20px; }
  .admin-page .queue-actions { align-items:stretch; }
  .admin-page .queue-actions .btn { width:100%; }
  .performance-toolbar label { min-width:0; }
  .performance-summary { gap:12px; }
  .performance-card { padding:18px; }
  .performance-note { padding:14px; }
  .posting-layout { gap:20px; }
  .post-vacancy-page .form-section { padding:20px; }
  .post-vacancy-page .rich-text-editor { font-size:16px; min-height:260px; }
  .post-vacancy-page .rich-text-toolbar button { min-width:44px; min-height:44px; }
  .post-vacancy-page .rich-text-toolbar select { font-size:16px; min-height:44px; }
  .post-vacancy-page .form-grid { gap:20px; }
  .post-vacancy-page .posting-submit { padding:20px; }
  .vacancy-page .job-hero-head { gap:16px; }
  .vacancy-page .job-detail { gap:24px; }
  .vacancy-page .job-description { padding:20px; overflow-wrap:anywhere; }
  .vacancy-page .job-description table { display:block; max-width:100%; overflow-x:auto; }
  .vacancy-mobile-cta { padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .home-page .home-intro h1 { font-size:clamp(2.5rem,10.5vw,3.8rem); }
  .home-page .home-intro-top { gap:16px; }
  .home-page .home-hero-actions { gap:12px; }
  .home-page .home-section-heading { flex-wrap:wrap; gap:8px 16px; }
  .home-page .home-section-heading h2 { min-width:0; }
  .home-page .home-search input,.home-page .home-search select { font-size:16px; }
  .home-page .home-search .btn { width:100%; }
  .home-page .home-board { padding-block:32px; }
  .site-footer { padding-top:36px; margin-top:24px; }
  .footer-grid { gap:28px; }
  .footer-grid a { display:inline-flex; align-items:center; min-height:44px; }
  .footer-bottom { text-align:left; align-items:flex-start; overflow-wrap:anywhere; }
  .footer-social { flex-wrap:wrap; }
  .social-links a { min-width:44px; min-height:44px; }
  .analytics-consent { inset:auto 12px calc(12px + env(safe-area-inset-bottom)); padding:16px; font-size:.875rem; max-height:60dvh; overflow-y:auto; }
  .analytics-consent > div { gap:10px; }
  .analytics-consent button { flex:1; }
}
@media (max-width:480px) {
  .nav-cta > .btn { display:none; }
  .account-page .dash-head { display:block; }
  .account-page .dash-head > a { margin-top:2px; }
  .account-page .account-pagination { gap:8px; flex-wrap:wrap; }
  .account-page .account-pagination .btn { flex:1; }
  .performance-toolbar label { flex-basis:100%; }
  .performance-toolbar .performance-search { min-width:0; }
  .performance-card-footer { align-items:flex-start; }
  .home-page .home-intro-top { align-items:flex-start; }
  .home-page .home-intro-top > a { flex:0 0 110px; min-height:44px; text-align:right; }
}
@media (max-width:680px) {
  .auth-section { padding-block:28px 40px; }
  .auth-grid { display:flex; flex-direction:column; min-width:0; }
  .auth-grid > * { min-width:0; width:100%; }
  .auth-form { order:0; border-radius:var(--radius-lg) var(--radius-lg) 0 0; }
  .auth-panel { order:1; border-radius:0 0 var(--radius-lg) var(--radius-lg); }
  .auth-panel h2 { font-size:1.7rem; }
  .role-choice { grid-template-columns:minmax(0,1fr); }
  .role-choice > * { min-width:0; }
  .human-check [data-human-answer] { min-width:0; }
}
@media(max-width:680px) {
  .jobs-board-page .board-search-row { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  .jobs-board-page .board-search-row label,.jobs-board-page .board-search-row .btn { width:100%; min-width:0; }
  .jobs-board-page .board-search-row input,.jobs-board-page .board-search-row select { font-size:16px; }
  .jobs-board-page .results-meta { flex-wrap:wrap; gap:8px 16px; }
}
@media(max-width:680px) {
  .jobs-board-page .filter-bar input,.jobs-board-page .filter-bar select { font-size:16px; }
}
@media(max-width:680px) {
  .filter-bar input,.filter-bar select { font-size:16px; }
}
