/* Navegação para a feira: leitura rápida e controles confortáveis por toque. */
@media (max-width: 720px) {
  header { gap: 12px; padding: 16px 5%; }
  .brand { gap: 8px; font-size: 27px; }
  .brand img { width: 42px; height: 42px; }
  .brand-sub { font-size: 8px; letter-spacing: 1.7px; }
  .instagram { display: inline-flex; align-items: center; min-height: 44px; }
  .hero { padding: 32px 5% 30px; gap: 22px; }
  .hero > div, .detail-grid > div, .form-grid > label { min-width: 0; }
  .hero h1 { font-size: clamp(34px, 9vw, 48px); letter-spacing: -1.7px; margin: 16px 0; }
  .hero p { font-size: 15px; line-height: 1.65; margin-bottom: 20px; }
  .hero .button { width: 100%; min-height: 48px; }
  .hero .art { display: block; width: min(88%, 320px); max-width: 100%; margin: 8px auto 12px; padding: 22px 16px; }
  .hero .paper { padding: 25px 18px; }
  .hero .paper strong { font-size: clamp(38px, 11vw, 48px); }
  .hero .paper svg { width: 135px; margin: 22px auto 18px; }
  .hero .star { font-size: 75px; top: -3px; left: -7px; }
  .hero .sticker { right: -8px; bottom: 0; padding: 19px 13px; font-size: 15px; }
  .ribbon { padding: 10px 5%; }
  .catalog, #admin { padding: 30px 5%; }
  h2 { font-size: clamp(25px, 7vw, 30px); overflow-wrap: anywhere; }
  #filters { gap: 14px; }
  #filters .search { flex-basis: 100%; min-width: 0; }
  input, select, textarea { font-size: 16px; min-width: 0; }
  input[type=file] { max-width: 100%; padding: 10px 0; }
  #filters > label:not(.search) { flex: 1 1 160px; }
  .text-button, fieldset span, .photo button, .admin-row button { min-height: 44px; }
  fieldset span { display: inline-flex; align-items: center; padding: 10px 15px; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card h3, .card p, .admin-row { overflow-wrap: anywhere; }
  .card h3 { font-size: 18px; }
  .card p { font-size: 13px; }
  .empty { min-height: 220px; padding: 26px 16px; }
  .manifesto { margin: 0 5% 25px; }
  .manifesto > div { min-width: 0; }
  .manifesto > a { white-space: normal; display: inline-flex; align-items: center; min-height: 44px; }
  footer { padding: 24px 5%; }
  footer > a:last-child { display: inline-flex; align-items: center; min-height: 44px; }
  dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); padding: 16px; }
  #close-detail { width: 44px; height: 44px; }
  .detail-grid { gap: 16px; }
  .detail-photos { scroll-snap-type: x mandatory; }
  .detail-photos img { flex: 0 0 88%; min-width: 0; scroll-snap-align: start; }
  .detail-actions { position: sticky; bottom: 0; background: var(--paper); padding: 12px 0; }
  .admin-tools { gap: 12px; }
  .admin-tools > button { flex: 1 1 150px; min-height: 48px; }
  .photo { width: 130px; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero { gap: 24px; }
  .manifesto { margin-left: 6%; margin-right: 6%; }
}
.hero .paper small svg.draw-icon { width: 1em; height: 1em; margin: 0; display: inline-block; }
