@layer reset, base, components, responsive;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, h2, h3, h4, p, dl, dd { margin: 0; }
  button, input, select, textarea { font: inherit; }
  button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
  button { cursor: pointer; }
  button, input, select, textarea { color: inherit; }
  button { border: 0; }
  img, svg { display: block; }
  img { max-width: 100%; }
  a { color: inherit; text-decoration: none; }
  button { background: none; }
  [hidden] { display: none !important; }
}

@layer base {
  :root { --ink: #22251f; --muted: #74766e; --subtle: #a0a197; --gold: #d6b367; --gold-light: #eee1bc; --paper: #f8f8f4; --white: #fff; --line: #e5e6dd; --dark: #1b1e19; --radius: 16px; --ease: cubic-bezier(.2,.8,.2,1); }
  html { scroll-behavior: smooth; scroll-padding-top: 24px; }
  body { background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
  ::selection { color: var(--ink); background: var(--gold-light); }
  :focus-visible { outline: 3px solid #b08631; outline-offset: 4px; }
  button, a { touch-action: manipulation; }
  button { transition: background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease); }
  button:active, .button:active { transform: scale(.98); }
  input, select, textarea { border: 1px solid var(--line); background: var(--white); border-radius: 9px; }
  select { cursor: pointer; }
  textarea { resize: vertical; min-height: 94px; }
  .site-width { width: min(1320px, calc(100% - 64px)); margin-inline: auto; }
  .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .icon { flex-shrink: 0; }
  .skip-link { position: fixed; top: 8px; left: 12px; z-index: 20; padding: 12px 16px; background: var(--dark); color: white; border-radius: 8px; transform: translateY(-140%); }
  .skip-link:focus { transform: translateY(0); }
  .eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
  .button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; border: 1px solid transparent; border-radius: 9px; padding: 12px 17px; font-size: 12px; font-weight: 650; line-height: 1.3; text-align: center; transition: background .18s var(--ease), transform .18s var(--ease); }
  .button .icon { width: 17px; height: 17px; }
  .button--dark { background: var(--dark); color: white; }
  .button--gold { background: var(--gold); color: #202319; }
  .button--outline { background: white; border-color: #d6d8cd; color: var(--ink); }
  .icon-button { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; }
  .text-link { font-size: 12px; display: inline-flex; align-items: center; gap: 8px; font-weight: 550; }
  .text-link .icon { width: 16px; height: 16px; }
}

@layer components {
  .utility-bar { background: var(--dark); color: #c8cabf; font-size: 10px; letter-spacing: .025em; }
  .utility-inner { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
  .utility-divider { margin-inline: 9px; color: #777e69; }
  .utility-inner a { display: flex; align-items: center; gap: 8px; color: #e1d5b6; }
  .utility-inner a .icon { width: 12px; height: 12px; }
  .market-header { background: white; border-bottom: 1px solid var(--line); }
  .header-main { display: flex; align-items: center; gap: 34px; min-height: 108px; }
  .brand { display: inline-flex; flex-shrink: 0; align-items: center; gap: 10px; line-height: 1; }
  .brand img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
  .brand span { display: flex; flex-direction: column; gap: 5px; }
  .brand strong { font-size: 21px; letter-spacing: .085em; font-weight: 850; }
  .brand small { font-size: 10px; letter-spacing: .225em; font-weight: 650; }
  .market-search { flex: 1; min-width: 0; display: flex; align-items: center; border: 1.5px solid #3b402f; border-radius: 10px; height: 48px; padding: 4px; background: white; }
  .market-search:focus-within { border-color: #a17d35; box-shadow: 0 0 0 3px #d6b3671c; }
  .market-search select { width: 142px; padding: 0 10px; font-size: 11px; height: 30px; border: 0; border-radius: 0; border-right: 1px solid var(--line); outline: 0; }
  .market-search input { min-width: 0; flex: 1; height: 38px; border: 0; outline: 0; padding: 0 14px; font-size: 12px; background: transparent; }
  .market-search input::placeholder { color: #8c8d85; }
  .market-search button { height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; background: var(--gold); border-radius: 6px; font-size: 12px; font-weight: 650; }
  .market-search button .icon { width: 17px; height: 17px; }
  .header-actions { display: flex; align-items: center; gap: 19px; }
  .header-saved { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; font-size: 9px; min-width: 50px; min-height: 44px; }
  .header-saved .icon { width: 22px; height: 22px; }
  .header-saved small { position: absolute; top: -1px; right: 5px; font-size: 8px; line-height: 15px; min-width: 15px; background: var(--gold-light); border-radius: 50%; border: 1.5px solid white; }
  .header-saved[aria-pressed=true] { color: #a47b29; }
  .header-quote { min-height: 44px; padding-inline: 15px; white-space: nowrap; }
  .category-nav { display: flex; align-items: center; gap: 24px; min-height: 48px; overflow-x: auto; scrollbar-width: none; }
  .category-nav::-webkit-scrollbar { display: none; }
  .category-button { display: flex; align-items: center; gap: 8px; min-height: 44px; flex-shrink: 0; text-align: left; font-size: 11px; color: #65695d; }
  .category-button .icon { width: 17px; height: 17px; color: #858b77; }
  .category-button.is-active, .category-button[aria-pressed=true] { color: var(--ink); font-weight: 650; }
  .category-button.is-active .icon, .category-button[aria-pressed=true] .icon { color: #97732e; }
  .category-nav > .category-button:first-child { padding-right: 25px; margin-right: 2px; border-right: 1px solid var(--line); }
  .category-nav-partners { display: flex; align-items: center; gap: 6px; margin-left: auto; padding-left: 20px; white-space: nowrap; font-size: 11px; font-weight: 600; }
  .category-nav-partners .icon { width: 14px; height: 14px; }
  .market-intro { display: grid; grid-template-columns: 208px minmax(0,1fr) 245px; gap: 18px; margin-top: 24px; }
  .hero-categories { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 14px 13px; display: flex; flex-direction: column; }
  .aside-heading { font-weight: 700; font-size: 12px; padding: 0 8px 13px; border-bottom: 1px solid #edeee7; margin-bottom: 6px; }
  .category-button--hero { width: 100%; gap: 10px; padding: 9px 8px; border-radius: 7px; color: #444b3b; min-height: 43px; }
  .category-button--hero span { flex: 1; }
  .category-button--hero > .icon:last-child { width: 12px; height: 12px; color: #adb09f; }
  .category-button--hero[aria-pressed=true] { background: #f5f1e7; }
  .see-all { display: flex; align-items: center; justify-content: space-between; margin: auto 8px 0; padding-top: 16px; font-size: 10px; font-weight: 650; }
  .see-all .icon { width: 15px; height: 15px; }
  .hero-categories-note { border-top: 1px solid #edeee7; font-size: 9px; color: var(--muted); margin: 14px 8px 0; padding-top: 12px; }
  .market-hero { min-height: 342px; border-radius: var(--radius); position: relative; isolation: isolate; overflow: hidden; background: #272d25; color: white; }
  .hero-image { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 65% 55%; inset: 0; z-index: -2; }
  .hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #151a16eb 0%, #151a16c4 40%, #151a1642 80%), linear-gradient(0deg, #151a1655, transparent 60%); }
  .hero-content { padding: 35px 34px; max-width: 470px; }
  .hero-content .eyebrow { display: flex; align-items: center; gap: 7px; color: #e4cd94; font-size: 8px; letter-spacing: .12em; }
  .hero-content .eyebrow span { width: 5px; height: 5px; background: var(--gold); border-radius: 50%; }
  .hero-content h1 { margin-top: 16px; margin-bottom: 17px; font-size: clamp(34px, 3.3vw, 47px); line-height: 1.04; font-weight: 650; letter-spacing: -.055em; }
  .hero-content > p:not(.eyebrow) { font-size: 11px; line-height: 1.75; color: #d6d9cd; }
  .hero-content .button { margin-top: 25px; min-height: 42px; padding-inline: 16px; font-size: 11px; }
  .hero-image-note { position: absolute; bottom: 13px; right: 16px; color: #e4e8d6a6; font-size: 8px; }
  .hero-rfq { border-radius: var(--radius); background: #eeece1; border: 1px solid #e6e2d3; padding: 20px; display: flex; align-items: flex-start; flex-direction: column; }
  .rfq-icon { background: #fffdf6; border: 1px solid #ded8c3; border-radius: 10px; width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 14px; color: #8a713d; }
  .rfq-icon .icon { width: 19px; height: 19px; }
  .hero-rfq .eyebrow { font-size: 7px; color: #7c7c6e; letter-spacing: .12em; }
  .hero-rfq h2 { margin-top: 8px; font-size: 25px; line-height: 1.08; letter-spacing: -.04em; font-weight: 650; }
  .hero-rfq > p:not(.eyebrow) { font-size: 10px; line-height: 1.65; margin-top: 11px; color: #717363; }
  .rfq-steps { display: grid; gap: 5px; margin-top: 13px; margin-bottom: 17px; }
  .rfq-steps span { display: flex; align-items: center; gap: 6px; font-size: 9px; color: #555b49; }
  .rfq-steps .icon { width: 12px; height: 12px; color: #96936f; }
  .hero-rfq .button { width: 100%; margin-top: auto; font-size: 10px; min-height: 39px; padding: 9px; }
  .hero-rfq > small { align-self: center; margin-top: 8px; font-size: 8px; color: #858677; }
  .service-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 18px; border: 1px solid var(--line); background: #fdfdfa; border-radius: 12px; }
  .service-strip > div { display: flex; align-items: center; gap: 13px; padding: 17px 26px; }
  .service-strip > div + div { border-left: 1px solid var(--line); }
  .service-strip > div > .icon { width: 25px; height: 25px; color: #9b8c65; }
  .service-strip strong { display: block; font-size: 11px; font-weight: 650; }
  .service-strip small { display: block; margin-top: 3px; font-size: 9px; color: var(--muted); }
  .catalog-section { padding-top: 43px; }
  .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
  .section-heading .eyebrow { color: #8d845e; font-size: 9px; margin-bottom: 7px; }
  .section-heading h2 { font-size: 27px; line-height: 1.15; font-weight: 650; letter-spacing: -.045em; }
  .section-heading .text-link { margin-bottom: 2px; font-size: 10px; color: #6f7464; }
  .catalog-layout { display: grid; grid-template-columns: 208px minmax(0,1fr); gap: 24px; align-items: start; }
  .catalog-filters { border: 1px solid var(--line); background: white; padding: 16px 14px; border-radius: 12px; }
  .filter-title { display: flex; align-items: center; gap: 8px; padding: 2px 4px 15px; border-bottom: 1px solid #ebede4; }
  .filter-title .icon { width: 17px; height: 17px; }
  .filter-title h3 { font-size: 11px; font-weight: 650; }
  .filter-group { padding-top: 16px; }
  .filter-group h4, .filter-group > label { display: block; font-size: 10px; font-weight: 650; margin-bottom: 9px; padding-inline: 4px; }
  .category-button--rail { padding: 8px 6px; width: 100%; min-height: 38px; font-size: 10px; gap: 8px; border-radius: 6px; }
  .category-button--rail .icon { width: 14px; height: 14px; }
  .category-button--rail span { flex: 1; }
  .category-button--rail small { color: #969b8b; font-size: 9px; font-weight: 400; }
  .category-button--rail[aria-pressed=true] { background: #f4f1e7; }
  .filter-group select { width: 100%; padding: 10px 9px; font-size: 10px; border-radius: 6px; }
  .filter-favorites { font-size: 10px; display: flex; align-items: center; gap: 7px; min-height: 38px; width: 100%; padding: 0 4px; }
  .filter-favorites .icon { width: 15px; height: 15px; }
  .filter-favorites[aria-pressed=true] { color: #987226; }
  .filter-help { border-top: 1px solid var(--line); margin-top: 13px; padding: 17px 4px 1px; font-size: 9px; }
  .filter-help > span { color: #888d7b; }
  .filter-help button, .filter-help a { display: flex; align-items: center; gap: 5px; margin-top: 7px; font-weight: 600; font-size: 9px; min-height: 25px; }
  .filter-help .icon { width: 13px; height: 13px; }
  .catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; min-height: 35px; }
  #results-count { font-size: 11px; color: #707665; }
  .sort-control { display: flex; gap: 8px; align-items: center; font-size: 10px; }
  .sort-control label { color: #929784; }
  .sort-control select { padding: 7px 22px 7px 9px; border-radius: 6px; font-size: 10px; }
  .product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
  .product-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e3e5db; background: #fff; border-radius: 12px; transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
  .product-visual { position: relative; background: #f1f2ec; aspect-ratio: 1.3; overflow: hidden; }
  .product-image-button { display: block; width: 100%; height: 100%; }
  .product-image-button img { width: 100%; height: 100%; object-fit: contain; padding: 12px; mix-blend-mode: multiply; transition: transform .3s var(--ease); }
  .product-image-placeholder { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 12px; color: #a3aa93; }
  .product-image-placeholder .icon { width: 68px; height: 68px; stroke-width: 1; }
  .product-image-placeholder small { font-size: 10px; }
  .favorite-button { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #ffffffeb; border: 1px solid #e5e8de; }
  .favorite-button .icon { width: 15px; height: 15px; }
  .favorite-button[aria-pressed=true] { color: #9e772c; background: #faf0d8; border-color: #d6bd87; }
  .favorite-button[aria-pressed=true] .icon { fill: #d6b36755; }
  .image-note { position: absolute; bottom: 7px; left: 10px; font-size: 7px; color: #8d9382; pointer-events: none; }
  .product-info { padding: 14px 13px 11px; display: flex; flex-direction: column; flex: 1; }
  .product-meta { display: flex; flex-wrap: wrap; gap: 4px 7px; align-items: center; font-size: 9px; color: #7d856f; text-transform: uppercase; letter-spacing: .02em; }
  .product-meta span + span { border-left: 1px solid #dfe2d6; padding-left: 7px; color: #656c58; }
  .product-info h3 { font-size: 14px; font-weight: 650; line-height: 1.25; letter-spacing: -.02em; margin-top: 7px; min-height: 35px; }
  .product-info h3 button { font-weight: inherit; text-align: left; line-height: inherit; }
  .product-summary { font-size: 10px; line-height: 1.6; color: #7e8770; margin-top: 7px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 32px; }
  .product-specs { display: flex; align-items: stretch; gap: 0; margin-top: 13px; min-height: 29px; }
  .product-specs > div { flex: 1; min-width: 0; }
  .product-specs > div + div { border-left: 1px solid #eaede2; padding-left: 10px; margin-left: 10px; }
  .product-specs dt { font-size: 8px; line-height: 1.25; color: #889276; }
  .product-specs dd { margin-top: 3px; font-size: 11px; font-weight: 600; color: #515c42; line-height: 1.3; overflow-wrap: anywhere; }
  .product-reference { font-size: 8px; line-height: 1.5; color: #7e896d; margin: 13px 0 10px; }
  .product-card-bottom { border-top: 1px solid #edf0e5; padding-top: 10px; margin-top: auto; }
  .quote-product { display: flex; align-items: center; justify-content: space-between; gap: 5px; width: 100%; min-height: 38px; border-radius: 6px; background: #f2ecd9; padding: 7px 8px; font-size: 10px; font-weight: 650; color: #685b37; }
  .quote-product .icon { width: 13px; height: 13px; }
  .compare-check { display: flex; align-items: center; gap: 5px; width: max-content; min-height: 30px; margin-top: 4px; font-size: 9px; color: #788668; cursor: pointer; }
  .compare-check input { appearance: auto; width: 11px; height: 11px; accent-color: #82704c; margin: 0; border-radius: 3px; }
  .catalog-disclaimer { font-size: 9px; color: #969d88; margin-top: 18px; max-width: 770px; line-height: 1.7; }
  .empty-state { min-height: 300px; padding: 50px 20px; text-align: center; background: white; border: 1px solid var(--line); border-radius: 12px; }
  .empty-state > .icon { width: 36px; height: 36px; margin: 0 auto 18px; color: #a7ac99; }
  .empty-state h3 { font-size: 20px; letter-spacing: -.03em; }
  .empty-state p { margin: 10px auto 20px; color: var(--muted); font-size: 12px; }
  .buyer-banner { display: flex; align-items: center; gap: 28px; margin-top: 48px; margin-bottom: 45px; background: var(--dark); color: #fff; border-radius: 16px; padding: 30px 38px; overflow: hidden; }
  .buyer-banner-art { width: 96px; height: 96px; flex-shrink: 0; border: 1px solid #d6b36726; border-radius: 50%; display: grid; place-items: center; color: var(--gold); background: radial-gradient(circle,#d6b36712,transparent); }
  .buyer-banner-art .icon { width: 52px; height: 52px; stroke-width: 1; }
  .buyer-banner .eyebrow { font-size: 8px; color: #b8a878; margin-bottom: 8px; }
  .buyer-banner h2 { font-size: 25px; line-height: 1.13; letter-spacing: -.035em; font-weight: 550; }
  .buyer-banner p:not(.eyebrow) { font-size: 10px; color: #b2baa7; max-width: 430px; margin-top: 10px; }
  .buyer-banner > .button { margin-left: auto; flex-shrink: 0; font-size: 11px; }
  .market-footer { background: #fff; border-top: 1px solid var(--line); }
  .footer-main { display: flex; align-items: center; gap: 44px; padding-block: 29px; }
  .brand--footer img { width: 43px; height: 43px; }
  .brand--footer strong { font-size: 16px; }
  .brand--footer small { font-size: 8px; }
  .footer-main > p { font-size: 10px; color: #929986; line-height: 1.7; }
  .footer-links { display: flex; flex-direction: column; gap: 8px; margin-left: auto; font-size: 10px; }
  .footer-links a { display: flex; align-items: center; gap: 8px; }
  .footer-links .icon { width: 13px; height: 13px; color: #929986; }
  .footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-top: 1px solid #edf0e5; min-height: 46px; font-size: 8px; color: #9aa18e; }
  .footer-bottom > a { min-height: 40px; display: flex; align-items: center; }
  .compare-bar { position: fixed; bottom: max(20px,env(safe-area-inset-bottom)); left: 50%; z-index: 10; transform: translateX(-50%); display: flex; gap: 25px; align-items: center; max-width: calc(100% - 32px); width: 620px; padding: 14px 18px 14px 24px; border-radius: 13px; background: #22281ff5; box-shadow: 0 8px 40px #14180f40; color: #fff; backdrop-filter: blur(16px); }
  .market-status { position: fixed; z-index: 15; left: 50%; bottom: 105px; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 9px; background: #fffdf6; color: #4b563c; border: 1px solid #ddd9c9; box-shadow: 0 5px 24px #1b271d16; font-size: 12px; text-align: center; pointer-events: none; }
  .market-status:empty { display: none; }
  .compare-bar > div { flex: 1; min-width: 0; }
  .compare-bar strong { display: block; font-size: 12px; font-weight: 550; }
  #compare-products { display: block; margin-top: 4px; font-size: 9px; color: #b2bba3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .compare-bar .button { font-size: 11px; min-height: 38px; }
  .compare-bar .icon-button { width: 30px; height: 30px; color: #c1c9b6; }
  .market-dialog { border: 0; border-radius: 20px; padding: 0; width: min(860px,calc(100% - 40px)); max-height: min(90dvh,920px); color: var(--ink); background: #fff; box-shadow: 0 25px 100px #0c110c55; overflow: auto; }
  .market-dialog::backdrop { background: #171c16a3; backdrop-filter: blur(5px); }
  .dialog-close { position: absolute; top: 16px; right: 16px; z-index: 2; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #dfe3d7; border-radius: 50%; background: #fffffff2; color: #6c765e; }
  .dialog-close .icon { width: 17px; height: 17px; }
  .dialog-content { padding: 38px; }
  .dialog-content > .eyebrow { color: #a18a4e; font-size: 9px; margin-bottom: 8px; }
  .dialog-content h2 { font-size: 29px; line-height: 1.1; letter-spacing: -.04em; font-weight: 650; padding-right: 30px; }
  .dialog-lead { margin-top: 12px; font-size: 12px; color: var(--muted); max-width: 550px; }
  .quote-dialog { width: min(680px,calc(100% - 40px)); }
  .quote-selection { background: #f7f5ec; border: 1px solid #e8e1cd; border-radius: 9px; padding: 12px 15px; font-size: 11px; color: #776a43; margin-top: 20px; }
  .quote-selection:empty { display: none; }
  .quote-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 17px; margin-top: 23px; }
  .form-field { min-width: 0; }
  .form-field label { font-size: 10px; font-weight: 600; display: block; margin-bottom: 6px; }
  .form-field label > span { color: #a18a4e; }
  .form-field input, .form-field textarea { width: 100%; padding: 11px 12px; font-size: 12px; border-color: #dfe4d6; }
  .form-field input::placeholder, .form-field textarea::placeholder { color: #a1a895; }
  .form-field--wide, .form-note, .quote-form-actions { grid-column: 1/-1; }
  .form-note { font-size: 10px; color: #909983; line-height: 1.6; }
  .quote-form-actions { display: flex; gap: 10px; }
  .quote-form-actions .button { flex: 1; font-size: 11px; }
  .quote-draft { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
  .quote-draft h3 { font-size: 17px; letter-spacing: -.02em; margin-bottom: 9px; }
  .quote-draft > p { color: var(--muted); font-size: 12px; margin-bottom: 12px; }
  .quote-draft pre { font: inherit; font-size: 11px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 260px; overflow-y: auto; background: #f7f8f2; border: 1px solid #e5e9dc; border-radius: 10px; padding: 17px; margin: 14px 0; }
  .quote-draft .button { margin-top: 4px; }
  .product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
  .product-detail-image, .detail-image { width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 12px; background: #f2f4ec; }
  .product-detail h2 { font-size: 28px; margin: 8px 0 14px; }
  .product-detail p { font-size: 12px; color: #7c876c; line-height: 1.7; margin-bottom: 14px; }
  .product-detail dl, .detail-specs { margin: 18px 0; }
  .product-detail dl > div, .detail-specs > div { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 11px 0; border-bottom: 1px solid #e9eddf; font-size: 11px; }
  .product-detail dt { color: #8e987d; }
  .product-detail dd { font-weight: 600; }
  .product-detail .button { margin-top: 13px; }
  .comparison-table, .compare-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 24px; }
  .comparison-table th, .comparison-table td, .compare-table th, .compare-table td { text-align: left; padding: 16px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
  .comparison-table th:first-child, .compare-table th:first-child { color: #859273; font-weight: 500; }
  .comparison-table img, .compare-table img { max-height: 130px; width: 100%; object-fit: contain; margin-bottom: 15px; }
  .compare-table-wrap, .comparison-scroll { overflow-x: auto; }
  .noscript-note { padding: 18px; text-align: center; background: #eee5cc; }
  @media (hover:hover) {
    .button--dark:hover { background: #353f2b; }
    .button--gold:hover { background: #e3c580; }
    .button--outline:hover { background: #f6f7ef; }
    .category-button:hover { color: #997632; }
    .category-button--hero:hover, .category-button--rail:hover { background: #f7f5ed; }
    .product-card:hover { border-color: #c8cfbc; box-shadow: 0 5px 20px #29331908; }
    .product-image-button:hover img { transform: scale(1.035); }
    .favorite-button:hover { background: #fff8e9; border-color: #d2bb87; }
    .quote-product:hover { background: #e7d9b2; }
    .product-info h3 button:hover, .text-link:hover, .footer-links a:hover { color: #9c7b36; }
  }
}

@layer responsive {
  @media (max-width: 1240px) {
    .site-width { width: calc(100% - 48px); }
    .header-main { gap: 22px; }
    .brand img { width: 45px; height: 45px; }
    .brand strong { font-size: 18px; }
    .brand small { font-size: 9px; }
    .header-actions { gap: 12px; }
    .header-quote { padding-inline: 12px; font-size: 10px; }
    .market-search select { width: 125px; font-size: 10px; padding-inline: 8px; }
    .market-search input { padding-inline: 10px; font-size: 11px; }
    .category-nav { gap: 22px; }
    .category-nav-partners { display: none; }
    .market-intro { grid-template-columns: 185px minmax(0,1fr) 218px; gap: 14px; }
    .hero-content { padding: 33px 27px; }
    .hero-content h1 { font-size: 39px; }
    .hero-rfq { padding: 19px 17px; }
    .hero-rfq h2 { font-size: 24px; }
    .catalog-layout { grid-template-columns: 185px minmax(0,1fr); gap: 20px; }
    .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .service-strip > div { padding-inline: 20px; gap: 10px; }
  }
  @media (max-width: 1000px) {
    .header-main { gap: 18px; min-height: 96px; }
    .market-search select { display: none; }
    .header-quote .icon { display: none; }
    .market-intro { grid-template-columns: minmax(0,1fr) 218px; }
    .hero-categories { display: none; }
    .market-hero { min-height: 330px; }
    .hero-content h1 { font-size: 44px; }
    .catalog-layout { grid-template-columns: 170px minmax(0,1fr); gap: 18px; }
    .catalog-filters { padding-inline: 10px; }
    .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .product-info { padding: 15px 15px 10px; }
    .product-info h3 { font-size: 15px; }
    .product-meta { font-size: 9px; }
    .product-summary { font-size: 10px; }
    .product-specs dt { font-size: 8px; }
    .product-specs dd { font-size: 11px; }
    .product-reference { font-size: 8px; }
    .quote-product { font-size: 10px; min-height: 35px; }
    .service-strip > div { padding: 16px 15px; gap: 10px; }
    .service-strip strong { font-size: 10px; }
    .service-strip small { font-size: 8px; }
    .service-strip > div > .icon { width: 20px; height: 20px; }
    .buyer-banner { gap: 20px; padding: 28px; }
    .buyer-banner-art { display: none; }
    .buyer-banner h2 { font-size: 23px; }
    .buyer-banner p:not(.eyebrow) { max-width: 350px; }
    .footer-main { gap: 28px; }
  }
  @media (max-width: 760px) {
    .site-width { width: calc(100% - 32px); }
    .utility-inner { min-height: 28px; font-size: 8px; }
    .utility-inner > a { font-size: 0; gap: 0; }
    .utility-inner > a::before { content: 'Para fabricantes'; font-size: 8px; }
    .utility-inner > a .icon { margin-left: 5px; width: 10px; height: 10px; }
    .utility-divider { margin-inline: 5px; }
    .header-main { flex-wrap: wrap; column-gap: 16px; row-gap: 13px; min-height: 0; padding-block: 16px 13px; }
    .brand { gap: 8px; }
    .brand img { width: 42px; height: 42px; }
    .brand strong { font-size: 17px; }
    .brand small { font-size: 8px; }
    .brand span { gap: 4px; }
    .header-actions { margin-left: auto; gap: 11px; }
    .header-saved { min-width: 38px; gap: 1px; font-size: 7px; }
    .header-saved .icon { width: 20px; height: 20px; }
    .header-saved small { right: -1px; top: 1px; }
    .header-quote { padding: 10px 12px; min-height: 39px; font-size: 9px; }
    .market-search { order: 3; flex-basis: 100%; height: 46px; border-color: #b9bba9; }
    .market-search input { font-size: 12px; padding-left: 11px; }
    .market-search button { height: 36px; padding-inline: 13px; }
    .market-search button span { font-size: 11px; }
    .category-nav { gap: 20px; min-height: 44px; }
    .category-button { font-size: 10px; min-height: 44px; }
    .category-button .icon { width: 15px; height: 15px; }
    .category-nav > .category-button:first-child { padding-right: 18px; }
    .market-intro { display: grid; grid-template-columns: 1fr; gap: 13px; margin-top: 16px; }
    .market-hero { min-height: 312px; }
    .hero-content { padding: 29px 26px; max-width: 390px; }
    .hero-content h1 { font-size: clamp(32px,8.9vw,43px); margin-top: 17px; }
    .hero-content .eyebrow { font-size: 7px; }
    .hero-content > p:not(.eyebrow) { font-size: 10px; }
    .hero-content .button { margin-top: 22px; font-size: 10px; min-height: 41px; }
    .hero-overlay { background: linear-gradient(90deg,#151a16e8 0%,#151a16c1 40%,#151a164a 100%); }
    .hero-rfq { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; align-items: center; padding: 17px 18px; border-radius: 12px; }
    .rfq-icon, .hero-rfq .eyebrow, .rfq-steps, .hero-rfq > small { display: none; }
    .hero-rfq h2 { grid-column: 1; margin: 0; font-size: 17px; letter-spacing: -.03em; }
    .hero-rfq h2 br { display: none; }
    .hero-rfq > p:not(.eyebrow) { grid-column: 1; font-size: 9px; margin-top: 5px; max-width: 220px; line-height: 1.5; }
    .hero-rfq .button { grid-column: 2; grid-row: 1/3; width: auto; font-size: 9px; padding: 10px 11px; min-height: 40px; margin-top: 0; }
    .hero-rfq .button .icon { width: 13px; height: 13px; }
    .service-strip { margin-top: 13px; grid-template-columns: repeat(3,1fr); border-radius: 10px; }
    .service-strip > div { flex-direction: column; align-items: center; gap: 7px; text-align: center; padding: 13px 6px; }
    .service-strip > div > .icon { width: 20px; height: 20px; }
    .service-strip strong { font-size: 8px; line-height: 1.4; max-width: 100px; }
    .service-strip small { display: none; }
    .catalog-section { padding-top: 30px; }
    .section-heading { margin-bottom: 17px; }
    .section-heading .eyebrow { font-size: 7px; margin-bottom: 6px; }
    .section-heading h2 { font-size: 23px; }
    .section-heading .text-link { display: none; }
    .catalog-layout { display: block; }
    .catalog-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; border: 0; border-radius: 0; padding: 0; background: transparent; margin-bottom: 12px; }
    .filter-title { border: 0; padding: 0; margin-right: 2px; }
    .filter-title h3 { font-size: 9px; }
    .filter-title .icon { width: 15px; height: 15px; }
    .filter-group { padding: 0; }
    .catalog-filters > .filter-group:nth-child(2), .filter-help { display: none; }
    .filter-group > label { display: none; }
    .filter-group select { min-height: 44px; padding: 9px 5px; font-size: 10px; width: 117px; border-color: #dbdfd1; background: #fff; }
    .filter-favorites { min-height: 44px; padding: 0 6px; font-size: 10px; }
    .filter-favorites .icon { width: 13px; height: 13px; }
    .catalog-toolbar { min-height: 35px; margin-bottom: 12px; gap: 8px; }
    #results-count { font-size: 9px; }
    .sort-control { gap: 3px; font-size: 9px; }
    .sort-control label { display: none; }
    .sort-control select { font-size: 9px; padding: 7px 6px; border-color: #e2e6d9; }
    .product-grid { gap: 11px; }
    .product-card { border-radius: 10px; }
    .product-info { padding: 12px 11px 8px; }
    .product-meta { font-size: 8px; gap: 3px 5px; }
    .product-meta span + span { padding-left: 5px; }
    .product-info h3 { font-size: 13px; min-height: 35px; margin-top: 6px; }
    .product-summary { display: none; }
    .product-specs { margin-top: 10px; min-height: 28px; }
    .product-specs > div + div { margin-left: 7px; padding-left: 7px; }
    .product-specs dt { font-size: 8px; }
    .product-specs dd { font-size: 10px; }
    .product-reference { font-size: 8px; line-height: 1.5; margin: 10px 0 8px; }
    .product-card-bottom { padding-top: 8px; }
    .quote-product { font-size: 9px; min-height: 44px; padding: 7px 6px; }
    .quote-product .icon { width: 11px; height: 11px; }
    .compare-check { min-height: 40px; font-size: 9px; }
    .compare-check input { width: 12px; height: 12px; }
    .favorite-button { top: 6px; right: 6px; width: 40px; height: 40px; }
    .favorite-button .icon { width: 16px; height: 16px; }
    .product-image-button img { padding: 9px; }
    .image-note { left: 8px; font-size: 6px; bottom: 6px; }
    .catalog-disclaimer { font-size: 8px; margin-top: 14px; }
    .buyer-banner { flex-direction: column; align-items: flex-start; gap: 20px; padding: 25px; margin-top: 28px; margin-bottom: 28px; border-radius: 12px; }
    .buyer-banner .eyebrow { font-size: 7px; }
    .buyer-banner h2 { font-size: 24px; }
    .buyer-banner p:not(.eyebrow) { font-size: 10px; max-width: 300px; }
    .buyer-banner > .button { margin-left: 0; min-height: 42px; font-size: 10px; }
    .footer-main { flex-wrap: wrap; gap: 18px 22px; padding-block: 23px; }
    .brand--footer img { width: 36px; height: 36px; }
    .brand--footer strong { font-size: 15px; }
    .brand--footer small { font-size: 7px; }
    .footer-main > p { font-size: 8px; flex: 1; min-width: 130px; }
    .footer-links { flex-basis: 100%; flex-direction: row; justify-content: space-between; font-size: 8px; margin-left: 0; gap: 10px; }
    .footer-links .icon { width: 10px; height: 10px; }
    .footer-bottom { font-size: 7px; gap: 10px; min-height: 48px; }
    .footer-bottom > span { max-width: 240px; }
    .footer-bottom > a { white-space: nowrap; font-size: 8px; }
    .compare-bar { gap: 10px; padding: 11px 10px 11px 15px; bottom: max(12px,env(safe-area-inset-bottom)); }
    .compare-bar strong { font-size: 10px; }
    #compare-products { font-size: 8px; max-width: 160px; }
    .compare-bar .button { min-height: 38px; padding: 9px 10px; font-size: 10px; gap: 6px; }
    .compare-bar .icon-button { width: 24px; }
    .market-dialog { width: calc(100% - 24px); border-radius: 15px; max-height: 92dvh; }
    .dialog-content { padding: 27px 22px; }
    .dialog-close { width: 32px; height: 32px; top: 13px; right: 13px; }
    .dialog-content > .eyebrow { max-width: 220px; font-size: 7px; }
    .dialog-content h2 { font-size: 26px; }
    .dialog-lead { font-size: 11px; line-height: 1.6; }
    .quote-form { grid-template-columns: 1fr; gap: 13px; margin-top: 19px; }
    .form-field label { font-size: 10px; }
    .form-field input, .form-field textarea { font-size: 16px; padding: 10px 11px; }
    .quote-form-actions { flex-direction: column; }
    .quote-form-actions .button { min-height: 44px; font-size: 11px; }
    .quote-draft pre { font-size: 10px; padding: 13px; max-height: 220px; }
    .quote-draft .button { width: 100%; }
    .product-detail { grid-template-columns: 1fr; gap: 22px; }
    .product-detail-image, .detail-image { max-height: 260px; }
    .product-detail h2 { font-size: 25px; }
    .comparison-table, .compare-table { min-width: 520px; font-size: 10px; }
    .comparison-table th, .comparison-table td, .compare-table th, .compare-table td { padding: 13px 9px; }
  }
  @media (max-width: 359px) {
    .site-width { width: calc(100% - 24px); }
    .header-main { column-gap: 10px; }
    .brand img { width: 36px; height: 36px; }
    .brand strong { font-size: 15px; }
    .brand small { font-size: 7px; }
    .header-quote { font-size: 8px; padding-inline: 9px; }
    .header-actions { gap: 8px; }
    .header-saved { min-width: 32px; font-size: 6px; }
    .header-saved .icon { width: 18px; height: 18px; }
    .hero-content { padding: 27px 21px; }
    .hero-content h1 { font-size: 30px; }
    .market-hero { min-height: 302px; }
    .hero-rfq { padding: 15px 13px; column-gap: 9px; }
    .hero-rfq h2 { font-size: 15px; }
    .hero-rfq > p:not(.eyebrow) { font-size: 8px; }
    .hero-rfq .button { padding: 9px; font-size: 8px; gap: 4px; }
    .hero-rfq .button .icon { display: none; }
    .product-grid { gap: 8px; }
    .product-info { padding-inline: 9px; }
    .product-info h3 { font-size: 12px; }
    .product-meta { font-size: 7px; }
    .product-specs > div + div { padding-left: 5px; margin-left: 5px; }
    .product-reference { font-size: 7.5px; }
    .quote-product { font-size: 8px; }
    .quote-product .icon { width: 10px; height: 10px; }
    .filter-title h3 { display: none; }
    .filter-title { margin-right: 0; }
    .catalog-filters { gap: 8px; }
    .filter-group select { width: 112px; }
    .footer-main > p { font-size: 7px; min-width: 100px; }
    .footer-links { flex-direction: column; font-size: 9px; }
    .compare-bar { max-width: calc(100% - 20px); gap: 7px; padding-left: 11px; }
    .compare-bar strong { font-size: 9px; }
    .compare-bar .button { font-size: 9px; padding-inline: 8px; }
    .compare-bar .button .icon { display: none; }
    #compare-products { max-width: 135px; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; animation: none !important; }
    button:active, .button:active { transform: none; }
  }
}

/* Direct WhatsApp catalog — real manufacturer photography. */
@layer components {
 .quote-product { display:flex;align-items:center;justify-content:center;gap:7px;text-align:center; }
 .product-card-bottom { flex-wrap:wrap;gap:9px; }
 .product-card-bottom .quote-product { flex:1 1 100%;min-height:42px;background:#edf4e9;color:#2c542c;border:1px solid #dce8d5;border-radius:7px;padding:10px 8px;font-weight:600;font-size:10px; }
 .product-card-bottom .quote-product:hover { background:#dfeeda; }
 .product-image-button img { mix-blend-mode:normal;background:white;padding:9px; }
 .product-visual { background:white; }
 .market-hero { background:#f7f7f4; }
 .hero-image { width:76%;left:auto;right:0;object-fit:contain;object-position:right center;background:#fff; }
 .hero-overlay { background:linear-gradient(90deg,#171c16 0%,#171c16fa 30%,#171c16c2 48%,#171c1633 71%,transparent 100%); }
 .hero-image-note { color:#666d5d;background:#ffffffbf;padding:3px 6px;border-radius:4px; }
 .product-reference { font-size:9px; }
 .source-link { display:inline-block;margin-bottom:12px; }
 @media(max-width:600px){.hero-image{width:100%;opacity:.75}.hero-overlay{background:linear-gradient(90deg,#171c16f7 0%,#171c16ba 45%,#171c1633 100%)}.hero-image-note{font-size:7px}.product-card-bottom .quote-product{font-size:9px;padding:9px 5px}.header-quote{font-size:9px}}
}
@layer responsive {
 @media(max-width:360px){
  .header-main{gap:8px}.header-main .brand{gap:6px}.header-main .brand img{width:34px;height:34px}.header-main .brand strong{font-size:14px}.header-main .brand small{font-size:6px}.header-actions{gap:7px}.header-saved span{display:none}.header-saved{min-width:27px}.header-quote{padding:10px 8px;font-size:8px}
 }
}
@layer components {
 .product-visual{background:#f5f6f1}
 .product-image-button img{background:transparent;mix-blend-mode:normal;padding:17px}
 .hero-image{background:transparent}
 .market-hero{background:#edf0e8}
 .product-meta{font-size:8px}
 .catalog-section{padding-top:28px}
}

@layer components {
 .spare-section{padding-top:22px;padding-bottom:55px;border-top:1px solid var(--line);scroll-margin-top:24px}
 .spare-section .section-heading{padding-top:30px;align-items:flex-start}
 .spare-intro{font-size:12px;color:#7a806f;line-height:1.75;max-width:650px;margin-top:12px}
 .spare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:23px}
 .spare-card{border:1px solid #e1e4d8;background:#fff;border-radius:13px;padding:25px;display:flex;flex-direction:column;min-width:0}
 .spare-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#f2efdf;color:#aa8d45;margin-bottom:20px}
 .spare-icon .icon{width:25px;height:25px}
 .spare-card h3{font-size:17px;line-height:1.3;letter-spacing:-.025em;margin-bottom:11px}
 .spare-card>p{font-size:12px;line-height:1.7;color:#818775;margin-bottom:25px;max-width:310px}
 .spare-card-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #edf0e6;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}
 .spare-card-bottom>span{font-size:10px;color:#89917b}
 .spare-card-bottom>a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;background:#edf4e9;border:1px solid #dce8d5;border-radius:7px;color:#2c542c;font-size:11px;font-weight:600;padding:10px 12px}
 .spare-card-bottom>a:hover{background:#dfeeda}
 .spare-card-bottom .icon{width:14px;height:14px}
 .spare-note{font-size:10px;color:#8a927d;margin-top:17px}
 .category-nav-spares{font-size:10px;min-height:44px;display:flex;align-items:center;flex-shrink:0;padding-inline:13px}
}
@layer responsive {
 @media(max-width:900px){.spare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spare-card{padding:22px}.spare-card-bottom>a{flex-basis:100%}}
 @media(max-width:520px){.spare-section{padding-top:10px;padding-bottom:35px}.spare-grid{grid-template-columns:1fr;gap:12px}.spare-intro{font-size:12px}.spare-card{padding:21px}.spare-card h3{font-size:17px}.spare-card>p{margin-bottom:18px}.spare-icon{margin-bottom:15px}.spare-card-bottom>a{flex-basis:auto}.spare-note{font-size:9px;line-height:1.6}}
}

@layer components {
 .spare-section{margin-top:46px;padding-top:26px;border-top:1px solid #dce0d3}
 .spare-group{padding-top:30px;margin-top:24px;border-top:1px solid #e1e5d8}
 .spare-group-heading h3{font-size:21px;letter-spacing:-.025em;margin-bottom:7px}
 .spare-group-heading p{font-size:12px;color:#818775;line-height:1.6}
 .spare-group .spare-grid{margin-top:20px;gap:22px}
 .spare-card{padding:20px;overflow:hidden}
 .spare-visual{height:210px;margin:-20px -20px 22px;background:#f3f5ef;display:flex;align-items:center;justify-content:center}
 .spare-visual img{width:100%;height:100%;object-fit:contain;padding:20px;mix-blend-mode:normal}
 .spare-card h4{font-size:17px;line-height:1.35;letter-spacing:-.025em;margin-bottom:11px}
}
@layer responsive {
 @media(max-width:900px){.spare-group .spare-grid{gap:16px}}
 @media(max-width:520px){.spare-section{margin-top:28px}.spare-group{margin-top:20px;padding-top:24px}.spare-group-heading h3{font-size:19px}.spare-visual{height:230px}.spare-group .spare-grid{gap:20px}}
}
