/* Long Teng · assured, concise, welcoming · 2026-09-05
   Preserve the entrance and its floor repair. Refine the editorial page below. */
:root {
  --reading-ink: #534334;
  --action-ink: #792b23;
}

/* One continuous paper surface, with hierarchy supplied by type and spacing. */
.opening-gate .arrival-overview {
  background: linear-gradient(180deg, var(--cream), #e8dac0b3 40%, #e8dac000);
}
.opening-gate .arrival-overview-inner { border-top: 0; }
.opening-gate .trust-continuation::before { content: none; }
.opening-gate .arrival-fact > span {
  font-size: .875rem;
  line-height: 1.65;
  color: var(--reading-ink);
}
.trust-continuation .usp h3 { font-size: 1rem; line-height: 1.4; }
.trust-continuation .usp p { font-size: 1rem; line-height: 1.65; color: var(--reading-ink); }
.trust-continuation .usps-grid { gap: 1.75rem 2.25rem; }

section.sortiment, section.b2b, section.kontakt {
  padding-top: clamp(3.5rem, 6vw, 5rem);
  padding-bottom: 1.75rem;
}
section .sec-head { margin-bottom: clamp(2rem, 4vw, 3rem); }
section .sec-head h2 { color: #592f22; }
section .sec-head p { font-size: 1rem; line-height: 1.75; color: var(--reading-ink); max-width: 55ch; }
section .sec-head .kicker { font-size: .75rem; }

.cat-grid > .cat-button { padding-block: 1.6rem; }
.cat-button .cat-title { font-size: 1.125rem; line-height: 1.4; font-weight: 700; }
.cat-button .cat-desc { font-size: 1rem; line-height: 1.65; color: var(--reading-ink); }
.cat-button .cat-count { font-size: .875rem; min-height: 2.75rem; padding-top: .5rem; color: var(--action-ink); font-weight: 700; }
.cat-button .zh-sub { font-size: .9375rem; }
.cat-grid > .cat:not(button) p { font-size: 1rem; line-height: 1.65; }
.cat-grid > .cat:not(button) a { font-size: .9375rem; min-height: 2.75rem; display: inline-flex; align-items: center; }
.cat-button:focus-visible { outline: 2px solid var(--action-ink); outline-offset: 5px; }

.pdf-bar { border: 0; padding: 1.75rem 0; background: transparent; gap: 1.5rem 2rem; }
.pdf-bar h3 { font-size: 1.125rem; color: var(--ink); }
.pdf-bar p { font-size: 1rem; line-height: 1.65; color: var(--reading-ink); max-width: 48ch; }
.catalog-date { display: block; margin-top: .6rem; font-size: .8125rem; color: var(--reading-ink); }
.pdf-bar .btn-gold {
  background: var(--action-ink);
  border: 1px solid var(--action-ink);
  color: #fff5e4;
  box-shadow: none;
  font-size: .9375rem;
  min-height: 3rem;
  padding: .875rem 1.25rem;
}

.b2b-grid { gap: 1.75rem 2.5rem; }
.b2b-card h3 { font-size: 1.125rem; line-height: 1.4; }
.b2b-card p { font-size: 1rem; line-height: 1.75; color: var(--reading-ink); }
.b2b-card .step { color: #536d58; }
.ordering-note { max-width: 62ch; margin: 1.75rem auto 0; font-size: .9375rem; line-height: 1.7; text-align: center; color: var(--reading-ink); }
.ordering-note a { color: var(--action-ink); font-weight: 700; text-underline-offset: .25em; }

.k-item h4 { font-size: .875rem; font-weight: 700; color: var(--reading-ink); }
.k-item p, .k-item a { font-size: 1rem; line-height: 1.65; color: var(--reading-ink); }
.k-item a[href^="tel:"], .k-item a[href^="mailto:"] { color: var(--action-ink); font-weight: 600; text-decoration: underline; text-decoration-color: #792b2340; text-underline-offset: .25em; }
.contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.contact-actions .btn { min-height: 3rem; font-size: .9375rem; padding: .875rem 1.25rem; }
.contact-actions .btn-red { background: var(--action-ink); color: #fff5e4; box-shadow: none; }
.contact-call { display: inline-flex; align-items: center; min-height: 3rem; color: var(--action-ink); font-size: .9375rem; font-weight: 700; text-decoration: underline; text-underline-offset: .25em; }
.map-card { background: transparent; box-shadow: none; }
.map-consent { background: linear-gradient(145deg, #dfcba933, #e8dac000 75%); }
.map-consent .mc-t { font-size: 1rem; }
.map-consent .mc-s { font-size: .875rem; line-height: 1.65; color: var(--reading-ink); }
.map-consent .btn { min-height: 2.75rem; font-size: .875rem; }
.map-card .map-foot, .map-card .map-foot a { font-size: .875rem; }

/* Existing dialogs remain the same workflow; comfortable reading and inputs. */
.product-summary, .product-row, .product-search input,
.inquiry-intro, .inquiry-field input, .inquiry-field select,
.inquiry-field textarea { font-size: 1rem; }
.product-source, .product-table-head, .product-result,
.product-footer .product-pdf, .inquiry-field label,
.inquiry-consent label, .inquiry-message-hint { font-size: .875rem; }
.product-pack, .product-unit, .product-chinese { font-size: .875rem; color: var(--reading-ink); }
.product-table-head, .product-row { grid-template-columns: 5.25rem minmax(0, 2fr) minmax(0, 1fr) 7rem; }
.product-row > * { min-width: 0; overflow-wrap: anywhere; }
.product-footer .btn, .inquiry-actions .btn { min-height: 3rem; font-size: .9375rem; }
.inquiry-close { min-width: 2.75rem; min-height: 2.75rem; }
.inquiry-note, .inquiry-required { font-size: .8125rem; }
.inquiry-intro { line-height: 1.7; }
footer .foot-grid p, footer .foot-grid a { font-size: .875rem; }

@media (max-width: 760px) {
  .container, .usps { padding-inline: 0; }
  .cat-grid { column-gap: 1.5rem; }
  .cat-button .cat-title { font-size: 1rem; }
  .cat-button .cat-desc { font-size: 1rem; }
  .cat-button svg.sortiment-art { width: 6.25rem; height: 5.25rem; }
  .ordering-note { text-align: left; }
  /* Keep column names available to assistive technology in the stacked view. */
  .product-table-head {
    display: grid;
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .product-row { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: .5rem .75rem; }
  .product-row .product-article { grid-column: 1; grid-row: 1 / span 3; }
  .product-row .product-description, .product-row .product-chinese,
  .product-row .product-unit { grid-column: 2; }
  .product-row .product-description { grid-row: 1; }
  .product-row .product-chinese { grid-row: 2; }
  .product-row .product-unit { grid-row: 3; text-align: left; }
}
@media (max-width: 599px) {
  .opening-gate .arrival-overview-inner { grid-template-columns: 1fr 1fr; gap: .5rem 1.5rem; }
  .opening-gate .arrival-fact:first-child { grid-column: 1 / -1; }
  .cat-grid { grid-template-columns: 1fr; }
  .cat-grid > .cat-button { display: grid; grid-template-columns: 5rem minmax(0, 1fr); column-gap: 1rem; align-content: start; padding-block: 1.5rem; }
  .cat-button .ico { grid-column: 1; grid-row: 1 / span 4; align-self: start; margin: .35rem 0 0; }
  .cat-button svg.sortiment-art { width: 5rem; height: 4.5rem; }
  .cat-button .zh-sub, .cat-button .cat-title, .cat-button .cat-desc,
  .cat-button .cat-count { grid-column: 2; }
  .cat-button .cat-desc { margin-bottom: .35rem; }
  .cat-button .zh-sub { margin-bottom: .25rem; }
  .cat-grid > .cat:not(button) { padding: 1.5rem 0; }
  .trust-continuation .usps-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .trust-continuation .usp { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); column-gap: 1rem; padding-block: .35rem; }
  .trust-continuation .usp .ico { grid-column: 1; grid-row: 1 / span 2; margin: .15rem 0 0; }
  .trust-continuation .usp h3, .trust-continuation .usp p { grid-column: 2; }
  .pdf-bar { align-items: flex-start; }
  .pdf-bar .btn-gold { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .cat-button { transition: none; }
  html { scroll-behavior: auto; }
}

/* A clear, comfortable route through the same restrained visual language. */
.gate:not(.gate-static) .gate-stage { overflow: clip; }
header.site-header .nav-links a { font-size: .875rem; }
.opening-gate .gate-title .btn {
  min-height: 3rem;
  font-size: .875rem;
  line-height: 1.4;
}
html.js .opening-gate .gate:not(.gate-static) .gate-direct {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-size: .875rem;
  letter-spacing: .01em;
  opacity: 1;
}
.opening-gate .gate-welcome p { font-size: 1rem; color: var(--reading-ink); }
.opening-gate .gate-welcome-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-size: .9375rem;
  letter-spacing: .02em;
  color: var(--action-ink);
}
.product-dialog { max-height: 88dvh; }
.inquiry-field input, .inquiry-field select, .inquiry-field textarea,
.product-search input { border-color: #8c765d; }
.inquiry-field input:focus, .inquiry-field select:focus, .inquiry-field textarea:focus,
.product-search input:focus { border-color: var(--action-ink); }
.inquiry-status.info { color: var(--reading-ink); font-weight: 500; }
.product-footer-actions .btn, .inquiry-actions .btn {
  background: var(--action-ink);
  color: #fff5e4;
}
.product-dialog :focus-visible, .inquiry-dialog :focus-visible,
.gate-welcome-link:focus-visible, .gate-welcome h2:focus-visible {
  outline: 2px solid var(--action-ink);
  outline-offset: 4px;
}

@media (max-width: 1099px) {
  header.site-header .nav-links a { font-size: .9375rem; }
}
@media (max-height: 600px) {
  /* Short screens need room for the actual products, not two sticky panels. */
  .product-head, .product-footer { position: static; }
}
@media (max-width: 760px) {
  .product-dialog { height: 100dvh; max-height: 100dvh; }
  .opening-gate .gate-title .hero-ctas { gap: .75rem 1rem; }
}
