/* Readability-first mobile layout for EVERFIELD. */
@media (max-width: 620px) {
  body {
    font-size: 16px;
  }

  .container {
    width: min(100% - 1.5rem, 1200px);
  }

  .nav {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 66px;
    gap: .45rem;
  }

  .brand {
    gap: .45rem;
  }

  .brand img {
    width: 38px;
    height: 38px;
  }

  .brand-copy strong {
    display: block;
    max-width: 5.9rem;
    overflow: hidden;
    font-size: .72rem;
    letter-spacing: .08em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .nav-actions {
    gap: .35rem;
  }

  .icon-button,
  .nav-toggle {
    min-width: 38px;
    width: 38px;
    min-height: 38px;
    height: 38px;
  }

  .lang-toggle {
    display: inline-flex;
    min-width: 44px;
    width: 44px;
    min-height: 38px;
    height: 38px;
    padding: 0;
    font-size: .56rem;
    letter-spacing: -.02em;
    white-space: nowrap;
  }

  .nav-links {
    top: 66px;
    right: .75rem;
    left: .75rem;
    padding: .85rem;
  }

  .nav-links a {
    padding: .7rem .55rem;
    font-size: .98rem;
  }

  .hero {
    padding: 2.2rem 0 2.9rem;
  }

  .hero h1 {
    font-size: clamp(2.5rem, 13.5vw, 3.45rem);
    line-height: .98;
    letter-spacing: -.05em;
  }

  .hero-copy {
    font-size: 1.02rem;
    line-height: 1.7;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
  }

  .hero-actions .button {
    min-height: 52px;
    font-size: .95rem;
  }

  .hero-note {
    align-items: flex-start;
    font-size: .86rem;
    line-height: 1.55;
  }

  .hero-scene {
    min-height: 325px;
  }

  .scene-caption {
    width: min(12.4rem, 64vw);
    padding: .72rem .78rem;
  }

  .intro,
  .catalogue,
  .ordering,
  .contact {
    padding: 3.35rem 0;
  }

  .intro-title h2,
  .section-head h2,
  .contact-content h2,
  .ordering h2 {
    font-size: clamp(2.25rem, 12vw, 3rem);
    line-height: 1;
  }

  .intro-lead {
    font-size: 1.22rem;
  }

  .section-head p,
  .intro-body p:not(.intro-lead),
  .contact-content p {
    font-size: .98rem;
    line-height: 1.65;
  }

  .catalogue-tools {
    margin-top: 1.65rem;
  }

  .search-box {
    min-height: 54px;
    padding-right: .85rem;
  }

  .search-box input {
    min-height: 48px;
    font-size: 16px;
  }

  .result-count {
    padding-left: 0;
    font-size: .87rem;
  }

  .filter-row {
    flex-wrap: nowrap;
    gap: .55rem;
    margin: 1rem -.75rem 1.45rem;
    padding: 0 .75rem .35rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .filter {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 1rem;
    font-size: .82rem;
  }

  .product-grid {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .product-card {
    display: grid;
    grid-template-columns: minmax(7.25rem, 36vw) minmax(0, 1fr);
    align-items: stretch;
    min-height: 9.4rem;
  }

  .product-image {
    min-height: 9.4rem;
    aspect-ratio: auto;
  }

  .product-content {
    min-height: 9.4rem;
    padding: .9rem .85rem;
  }

  .product-meta {
    font-size: .67rem;
  }

  .product-name {
    min-height: 0;
    margin: .42rem 0 .65rem;
    font-size: .97rem;
    line-height: 1.38;
  }

  .product-price strong {
    font-size: 1.35rem;
  }

  .mini-add {
    width: 40px;
    height: 40px;
    font-size: 1.45rem;
  }

  .catalogue-more .button {
    min-height: 50px;
    min-width: 10rem;
    font-size: .95rem;
  }

  .ordering-visual {
    min-height: 285px;
  }

  .order-steps li {
    min-height: 82px;
    padding-left: 4rem;
    font-size: .96rem;
  }

  .contact-card {
    min-height: 132px;
    padding: 1.1rem;
  }

  .contact-card strong,
  .contact-card a {
    font-size: 1rem;
  }

  .cart-drawer {
    width: 100%;
  }

  .cart-head {
    min-height: 68px;
  }

  .cart-list {
    padding: 1rem;
  }

  .cart-item {
    grid-template-columns: 76px 1fr auto;
  }

  .cart-item img {
    width: 76px;
    height: 76px;
  }

  .cart-item-name {
    font-size: .88rem;
  }

  .cart-actions .button {
    min-height: 50px;
    font-size: .92rem;
  }

  dialog {
    width: min(100% - 1rem, 660px);
    max-height: calc(100dvh - 1rem);
  }

  .modal-copy {
    padding: 1.55rem 1.15rem 1.25rem;
  }

  .modal-copy h2 {
    font-size: 1.65rem;
  }

  .modal-copy p {
    font-size: .98rem;
  }
}

@media (max-width: 359px) {
  .brand-copy strong {
    display: none;
  }

  .nav-actions {
    gap: .22rem;
  }

  .icon-button,
  .nav-toggle {
    min-width: 36px;
    width: 36px;
    min-height: 36px;
    height: 36px;
  }

  .lang-toggle {
    min-width: 42px;
    width: 42px;
    min-height: 36px;
    height: 36px;
    font-size: .52rem;
  }

  .product-card {
    grid-template-columns: 6.7rem minmax(0, 1fr);
  }
}
