/* Catalog navigation: original Znakeria layout and geometric line icons. */
.z-catalog-dropdown.uk-dropdown { padding: 0; border: 1px solid var(--z-line); border-radius: 22px; overflow: hidden; box-shadow: 0 22px 60px rgba(32, 24, 12, .16); }
.z-catalog-dropdown .scrollbar_header-catalog { padding: 0; max-height: min(720px, calc(100dvh - 220px)); overflow-y: auto; overscroll-behavior: contain; }
.zcat { background: var(--z-paper); color: #171717; }
.zcat a { text-decoration: none; }
.zcat a:focus-visible { outline: 2px solid var(--c18); outline-offset: -3px; }
.zcat-icon { flex: none; display: block; aspect-ratio: 1; }
.zcat__top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 30px 22px; border-bottom: 1px solid var(--z-line); }
.zcat__eyebrow { display: block; margin-bottom: 7px; color: #77644a; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.zcat__heading h2 { margin: 0; font-size: clamp(20px, 1.7vw, 28px); line-height: 1.2; font-weight: 750; }
.zcat__collections { display: flex; align-items: center; gap: 8px; }
.zcat__collections a { display: flex; align-items: center; gap: 7px; padding: 10px 12px; border: 1px solid var(--z-line); border-radius: 999px; color: #454038; font-size: 11px; font-weight: 600; white-space: nowrap; transition: background .18s, border-color .18s; }
.zcat__collections a:hover { color: #171717; background: #efe6d6; border-color: #cbb899; }
.zcat__collections svg { width: 20px; height: 20px; color: var(--c18); stroke-width: 2; }
.zcat__body { display: grid; grid-template-columns: minmax(210px, 24%) minmax(0, 1fr); gap: 28px; padding: 26px 30px; }
.zcat__feature { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border-radius: 16px; background: #191918; color: #fff; overflow: hidden; }
.zcat__feature::before { content: ''; position: absolute; width: 230px; height: 230px; right: -105px; top: 0; border: 1px solid #675438; border-radius: 50%; box-shadow: 0 0 0 28px #ffffff03, 0 0 0 29px #ffffff0c, 0 0 0 57px #ffffff03; pointer-events: none; }
.zcat__feature-label { position: relative; color: #d5bb92; font-size: 9px; font-weight: 600; letter-spacing: .13em; }
.zcat__feature-art { position: relative; display: block; margin: 24px 0 18px; color: #e9bf7b; transform: rotate(-18deg); }
.zcat__feature-art svg { width: 76px; height: 76px; stroke-width: 1.35; }
.zcat__feature-title { position: relative; font-size: clamp(20px, 1.6vw, 27px); font-weight: 700; line-height: 1.22; letter-spacing: -.035em; }
.zcat__feature-copy { position: relative; display: block; max-width: 240px; margin: 12px 0 24px; color: #c4c0b9; font-size: 12px; line-height: 1.65; }
.zcat__feature-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding-top: 16px; margin-top: auto; border-top: 1px solid #ffffff30; color: #e9bf7b; font-size: 12px; font-weight: 650; }
.zcat__feature-link svg { width: 25px; height: 25px; transition: transform .18s; }
.zcat__feature:hover { color: #fff; background: #25231f; }
.zcat__feature:hover .zcat__feature-link svg { transform: translateX(4px); }
.zcat__section-label { display: flex; justify-content: space-between; gap: 12px; margin: 1px 0 14px; font-size: 11px; font-weight: 600; color: #655d50; }
.zcat__section-label span:last-child { color: #7a7265; font-weight: 400; }
.zcat__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.zcat__category { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-width: 0; min-height: 105px; padding: 15px; border: 1px solid transparent; border-radius: 12px; background: #f1ede5; color: #28251f; transition: background .18s, border-color .18s; }
.zcat__category-icon { display: block; color: #947042; }
.zcat__category-icon svg { width: 38px; height: 38px; }
.zcat__category-name { margin-top: 12px; font-size: 12px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.zcat__category-arrow { position: absolute; right: 13px; top: 10px; color: #8e7c60; font-size: 18px; transition: transform .18s; }
.zcat__category:hover { color: #171717; background: #e9dfce; border-color: #c9b28d; }
.zcat__category:hover .zcat__category-arrow { transform: translate(2px, -2px); }
.zcat__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 15px 30px; border-top: 1px solid var(--z-line); color: #776e61; font-size: 11px; }
.zcat__bottom a { color: #655038; font-weight: 600; }
.zcat__bottom a:hover { color: #171717; text-decoration: underline; }
.catalog-button__open .zcat-icon { width: 24px; height: 24px; }
.zcat-listing-icon { color: #947042; }
.zcat-listing-icon .zcat-icon { width: 40px; height: 40px; }
@media (max-width: 1399px) {
  .zcat__top { align-items: flex-start; }
  .zcat__collections { flex-wrap: wrap; justify-content: flex-end; }
  .zcat__collections a { font-size: 10px; padding: 8px 10px; }
  .zcat__body { gap: 18px; padding: 22px; }
  .zcat__feature { padding: 20px; }
  .zcat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .zcat__category { min-height: 75px; padding: 12px; }
  .zcat__category-icon svg { width: 30px; height: 30px; }
  .zcat__category-name { font-size: 11px; margin-top: 9px; }
}
@media (max-width: 1100px) {
  .zcat__top { flex-direction: column; gap: 16px; padding: 22px; }
  .zcat__collections { justify-content: flex-start; }
  .zcat__body { grid-template-columns: 190px minmax(0, 1fr); }
  .zcat__feature-title { font-size: 21px; }
}
@media (max-width: 639px) {
  .zcat__body { grid-template-columns: 1fr; padding: 16px; }
  .zcat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zcat__feature-art { margin: 16px 0; }
  .zcat__bottom { flex-direction: column; gap: 8px; padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .zcat *, .zcat *::before { transition: none !important; } }
