.product-catalog-page {
  --catalog-accent: #08734f;
  --catalog-ink: #26332e;
  --catalog-muted: #616b66;
  --catalog-line: #e2e7e4;
  color: var(--catalog-ink);
  background: #fff;
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  letter-spacing: 0;
  position: relative;
  overflow: clip;
}
.catalog-page-bg-layer { position: sticky; top: 0; z-index: 0; height: 100vh; margin-bottom: -100vh; pointer-events: none; user-select: none; }
.catalog-page-bg { position: absolute; display: block; max-width: none; height: auto; pointer-events: none; user-select: none; }
.catalog-page-bg-orb { top: 32vh; right: -150px; width: 430px; opacity: .16; animation: catalog-page-orb-drift 6s ease-in-out infinite alternate; }
.catalog-page-bg-ring { top: 68vh; left: -165px; width: 430px; opacity: .5; animation: catalog-page-ring-rotate 60s linear infinite; }
@keyframes catalog-page-orb-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-14px, 12px, 0); } }
@keyframes catalog-page-ring-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.catalog-width { width: calc(100% - 96px); max-width: 1280px; margin-inline: auto; }
.catalog-category-band { position: relative; z-index: 1; border-bottom: 1px solid var(--catalog-line); background: #fff; }
.catalog-categories { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0 40px; }
.catalog-categories a { position: relative; display: flex; align-items: center; min-height: 64px; padding: 0 2px; color: var(--catalog-muted); font-size: 15px; line-height: 1.5; white-space: nowrap; transition: color .2s ease; }
.catalog-categories a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--color); transform: scaleX(0); transform-origin: left; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.catalog-categories a:hover::after, .catalog-categories a:focus-visible::after, .catalog-categories a[aria-current="page"]::after { transform: scaleX(1); }
.catalog-categories a:active { background: #f0f8f4; }
.catalog-categories a:hover, .catalog-categories a[aria-current="page"] { color: var(--color); }
.catalog-categories a[aria-current="page"] { font-weight: 600; }
.catalog-categories a[aria-current="page"]::after { background: var(--color); }
.catalog-content { position: relative; z-index: 1; padding-top: 40px; padding-bottom: 56px; }
.catalog-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 32px; }
.catalog-heading h2 { margin: 0; font-size: 26px; font-weight: 600; line-height: 1.5; color: var(--catalog-ink); }
.catalog-heading p { margin: 0; color: var(--catalog-muted); font-size: 13px; line-height: 1.6; white-space: nowrap; }
.catalog-heading strong { color: var(--catalog-ink); font-weight: 500; font-variant-numeric: tabular-nums; }
.catalog-feature-list { display: grid; gap: 24px; }
.catalog-feature-card { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(340px, 1fr); min-height: 440px; overflow: hidden; border: 1px solid var(--catalog-line); border-radius: 8px; color: var(--catalog-ink); background: #fff; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.catalog-feature-card:hover { color: var(--catalog-ink); border-color: #88bca6; box-shadow: 0 16px 36px rgba(14,65,46,.1); transform: translateY(-4px); }
.catalog-feature-media { width: 100%; min-width: 0; min-height: 440px; overflow: hidden; background-color: #e8f1ee; background-position: center; background-repeat: no-repeat; background-size: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.catalog-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 44px 52px; }
.catalog-feature-copy h2 { margin: 0; color: var(--catalog-ink); font-size: 32px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.catalog-feature-copy p { max-width: 34em; margin: 18px 0 28px; color: var(--catalog-muted); font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.catalog-feature-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 32px; width: 100%; color: var(--catalog-muted); font-size: 14px; line-height: 1.6; }
.catalog-feature-meta strong { color: var(--catalog-ink); font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
.catalog-feature-link { display: inline-flex; align-items: center; gap: 14px; color: var(--catalog-ink); font-weight: 600; }
.catalog-feature-link img { width: 8px; height: 14px; filter: brightness(0); transition: transform .2s ease; }
.catalog-feature-card:hover .catalog-feature-media { transform: scale(1.035); }
.catalog-feature-card:hover .catalog-feature-link img { transform: translateX(4px); }
.catalog-subcategory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.catalog-subcategory-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #e8e8e8; border-radius: 8px; color: var(--catalog-ink); background: #fff; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.catalog-subcategory-card:hover { color: var(--catalog-ink); border-color: #d6e5dc; box-shadow: 0 16px 34px rgba(14,65,46,.09); transform: translateY(-4px); }
.catalog-subcategory-media { width: 100%; min-width: 0; aspect-ratio: 2.1 / 1; overflow: hidden; background-color: #e8f1ee; background-position: center; background-size: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.catalog-subcategory-copy { position: relative; display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-height: 258px; padding: 28px 20px 70px; }
.catalog-subcategory-label { margin: 0; color: #999; font-size: 14px; line-height: 1.7; }
.catalog-subcategory-copy h3 { width: 100%; height: 3em; margin: 12px 0 0; color: var(--catalog-ink); font-size: 24px; font-weight: 600; line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; transition: color .3s ease; }
.catalog-subcategory-description { width: 100%; margin: 28px 0 0; padding: 14px 24px 0 0; border-top: 1px solid #e8e8e8; color: #999; font-size: 14px; line-height: 1.6; opacity: 0; transform: translateY(50%); transition: opacity .45s ease, transform .45s ease; }
.catalog-subcategory-more { position: absolute; left: 20px; bottom: 28px; display: inline-flex; align-items: center; gap: 8px; color: var(--color); font-size: 14px; line-height: 1.4; transition: opacity .35s ease, transform .35s ease; }
.catalog-subcategory-more i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--color); }
.catalog-subcategory-more i img { width: 7px; height: auto; filter: brightness(0) invert(1); }
.catalog-subcategory-card:hover .catalog-subcategory-media { transform: scale(1.08); }
.catalog-subcategory-card:hover .catalog-subcategory-copy h3 { color: var(--color); }
.catalog-subcategory-card:hover .catalog-subcategory-description { opacity: 1; transform: translateY(0); }
.catalog-subcategory-card:hover .catalog-subcategory-more { opacity: 0; transform: rotateX(-90deg); }
.catalog-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.catalog-item { position: relative; isolation: isolate; min-width: 0; margin: 0; padding: 32px; border: 1px solid var(--catalog-line); border-radius: 10px; background: #fff; transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .3s ease, box-shadow .35s ease; }
.catalog-item::before { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(420px circle at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(8,115,79,.07), transparent 75%); opacity: 0; transition: opacity .35s ease; }
.catalog-item:focus-within { border-color: #88bca6; box-shadow: 0 12px 32px rgba(14,65,46,.09); }
.catalog-item:focus-within::before { opacity: 1; }
.catalog-item + .catalog-item { padding-top: 32px; }
.catalog-product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: 56px; min-width: 0; }
.catalog-image { display: block; overflow: hidden; aspect-ratio: 2200 / 1251; background: #f3f5f4; border-radius: 4px; }
.catalog-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.catalog-image:active img { transform: scale(.985); }
.catalog-image:focus-visible img { transform: scale(1.025); }
.catalog-product-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 8px 0; }
.catalog-category { margin: 0 0 12px; color: var(--catalog-accent); font-size: 14px; font-weight: 500; line-height: 1.6; }
.catalog-product h3 { margin: 0; color: var(--catalog-ink); font-size: 30px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; text-wrap: balance; }
.catalog-product h3 a { color: inherit; transition: color .2s ease; }
.catalog-product h3 a:hover { color: var(--color); }
.catalog-description { margin: 18px 0 0; color: var(--catalog-muted); font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.catalog-facts { display: grid; grid-template-columns: minmax(96px, .7fr) minmax(0, 2fr); gap: 24px; width: 100%; margin: 24px 0 28px; padding: 0; font-size: 14px; line-height: 1.75; }
.catalog-facts > div { min-width: 0; }
.catalog-facts > div + div { padding-left: 24px; border-left: 1px solid var(--catalog-line); }
.catalog-facts dt { margin-bottom: 6px; color: var(--catalog-muted); font-size: 12px; font-weight: 400; }
.catalog-facts dd { min-width: 0; margin: 0; color: var(--catalog-ink); overflow-wrap: anywhere; }
.catalog-facts dd:empty::after { content: "-"; }
.catalog-details { display: inline-flex; justify-content: space-between; align-items: center; flex: 0 0 auto; gap: 28px; min-width: 144px; min-height: 46px; padding: 11px 20px; border: 1px solid var(--color); border-radius: 4px; color: var(--catalog-ink); background: var(--color); font-size: 14px; font-weight: 500; line-height: 1.6; white-space: nowrap; transition: transform .25s ease, box-shadow .25s ease; }
.catalog-details img, .catalog-empty a img { flex: 0 0 auto; width: 8px; height: 14px; object-fit: contain; transition: transform .2s ease; }
.catalog-details img { filter: brightness(0); }
.catalog-details:hover { color: var(--catalog-ink); box-shadow: inset 0 0 0 100px rgba(0, 0, 0, .06); }
.catalog-details:hover img, .catalog-empty a:hover img { transform: translateX(3px); }
.catalog-details:focus-visible img { transform: translateX(3px); }
.catalog-details:active { transform: scale(.97); box-shadow: inset 0 0 0 100px rgba(0, 0, 0, .12); }
.catalog-empty { min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 0; text-align: center; }
.catalog-empty h3 { margin: 0; font-size: 22px; line-height: 1.5; }
.catalog-empty p { margin: 12px 0 20px; color: var(--catalog-muted); font-size: 14px; line-height: 1.8; }
.catalog-empty a { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 44px; color: var(--catalog-accent); font-size: 14px; font-weight: 600; }
.catalog-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 48px; }
.catalog-pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--catalog-line); border-radius: 4px; color: var(--catalog-ink); font-size: 14px; }
.catalog-pagination a:hover, .catalog-pagination .page-num-current { color: #fff; background: var(--catalog-accent); border-color: var(--catalog-accent); }
.product-catalog-page a:focus-visible { outline: 2px solid var(--catalog-accent); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .catalog-item:hover { transform: translateY(-5px); border-color: #88bca6; box-shadow: 0 18px 42px rgba(14,65,46,.1); }
  .catalog-item:hover::before { opacity: 1; }
  .catalog-item:hover .catalog-image img { transform: scale(1.025); }
  .catalog-item:hover h3 a { color: var(--catalog-accent); }
  .catalog-details:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(8,115,79,.18); }
  .catalog-details:active { transform: translateY(0) scale(.97); }
}
@media (max-width: 1180px) {
  .catalog-width { width: calc(100% - 56px); }
  .catalog-subcategory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-product { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .catalog-product h3 { font-size: 26px; }
  .catalog-categories { gap: 0 28px; }
  .catalog-feature-card { grid-template-columns: minmax(0, 1.2fr) minmax(300px, 1fr); min-height: 380px; }
  .catalog-feature-media { min-height: 380px; }
  .catalog-feature-copy { padding: 36px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .catalog-product { gap: 28px; }
  .catalog-product h3 { font-size: 24px; }
  .catalog-product-copy { padding: 0; }
  .catalog-category { margin-bottom: 8px; }
  .catalog-description { margin-top: 12px; font-size: 14px; line-height: 1.8; }
  .catalog-facts { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; margin: 18px 0 22px; font-size: 13px; }
  .catalog-facts > div + div { padding-left: 16px; }
}
@media (max-width: 767px) {
  .catalog-width { width: calc(100% - 40px); }
  .catalog-subcategory-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .catalog-feature-list { gap: 16px; }
  .catalog-feature-card { grid-template-columns: minmax(0, 1fr); }
  .catalog-feature-media { min-height: 220px; aspect-ratio: 16 / 9; }
  .catalog-page-bg-orb { top: 30vh; right: -100px; width: 280px; }
  .catalog-page-bg-ring { top: 70vh; left: -110px; width: 280px; }
  .catalog-feature-copy { padding: 24px; }
  .catalog-feature-copy h2 { margin-top: 14px; font-size: 24px; }
  .catalog-feature-copy p { margin: 14px 0 22px; font-size: 14px; }
  .catalog-subcategory-copy { min-height: 0; padding: 20px 22px 64px; }
  .catalog-subcategory-copy h3 { height: auto; min-height: 0; font-size: 21px; }
  .catalog-subcategory-description { margin-top: 18px; padding-top: 14px; opacity: 1; transform: none; }
  .catalog-subcategory-more { position: absolute; left: 22px; bottom: 22px; }
  .catalog-categories { gap: 0 22px; }
  .catalog-categories a { min-height: 48px; font-size: 13px; }
  .catalog-content { padding-top: 28px; padding-bottom: 40px; }
  .catalog-heading { margin-bottom: 24px; gap: 8px 16px; }
  .catalog-heading h2 { font-size: 23px; }
  .catalog-heading p { font-size: 12px; }
  .catalog-grid { gap: 16px; }
  .catalog-item { padding: 20px; border-radius: 8px; }
  .catalog-item + .catalog-item { padding-top: 20px; }
  .catalog-product { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .catalog-product-copy { padding: 0; }
  .catalog-category { margin-bottom: 8px; font-size: 13px; }
  .catalog-product h3 { font-size: 24px; }
  .catalog-description { margin-top: 14px; font-size: 14px; line-height: 1.85; }
  .catalog-facts { grid-template-columns: 80px minmax(0, 1fr); gap: 18px; margin: 22px 0 24px; font-size: 13px; }
  .catalog-facts > div + div { padding-left: 18px; }
  .catalog-details { min-height: 46px; }
  .catalog-empty { min-height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-feature-card, .catalog-feature-media, .catalog-feature-link img, .catalog-subcategory-card, .catalog-subcategory-media, .catalog-subcategory-description, .catalog-subcategory-more, .catalog-subcategory-copy h3, .catalog-item, .catalog-item::before, .catalog-image img, .catalog-categories a, .catalog-categories a::after, .catalog-product h3 a, .catalog-details, .catalog-details img, .catalog-empty a img { transition: none; }
  .catalog-page-bg-orb, .catalog-page-bg-ring { animation: none; }
  .catalog-feature-card:hover, .catalog-feature-card:hover .catalog-feature-media, .catalog-feature-card:hover .catalog-feature-link img, .catalog-subcategory-card:hover, .catalog-subcategory-card:hover .catalog-subcategory-media, .catalog-subcategory-card:hover .catalog-subcategory-description, .catalog-subcategory-card:hover .catalog-subcategory-more, .catalog-subcategory-card:hover .catalog-subcategory-copy h3 { transform: none; }
  .catalog-item:hover, .catalog-item:hover .catalog-image img, .catalog-image:focus-visible img, .catalog-image:active img, .catalog-details:hover, .catalog-details:active, .catalog-details:hover img, .catalog-details:focus-visible img, .catalog-empty a:hover img { transform: none; }
  .catalog-item::before { background: #f5faf7; }
}
/* Products under a top-level category use the same compact editorial card language as the news list. */
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.catalog-grid .catalog-item { min-width: 0; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid #e8e8e8; border-radius: 8px; background: #fff; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.catalog-grid .catalog-item:hover { border-color: #d6e5dc; box-shadow: 0 16px 34px rgba(14,65,46,.09); transform: translateY(-4px); }
.catalog-small-card { display: flex; flex-direction: column; min-width: 0; height: 100%; color: var(--catalog-ink); }
.catalog-small-card:hover { color: var(--catalog-ink); }
.catalog-small-media { width: 100%; min-width: 0; aspect-ratio: 2.1 / 1; overflow: hidden; background: #e8f1ee; }
.catalog-small-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.catalog-small-copy { position: relative; display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-height: 258px; padding: 28px 20px 70px; }
.catalog-small-label { margin: 0; color: #999; font-size: 14px; line-height: 1.7; }
.catalog-small-copy h3 { width: 100%; height: 3em; margin: 12px 0 0; color: var(--catalog-ink); font-size: 24px; font-weight: 600; line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; transition: color .3s ease; }
.catalog-small-description { width: 100%; margin: 28px 0 0; padding: 14px 24px 0 0; border-top: 1px solid #e8e8e8; color: #999; font-size: 14px; line-height: 1.6; opacity: 0; transform: translateY(50%); transition: opacity .45s ease, transform .45s ease; }
.catalog-small-more { position: absolute; left: 20px; bottom: 28px; display: inline-flex; align-items: center; gap: 8px; color: var(--color); font-size: 14px; line-height: 1.4; transition: opacity .35s ease, transform .35s ease; }
.catalog-small-more i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--color); }
.catalog-small-more i img { width: 7px; height: auto; filter: brightness(0) invert(1); }
.catalog-grid .catalog-item:hover .catalog-small-media img { transform: scale(1.08); }
.catalog-grid .catalog-item:hover .catalog-small-copy h3 { color: var(--color); }
.catalog-grid .catalog-item:hover .catalog-small-description { opacity: 1; transform: translateY(0); }
.catalog-grid .catalog-item:hover .catalog-small-more { opacity: 1; transform: translateX(4px); }
@media (max-width: 1180px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .catalog-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .catalog-small-copy { min-height: 0; padding: 20px 22px 64px; }
  .catalog-small-copy h3 { height: auto; min-height: 0; font-size: 21px; }
  .catalog-small-description { margin-top: 18px; padding-top: 14px; opacity: 1; transform: none; }
  .catalog-small-more { left: 22px; bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-grid .catalog-item, .catalog-small-media img, .catalog-small-copy h3, .catalog-small-description, .catalog-small-more { transition: none; }
  .catalog-grid .catalog-item:hover, .catalog-grid .catalog-item:hover .catalog-small-media img, .catalog-grid .catalog-item:hover .catalog-small-copy h3, .catalog-grid .catalog-item:hover .catalog-small-description, .catalog-grid .catalog-item:hover .catalog-small-more { transform: none; }
}

/* Detail links remain visible while secondary information is revealed. */
.catalog-grid .catalog-item:focus-within { border-color: var(--catalog-accent); box-shadow: 0 14px 32px rgba(14,65,46,.12); }
.catalog-small-card:focus-visible { outline-offset: -3px; border-radius: 8px; }
.catalog-grid .catalog-item:focus-within .catalog-small-description { opacity: 1; transform: none; }
.catalog-grid .catalog-item:focus-within h3 { color: var(--catalog-accent); }
.catalog-small-copy { padding-bottom: 82px; }
.catalog-small-description { color: var(--catalog-muted); }
.catalog-small-more { color: var(--catalog-accent); }
.catalog-small-more i { transition: transform .25s ease; }
.catalog-item:hover .catalog-small-more i, .catalog-item:focus-within .catalog-small-more i { transform: translateX(5px); }
.catalog-preview-trigger { position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #dbe5df; border-radius: 50%; color: var(--catalog-ink); background: #fff; box-shadow: 0 3px 12px #16372b1a; cursor: pointer; transition: opacity .2s ease, transform .25s ease, background .2s ease; }
.catalog-preview-trigger img { width: 19px; height: 19px; }
.catalog-preview-trigger:hover { background: #eaf5ef; }
.catalog-preview-trigger:active { transform: scale(.95); }
.product-catalog-page button:focus-visible { outline: 2px solid var(--catalog-accent); outline-offset: 3px; }
.catalog-preview-trigger::after { content: attr(data-tooltip); position: absolute; right: 0; top: calc(100% + 7px); padding: 6px 10px; border-radius: 4px; background: #26332e; color: #fff; font-size: 12px; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity .15s ease; }
.catalog-preview-trigger:hover::after, .catalog-preview-trigger:focus-visible::after { opacity: 1; }
.catalog-preview { position: fixed; inset: 0; width: min(920px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 0; overflow: auto; border: 0; border-radius: 8px; color: var(--catalog-ink); background: #fff; box-shadow: 0 28px 100px #0005; }
.catalog-preview:not([open]) { display: none; }
.catalog-preview::backdrop { background: rgba(13,27,23,.7); }
.catalog-preview-close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; padding: 0; border: 1px solid #dbe5df; border-radius: 50%; background: #fff; color: #26332e; font-size: 30px; line-height: 1; cursor: pointer; }
.catalog-preview-close:hover { background: #eaf5ef; }
.catalog-preview-media { padding: 32px; background: #f4f7f5; }
.catalog-preview-media img { display: block; width: 100%; height: min(52vh, 480px); object-fit: contain; }
.catalog-preview-copy { padding: 24px 32px 28px; }
.catalog-preview-copy h2 { margin: 8px 0 20px; font-size: 24px; line-height: 1.5; overflow-wrap: anywhere; }
.catalog-preview-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; color: var(--catalog-accent); font-size: 15px; font-weight: 600; }
.catalog-preview-link img { width: 8px; height: 14px; filter: brightness(.4); }
@media (hover: hover) and (pointer: fine) {
  .catalog-preview-trigger { opacity: 0; transform: translateY(6px); }
  .catalog-item:hover .catalog-preview-trigger, .catalog-item:focus-within .catalog-preview-trigger { opacity: 1; transform: none; }
  .catalog-grid .catalog-item:hover { transform: translateY(-7px); border-color: #88bca6; box-shadow: 0 20px 40px rgba(14,65,46,.15); }
}
@media (max-width: 767px) {
  .catalog-categories { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; gap: 24px; }
  .catalog-categories a { flex-shrink: 0; }
  .catalog-preview-copy { padding: 20px; }
  .catalog-preview-copy h2 { font-size: 21px; }
  .catalog-preview-media { padding: 52px 16px 16px; }
}
@media (hover: none) {
  .catalog-small-description { opacity: 1; transform: none; }
  .catalog-grid .catalog-item:hover, .catalog-grid .catalog-item:hover .catalog-small-media img { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .catalog-preview-trigger, .catalog-preview-trigger::after, .catalog-small-more i { transition: none; }
  .catalog-grid .catalog-item:hover, .catalog-preview-trigger, .catalog-item:hover .catalog-small-more i, .catalog-item:focus-within .catalog-small-more i { transform: none; }
}
