/* Mobile-first hardening for iPhone Safari and narrow admin layouts. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{min-width:0;overflow-x:hidden;-webkit-tap-highlight-color:rgba(18,48,71,.12)}
img,svg,video,canvas{max-width:100%}main,nav,.hero,.panel,.admin-section,.editor-shell,.edit-section,.detail,.admin-list,.admin-row,.flag-card,.section-title,.admin-heading{min-width:0}
input,select,textarea,button,.button{max-width:100%}input,select,textarea{min-width:0;width:100%}select{appearance:auto;-webkit-appearance:menulist}textarea{resize:vertical}
button,.button,.nav-link,.login-link,summary{touch-action:manipulation}
@supports(-webkit-touch-callout:none){input,select,textarea{font-size:16px}}

@media(max-width:700px){
  nav{padding:14px 16px;gap:10px;min-width:0}
  #nav-right{min-width:0;max-width:68%;display:flex;justify-content:flex-end}
  .account-nav{max-width:100%;min-width:0;flex-wrap:wrap;justify-content:flex-end;border-radius:18px;padding:6px}
  .account-nav form{margin:0;min-width:0}
  .account-nav button,.account-nav .nav-link{white-space:nowrap}
  .hero{padding:22px 16px 14px}.hero h1{font-size:clamp(2.3rem,15vw,4rem)}
  main{padding:20px 16px calc(72px + env(safe-area-inset-bottom))}
  footer{padding:24px 16px calc(24px + env(safe-area-inset-bottom))}

  .panel,.admin-section{padding:16px;border-radius:18px}
  .admin-section{margin:14px 0}
  .admin-heading,.section-title{min-width:0}
  .admin-heading>* ,.section-title>*{min-width:0}
  .section-title{flex-wrap:wrap;gap:10px}
  .section-title>.adminbar,.admin-heading>.adminbar{width:100%}

  .adminbar,.flag-actions,.photo-source-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;max-width:100%}
  .adminbar>button,.adminbar>.button,.flag-actions>button,.flag-actions>.button,.photo-source-actions>button,.photo-source-actions>.button{flex:1 1 150px;min-width:0;text-align:center;white-space:normal}
  .admin-row{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .admin-row>.adminbar,.admin-row>button,.admin-row>.button{width:100%}
  .admin-row button,.admin-row .button{white-space:normal}
  .status-pill,.queue-count{max-width:100%;white-space:normal;overflow-wrap:anywhere}

  .form-grid,.score-grid,.filter-grid{grid-template-columns:minmax(0,1fr)!important}
  .form-grid>*,.score-grid>*,.filter-grid>*{min-width:0}
  .rating-filter-picks{max-width:100%}
  .rating-filter-picks label{min-width:0;max-width:100%}
  .rating-filter-picks span{white-space:normal;overflow-wrap:anywhere}

  .detail{gap:16px}.detail-photo{border-radius:18px}
  .editor-shell{margin-left:0;margin-right:0;padding:12px;border-radius:20px}
  .edit-section{padding:14px;border-radius:16px}
  .editor-actions{left:0;right:0;bottom:max(8px,env(safe-area-inset-bottom));flex-wrap:wrap;padding:10px}
  .editor-actions button{flex:1 1 130px;min-height:44px}
  .save-big{min-height:46px}

  .add-admin,.unsplash-search{align-items:stretch;flex-direction:column}
  .add-admin button,.unsplash-search button{width:100%}
  .archive-zone{width:100%;max-width:100%}
  .archive-zone button{width:100%}
  .unsplash-selection-meta p{grid-template-columns:1fr;gap:2px}

  .toast{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));text-align:center}
  .ai-content-warning{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px)!important;max-height:calc(100dvh - 24px);overflow:auto}
}

@media(max-width:430px){
  nav{align-items:center}.brand{flex:0 1 auto;min-width:0}.brand span{white-space:nowrap}
  #nav-right{max-width:72%}
  .account-nav{background:rgba(255,255,255,.9)}
  .account-nav .nav-link,.account-nav button{font-size:.78rem;padding:8px 9px}
  .hero p{font-size:1rem}.eyebrow{letter-spacing:.1em}
  .admin-stats{grid-template-columns:minmax(0,1fr)!important}
  .adminbar>button,.adminbar>.button,.flag-actions>button,.flag-actions>.button{flex-basis:100%;width:100%}
  .season-picks{grid-template-columns:1fr 1fr}
  .transit-steppers{grid-template-columns:1fr}
  .toolbar{grid-template-columns:1fr}.toolbar>*{grid-column:auto!important;width:100%}
  .discovery-bar{grid-template-columns:1fr}
  .filter-toggle{width:100%;min-height:46px}
  .card{border-radius:18px}.grid{grid-template-columns:minmax(0,1fr)}
}

@media(hover:none) and (pointer:coarse){
  button,.button,.nav-link,.login-link,.archive-zone summary,.advanced summary{min-height:44px}
  .rating-filter-picks span,.season-pill span{min-height:44px;display:flex;align-items:center;justify-content:center}
  .stepper{width:44px;height:44px}
}
