.site-products { position: relative; flex: none; }
.site-products__panel, .site-products__panel a { box-sizing: border-box; }
.site-products__toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.site-products__toggle::-webkit-details-marker { display: none; }
.site-products__toggle::marker { content: ''; }
.site-products__toggle > svg { flex: none; transition: transform .2s ease; }
.site-products[open] .site-products__toggle > svg { transform: rotate(180deg); }
.site-products__panel { position: absolute; z-index: 20; top: calc(100% + 18px); left: -20px; width: 330px; max-height: min(620px, 75svh); overflow-y: auto; display: grid; padding: 12px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-paper); box-shadow: 0 18px 50px color-mix(in srgb, var(--color-sage-30) 16.07843%, var(--color-transparent)); animation: product-menu-in .18s ease-out; }
.site-products:not([open]) > .site-products__panel { display: none; }
.site-products__panel a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 12px 14px; border-radius: 6px; color: var(--color-ink); text-decoration: none; font-size: 16px; line-height: 1.4; font-weight: 400; white-space: normal; }
.site-products__panel a:is(:hover, :focus-visible, [aria-current]) { background: var(--color-accent); color: var(--color-ink); }
.site-products__panel .site-products__overview { border-bottom: 1px solid var(--color-border); border-radius: 0; margin-bottom: 6px; padding-bottom: 16px; font-weight: 600; }
.site-products__toggle:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 5px; }
.site-products__overview > svg { width: 20px; height: 20px; flex: none; }
@keyframes product-menu-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 991.98px) {
  .site-products { width: 100%; }
  .site-products__toggle { justify-content: space-between; }
  .site-products__panel { position: static; width: 100%; max-height: none; margin-top: 12px; padding: 6px; box-shadow: none; background: var(--color-sage-780); box-sizing: border-box; }
  .site-nav.is-open { max-height: calc(100svh - 110px); overflow-y: auto; }
}
@media (min-width: 992px) and (max-width: 1279px) {
  .home-editorial .site-products { width: 100%; }
  .home-editorial .site-products__toggle { justify-content: space-between; }
  .home-editorial .site-products__panel { position: static; width: 100%; max-height: none; margin-top: 12px; padding: 6px; box-shadow: none; background: var(--color-sage-780); box-sizing: border-box; }
  .home-editorial .site-nav.is-open { max-height: calc(100svh - 110px); overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .site-products__panel { animation: none; }
  .site-products__toggle > svg { transition: none; }
}
