.nav-products-toggle {
  cursor: pointer;
  list-style: none;
}

.nav-products-toggle::-webkit-details-marker {
  display: none;
}

.nav-products[open] .products-menu {
  display: block;
}

@media (max-width: 900px) {
  .nav-products[open] .products-menu {
    display: block;
  }
}

.hero h1 {
  max-width: 900px;
  font-size: clamp(2.7rem, 4vw, 3.85rem);
  overflow-wrap: anywhere;
}

.hero-grid > * {
  min-width: 0;
}

.hero-note ul {
  margin: 14px 0 0;
  padding-left: 20px;
}

.hero-note li + li {
  margin-top: 7px;
}

.category-card {
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(22, 33, 29, .06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.category-card:hover,
.category-card:focus-visible {
  transform: translateY(-4px);
  border-color: var(--moss);
  box-shadow: var(--shadow);
}

.category-image {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  background:
    linear-gradient(135deg, rgba(23, 63, 52, .88), rgba(67, 107, 85, .72)),
    var(--sand);
  color: rgba(255, 255, 255, .85);
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.category-copy {
  padding: 18px 20px;
}

.category-copy h3,
.category-copy p {
  margin: 0;
}

.category-copy h3 {
  font: 700 1.3rem Georgia, serif;
}

.category-copy p {
  margin-top: 6px;
  color: #65706a;
  font-size: .88rem;
}

.featured-head p {
  max-width: 650px;
  margin-bottom: 0;
}

.product-media {
  position: relative;
}

.media-review {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  padding: 6px 8px;
  background: rgba(22, 33, 29, .88);
  color: white;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-align: center;
}

.ordering-section .section-head h2 {
  font-size: clamp(1.8rem, 3.6vw, 3.05rem);
}

.wa-float {
  right: 20px;
  bottom: 20px;
}

@media (max-width: 900px) {
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .hero h1 {
    font-size: clamp(1.95rem, 9.3vw, 2.35rem);
    line-height: 1.06;
  }

  .category-grid {
    grid-template-columns: 1fr;
  }

  .footer {
    padding-bottom: 100px;
  }

  .wa-float {
    right: 20px;
    bottom: 20px;
  }
}
