/* Used Metal Roofing Machines — theme.css
   Mobile-first (breakpoints 600 / 782 / 1024 / 1280). Tokens mirror theme.json presets with hard
   fallbacks. Implements the SPEC §7 um-* contract the UMRM Core plugin renders against, plus the
   core blocks used in page content. Only the honeypot uses !important. */

/* 1. Tokens */
:root {
  --um-orange: var(--wp--preset--color--orange, #e64c29);
  --um-orange-700: var(--wp--preset--color--orange-700, #ba3726);
  --um-orange-100: var(--wp--preset--color--orange-100, #fdeae4);
  --um-charcoal: var(--wp--preset--color--charcoal, #2b2b2b);
  --um-ink: var(--wp--preset--color--ink, #1f1f1f);
  --um-graphite: var(--wp--preset--color--graphite, #3d3d3d);
  --um-steel: var(--wp--preset--color--steel, #6b7280);
  --um-mist: var(--wp--preset--color--mist, #f5f6f7);
  --um-line: var(--wp--preset--color--line, #e3e6ea);
  --um-white: var(--wp--preset--color--white, #fff);
  --um-success: var(--wp--preset--color--success, #1f7a4d);
  --um-warning: var(--wp--preset--color--warning, #b45309);
  --um-sold: var(--wp--preset--color--sold, #7a1f1f);
  --um-sky: var(--wp--preset--color--sky, #eaf2fb);
  --um-heading: var(--wp--preset--font-family--heading, "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  --um-body: var(--wp--preset--font-family--body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
  --um-xs: var(--wp--preset--font-size--xs, .8rem);
  --um-sm: var(--wp--preset--font-size--sm, .9rem);
  --um-lg: var(--wp--preset--font-size--lg, 1.2rem);
  --um-xl: var(--wp--preset--font-size--xl, clamp(1.4rem, 2.2vw, 1.7rem));
  --um-2xl: var(--wp--preset--font-size--2-xl, clamp(1.9rem, 3.4vw, 2.6rem));
  --um-3xl: var(--wp--preset--font-size--3-xl, clamp(2.4rem, 4.8vw, 3.6rem));
  --um-s20: var(--wp--preset--spacing--20, .75rem);
  --um-s30: var(--wp--preset--spacing--30, 1rem);
  --um-s40: var(--wp--preset--spacing--40, 1.5rem);
  --um-s50: var(--wp--preset--spacing--50, 2rem);
  --um-s60: var(--wp--preset--spacing--60, 3rem);
  --um-wide: var(--wp--style--global--wide-size, 84rem);
  --um-gutter: var(--wp--style--root--padding-left, 1rem);
  --um-r: 10px; --um-r-lg: 16px; --um-pill: 999px;
  --um-sh-sm: var(--wp--preset--shadow--sm, 0 1px 3px rgba(31, 31, 31, .08));
  --um-sh-md: var(--wp--preset--shadow--md, 0 6px 18px rgba(31, 31, 31, .1));
  --um-sh-lg: var(--wp--preset--shadow--lg, 0 20px 48px rgba(31, 31, 31, .18));
  --um-ease: cubic-bezier(.2, .7, .2, 1); --um-fast: 160ms;
  --um-hh: 64px;
  --um-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --um-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e64c29' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E");
  --um-check-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E");
}
@media (min-width: 782px) { :root { --um-hh: 76px; } }

/* 2. Base, focus, skip link, motion, site chrome */
*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--um-hh) + 1rem); }
body { margin: 0; font: 1rem/1.6 var(--um-body); color: var(--um-ink); background: var(--um-white); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; font-family: var(--um-heading); color: var(--um-charcoal); line-height: 1.15; letter-spacing: -.01em; text-wrap: balance; overflow-wrap: anywhere; }
h1 { font-size: var(--um-3xl); font-weight: 800; line-height: 1.08; letter-spacing: -.02em; }
h2 { font-size: var(--um-2xl); font-weight: 800; }
h3 { font-size: var(--um-xl); font-weight: 700; }
h4 { font-size: var(--um-lg); font-weight: 700; }
h5, h6 { font-size: 1rem; font-weight: 700; }
p { margin: 0 0 1.1em; }
p:last-child, ul:last-child, ol:last-child { margin-bottom: 0; }
a { color: var(--um-orange-700); text-underline-offset: .15em; transition: color var(--um-fast) var(--um-ease); }
a:hover { color: var(--um-orange); }
img, svg, video, iframe { max-width: 100%; }
img, video { height: auto; vertical-align: middle; }
figure { margin: 0 0 1.5rem; }
figcaption { margin-top: .5rem; font-size: var(--um-sm); color: var(--um-steel); }
hr, .wp-block-separator { border: 0; border-top: 1px solid var(--um-line); margin: var(--um-s50) auto; }
ul, ol { margin: 0 0 1.25rem; padding-left: 1.4rem; }
li { margin-bottom: .35rem; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
::selection { background: var(--um-charcoal); color: var(--um-white); }
@media (min-width: 1024px) { body { font-size: 1.0625rem; } }
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--um-orange-700); outline-offset: 2px; border-radius: 4px; }
.um-section--dark :focus-visible, .um-hero :focus-visible, .um-footer :focus-visible, .um-gallery__zoom :focus-visible { outline-color: var(--um-white); }
.skip-link, .screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus, .screen-reader-text:focus { position: fixed; top: .5rem; left: .5rem; z-index: 10000; width: auto; height: auto; margin: 0; padding: .75rem 1.25rem; clip: auto; clip-path: none; white-space: normal; color: var(--um-white); background: var(--um-charcoal); border-radius: var(--um-r); font-weight: 700; text-decoration: none; box-shadow: var(--um-sh-md); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; scroll-behavior: auto; } }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 900; }
/* Logged-in users: keep the sticky header below the fixed admin bar (it is static below 600px). */
@media (min-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); } }
html.has-modal-open, html.um-drawer-open { overflow: hidden; }

/* 3. Buttons (.um-btn in plugin HTML; is-style-um-* on the core button block) */
.um-btn, .wp-block-button__link, .wp-element-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; padding: .65rem 1.35rem; font: 700 1rem/1.2 var(--um-heading); text-decoration: none; text-align: center; white-space: nowrap; color: var(--um-white); background: var(--um-orange); border: 2px solid var(--um-orange); border-radius: 8px; cursor: pointer; box-shadow: var(--um-sh-sm); transition: all var(--um-fast) var(--um-ease); }
.um-btn:hover, .um-btn:focus-visible, .wp-block-button__link:hover, .wp-element-button:hover { color: var(--um-white); background: var(--um-orange-700); border-color: var(--um-orange-700); transform: translateY(-1px); box-shadow: var(--um-sh-md); }
.um-btn:active, .wp-block-button__link:active { transform: none; }
.um-btn[disabled], .um-btn.is-busy, .wp-element-button[disabled] { opacity: .65; cursor: progress; transform: none; }
.um-btn svg { width: 1.2em; height: 1.2em; flex: 0 0 auto; }
.wp-block-buttons { gap: .75rem 1rem; }
.wp-block-button { margin: 0; }
.um-btn--primary, .is-style-um-primary .wp-block-button__link { color: var(--um-white); background: var(--um-orange); border-color: var(--um-orange); }
.um-btn--outline, .is-style-um-outline .wp-block-button__link { color: var(--um-charcoal); background: transparent; border-color: var(--um-charcoal); box-shadow: none; }
.um-btn--outline:hover, .um-btn--outline:focus-visible, .is-style-um-outline .wp-block-button__link:hover { color: var(--um-white); background: var(--um-charcoal); border-color: var(--um-charcoal); }
.um-btn--ghost, .is-style-um-ghost .wp-block-button__link, :where(.um-section--dark, .um-hero) :where(.um-btn--outline, .is-style-um-outline .wp-block-button__link) { color: var(--um-white); background: transparent; border-color: rgba(255, 255, 255, .7); box-shadow: none; }
.um-btn--ghost:hover, .um-btn--ghost:focus-visible, .is-style-um-ghost .wp-block-button__link:hover, :where(.um-section--dark, .um-hero) :where(.um-btn--outline, .is-style-um-outline .wp-block-button__link):hover { color: var(--um-charcoal); background: var(--um-white); border-color: var(--um-white); }
.um-btn--sm { min-height: 38px; padding: .4rem .9rem; font-size: .9rem; border-radius: 6px; }

/* 4. Layout: wrap, sections, grids, two-column listing */
.um-wrap { max-width: var(--um-wide); margin-inline: auto; padding-inline: var(--um-gutter); }
.um-section { position: relative; padding-block: clamp(2rem, 5vw, 4rem); }
.um-section--alt { background: var(--um-mist); }
.um-section--dark { background: var(--um-charcoal); color: var(--um-white); }
.um-section--dark :where(h1, h2, h3, h4, p, li, .um-lead, .um-muted) { color: var(--um-white); }
.um-section--dark :where(a:not(.um-btn):not(.wp-block-button__link)) { color: var(--um-white); }
.um-section--dark :where(a:not(.um-btn):not(.wp-block-button__link)):hover, .um-section--dark .um-eyebrow { color: var(--um-orange-100); }
.um-section--dark :where(.um-card, .um-type) { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); }
.um-section--crumbs { padding-block: var(--um-s30) 0; }
.um-main > .um-section:first-child:not(.um-section--crumbs) { padding-top: var(--um-s30); }
.um-page { padding-bottom: var(--um-s60); }
.um-grid-2, .um-grid-3, .um-grid-4 { display: grid; gap: var(--um-s40); grid-template-columns: minmax(0, 1fr); }
.um-grid-2 > *, .um-grid-3 > *, .um-grid-4 > *, .um-two-col > *, .um-types > *, .um-account > * { min-width: 0; margin: 0; }
@media (min-width: 600px) { .um-grid-2, .um-grid-3, .um-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .um-grid-3, .um-grid-3.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .um-grid-4, .um-grid-4.is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.um-two-col { display: grid; gap: var(--um-s40); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1024px) { .um-two-col { grid-template-columns: 280px minmax(0, 1fr); gap: var(--um-s50); } }

/* 5. Header, utility links, navigation */
.um-header { background: var(--um-white); border-bottom: 1px solid var(--um-line); transition: box-shadow var(--um-fast) var(--um-ease); }
.um-header.is-scrolled { box-shadow: 0 2px 0 var(--um-orange), 0 8px 24px rgba(31, 31, 31, .1); }
.um-header__inner { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: .5rem; min-height: var(--um-hh); padding-block: .4rem; }
.um-logo { display: flex; flex: 0 0 auto; margin: 0; line-height: 0; }
.um-logo img { width: auto; height: 48px; }
.um-util { display: flex; align-items: center; flex: 0 0 auto; gap: .15rem; margin-left: auto; }
.um-util a { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-width: 44px; min-height: 44px; padding: .4rem .55rem; font: 600 .9rem var(--um-heading); color: var(--um-charcoal); text-decoration: none; white-space: nowrap; border-radius: 6px; transition: all var(--um-fast) var(--um-ease); }
.um-util a:hover { color: var(--um-orange-700); background: var(--um-mist); }
.um-util svg { width: 22px; height: 22px; flex: 0 0 auto; }
.um-util__label, .um-util__phone { display: none; }
.um-util__phone a { font-weight: 700; }
.um-util .um-btn-post { display: none; margin-right: .35rem; color: var(--um-white); background: var(--um-orange); border-color: var(--um-orange); }
.um-util .um-btn-post:hover { color: var(--um-white); background: var(--um-orange-700); border-color: var(--um-orange-700); }
.um-saved-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem; height: 1.35rem; padding: 0 .35rem; font-size: .72rem; font-weight: 800; line-height: 1; color: var(--um-white); background: var(--um-orange); border-radius: var(--um-pill); }
.um-saved-count[hidden] { display: none; }
@media (min-width: 600px) { .um-util .um-btn-post { display: inline-flex; } }
@media (min-width: 782px) { .um-logo img { height: 60px; } .um-util__label { display: inline; } }
@media (min-width: 1200px) { .um-util { margin-left: 0; } .um-header__inner > .um-nav { order: 0; margin-left: auto; } }
@media (min-width: 1440px) { .um-util__phone:has(a, span) { display: block; } }
.um-nav { order: 3; font: 600 .95rem var(--um-heading); }
.um-nav a { color: var(--um-charcoal); text-decoration: none; }
.um-nav .wp-block-navigation-item__content { display: inline-flex; align-items: center; gap: .25rem; min-height: 44px; padding: .25rem .65rem; border-radius: 6px; }
.um-nav .wp-block-navigation-item__content:hover, .um-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--um-orange-700); background: var(--um-mist); }
.um-nav .wp-block-navigation__submenu-icon { color: var(--um-steel); }
.um-nav .wp-block-navigation__submenu-container { min-width: 15rem; padding: .5rem; background: var(--um-white); border: 1px solid var(--um-line); border-top: 3px solid var(--um-orange); border-radius: var(--um-r); box-shadow: var(--um-sh-lg); }
.um-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { width: 100%; padding: .5rem .8rem; font-weight: 500; }
.um-nav .wp-block-navigation__responsive-container-open, .um-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; color: var(--um-charcoal); border-radius: 6px; }
.um-nav .wp-block-navigation__responsive-container-open svg, .um-nav .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.um-nav .is-menu-open { background: var(--um-white); padding: 4.5rem var(--um-gutter) 2rem; overflow-y: auto; }
.um-nav .is-menu-open .wp-block-navigation__container { gap: 0; }
.um-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--um-line); }
.um-nav .is-menu-open .wp-block-navigation-item__content { width: 100%; min-height: 48px; padding-inline: 0; font-size: 1.1rem; border-radius: 0; }
.um-nav .is-menu-open .wp-block-navigation__submenu-container { min-width: 0; padding: 0 0 .5rem 1rem; border: 0; box-shadow: none; }
.um-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.um-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 44px; font-size: 1rem; }
/* Core only collapses the menu below 600px; seven items plus the utility links need 1024px. Without JS the menu renders inline. */
@media (max-width: 1199.98px) {
  .js .um-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .js .um-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  html:not(.js) .um-header__inner { flex-wrap: wrap; }
  html:not(.js) .um-nav { order: 4; flex-basis: 100%; }
  html:not(.js) .um-nav .wp-block-navigation__responsive-container-open { display: none; }
  html:not(.js) .um-nav .wp-block-navigation__responsive-container { display: flex; }
}

/* 6. Hero + search form (GET: q, type, brand) */
.um-hero { position: relative; overflow: hidden; padding: clamp(2.5rem, 7vw, 5.5rem) 0; color: var(--um-white); background: linear-gradient(135deg, var(--um-ink), var(--um-charcoal) 55%, var(--um-graphite)); border-bottom: 5px solid var(--um-orange); }
.um-hero::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 46px); pointer-events: none; }
.um-hero__inner { position: relative; display: grid; gap: var(--um-s40); max-width: var(--um-wide); margin-inline: auto; padding-inline: var(--um-gutter); }
.um-hero :where(h1, h2, p, li) { color: var(--um-white); }
.um-hero h1 { margin-bottom: .4em; }
.um-hero .um-lead { max-width: 38rem; color: rgba(255, 255, 255, .86); }
.um-hero .um-eyebrow { color: var(--um-orange); }
.um-hero__search { display: grid; gap: .6rem; padding: 1.1rem; color: var(--um-ink); background: var(--um-white); border-radius: var(--um-r-lg); box-shadow: var(--um-sh-lg); }
.um-hero__search label { font-size: var(--um-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--um-steel); }
.um-hero__search :where(input, select) { width: 100%; min-height: 46px; padding: .55rem .8rem; color: var(--um-ink); background: var(--um-mist); border: 1px solid var(--um-line); border-radius: 6px; }
.um-hero__search select, .um-form select, .um-listing__toolbar select { appearance: none; -webkit-appearance: none; padding-right: 2.25rem; background-image: var(--um-chevron); background-repeat: no-repeat; background-position: right .6rem center; background-size: 1.1rem; cursor: pointer; }
.um-hero__search :where(input, select):focus { background-color: var(--um-white); border-color: var(--um-charcoal); }
.um-hero__search .um-btn { width: 100%; }
@media (min-width: 782px) { .um-hero__search { grid-template-columns: 1.4fr 1fr 1fr auto; align-items: end; } .um-hero__search .um-btn { width: auto; } }
@media (min-width: 1024px) { .um-hero__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; } .um-hero__inner > .um-hero__search { grid-template-columns: 1fr; } .um-hero__inner > .um-hero__search .um-btn { width: 100%; } }

/* 7. Cards + badges */
.um-card { position: relative; display: flex; flex-direction: column; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); overflow: hidden; box-shadow: var(--um-sh-sm); transition: all var(--um-fast) var(--um-ease); }
.um-card:hover, .um-card:focus-within { transform: translateY(-3px); box-shadow: var(--um-sh-md); border-color: #cfd4da; }
.um-card__media { position: relative; display: block; aspect-ratio: 4 / 3; margin: 0; background: var(--um-mist); overflow: hidden; }
.um-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--um-ease); }
.um-card:hover .um-card__media img { transform: scale(1.03); }
.um-card__badge { position: absolute; top: .6rem; left: .6rem; z-index: 1; display: flex; flex-wrap: wrap; gap: .3rem; }
.um-card__body { display: grid; gap: .3rem; padding: .9rem 1rem 1rem; }
.um-card__title { margin: 0; font-size: 1.02rem; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.um-card__title a { color: var(--um-charcoal); text-decoration: none; }
.um-card__title a::after { content: ""; position: absolute; inset: 0; }
.um-card__title a:hover { color: var(--um-orange-700); }
.um-card__price { font-family: var(--um-heading); font-size: 1.2rem; font-weight: 800; color: var(--um-charcoal); }
.um-card__meta { display: flex; flex-wrap: wrap; gap: .15rem .6rem; margin: 0; padding: 0; list-style: none; font-size: var(--um-sm); color: var(--um-steel); }
.um-card__meta > * { margin: 0; }
.um-card__meta > * + *::before { content: "\00B7"; margin-right: .6rem; color: #b6bcc5; }
.um-card__loc { font-size: var(--um-xs); color: var(--um-steel); }
.um-card__save { position: absolute; top: .5rem; right: .5rem; z-index: 2; display: none; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; color: var(--um-charcoal); background: rgba(255, 255, 255, .94); border: 1px solid var(--um-line); border-radius: 50%; box-shadow: var(--um-sh-sm); transition: all var(--um-fast) var(--um-ease); }
.js .um-card__save { display: inline-flex; }
.um-card__save:hover { color: var(--um-orange-700); transform: scale(1.06); }
.um-card__save svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.um-card__save.is-saved { color: var(--um-white); background: var(--um-orange); border-color: var(--um-orange); }
.um-card__save.is-saved svg { fill: currentColor; }
.um-badge { display: inline-flex; align-items: center; gap: .3rem; padding: .22rem .6rem; font: 700 .72rem/1.2 var(--um-heading); letter-spacing: .05em; text-transform: uppercase; color: var(--um-charcoal); background: var(--um-mist); border-radius: var(--um-pill); white-space: nowrap; }
.um-badge--instock { color: var(--um-success); background: #e6f4ec; }
.um-badge--pending { color: var(--um-warning); background: #fdf1e3; }
.um-badge--sold { color: var(--um-white); background: var(--um-sold); }
.um-badge--new { color: #1b4d8a; background: var(--um-sky); }
.um-badge--featured { color: var(--um-white); background: var(--um-orange); }
.um-badge--verified { color: var(--um-white); background: var(--um-charcoal); }
.um-badge--verified::before { content: ""; width: .9em; height: .9em; background: var(--um-check-w) center / contain no-repeat; }

/* 8. Listing: toolbar, grid, pagination, empty state */
.um-listing { min-width: 0; }
.um-listing__toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; margin-bottom: var(--um-s40); padding-bottom: .75rem; border-bottom: 1px solid var(--um-line); }
.um-listing__toolbar p { margin: 0; font-weight: 600; color: var(--um-graphite); }
.um-listing__toolbar label { font-size: var(--um-sm); font-weight: 600; color: var(--um-steel); }
.um-listing__toolbar select { min-height: 40px; padding: .35rem 2.1rem .35rem .75rem; font-size: var(--um-sm); font-weight: 600; color: var(--um-charcoal); background-color: var(--um-white); border: 1px solid var(--um-line); border-radius: 6px; }
.um-listing__grid { display: grid; gap: var(--um-s40) var(--um-s30); grid-template-columns: minmax(0, 1fr); }
.um-listing__grid > * { min-width: 0; margin: 0; }
@media (min-width: 600px) { .um-listing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .um-listing__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.um-pagination, .wp-block-query-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35rem; margin-top: var(--um-s50); font-weight: 600; }
.um-pagination a, .um-pagination span, .wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .4rem .8rem; color: var(--um-charcoal); background: var(--um-white); border: 1px solid var(--um-line); border-radius: 6px; text-decoration: none; }
.um-pagination .current, .um-pagination a:hover, .wp-block-query-pagination .current, .wp-block-query-pagination a:hover { color: var(--um-white); background: var(--um-charcoal); border-color: var(--um-charcoal); }
.um-pagination .dots { min-width: 0; background: none; border: 0; }
.um-empty { padding: var(--um-s60) var(--um-s40); text-align: center; color: var(--um-graphite); background: var(--um-mist); border: 1px dashed #cfd4da; border-radius: var(--um-r); }

/* 9. Filters sidebar (slide-in drawer below 1024px when JS is on) */
.um-filters { font-size: var(--um-sm); }
.um-filters__toggle { display: none; align-items: center; gap: .5rem; min-height: 44px; margin-bottom: var(--um-s30); padding: .5rem 1rem; font-weight: 700; color: var(--um-charcoal); background: var(--um-white); border: 2px solid var(--um-charcoal); border-radius: 8px; }
.um-filters__toggle[aria-expanded="true"] { color: var(--um-white); background: var(--um-charcoal); }
.um-filters__group { padding: .9rem 0; border-top: 1px solid var(--um-line); }
.um-filters__group:first-of-type { padding-top: 0; border-top: 0; }
.um-filters__title { margin: 0 0 .5rem; font: 700 .8rem var(--um-heading); letter-spacing: .08em; text-transform: uppercase; color: var(--um-charcoal); }
.um-filters__head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .75rem; }
.um-filters__heading { margin: 0; font-size: var(--um-lg); line-height: 1.2; }
.um-filters__list { margin: 0; padding: 0; list-style: none; }
.um-filters__list li { margin: 0; }
.um-filters__list label { display: flex; align-items: center; gap: .55rem; min-height: 36px; cursor: pointer; color: var(--um-graphite); }
.um-filters__list label:hover { color: var(--um-charcoal); }
.um-filters__list input { width: 1.1rem; height: 1.1rem; margin: 0; flex: 0 0 auto; accent-color: var(--um-orange); }
.um-filters__list small, .um-filters__list .um-filters__count { margin-left: auto; font-size: var(--um-xs); color: var(--um-steel); }
.um-filters__list input:checked + span { font-weight: 700; color: var(--um-charcoal); }
.um-filters__range { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .4rem; }
.um-filters__range input { width: 100%; min-width: 0; min-height: 40px; padding: .35rem .6rem; background: var(--um-white); border: 1px solid #c9ced6; border-radius: 6px; }
.um-filters__range input:focus { border-color: var(--um-charcoal); }
.um-filters__range span { color: var(--um-steel); }
.um-filters__actions { display: grid; gap: .5rem; padding-top: 1rem; border-top: 1px solid var(--um-line); }
.um-filters__apply { width: 100%; }
.um-filters__reset { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; font-weight: 600; color: var(--um-steel); text-decoration: none; }
.um-filters__reset:hover { color: var(--um-orange-700); text-decoration: underline; }
@media (max-width: 1023.98px) {
  .js .um-filters__toggle { display: inline-flex; }
  .js .um-filters { position: fixed; inset: 0 auto 0 0; z-index: 950; width: min(22rem, 92vw); padding: 1.25rem var(--um-gutter) 2rem; overflow-y: auto; background: var(--um-white); box-shadow: var(--um-sh-lg); transform: translateX(-105%); visibility: hidden; transition: transform 240ms var(--um-ease), visibility 240ms; }
  .js .um-filters.is-open { transform: none; visibility: visible; }
  html.um-drawer-open::after { content: ""; position: fixed; inset: 0; z-index: 940; background: rgba(31, 31, 31, .5); }
}

/* 10. Single machine: head, columns, gallery, specs, description, sidecard, seller, related, sold strip */
.um-machine { position: relative; }
.um-machine__head { display: grid; gap: .5rem var(--um-s40); margin-bottom: var(--um-s40); }
.um-machine__title { margin: 0; font-size: var(--um-2xl); }
.um-machine__price { margin: 0; font-family: var(--um-heading); font-size: var(--um-xl); font-weight: 800; line-height: 1.1; color: var(--um-charcoal); white-space: nowrap; }
.um-machine__price small { display: block; font-size: var(--um-xs); font-weight: 600; color: var(--um-steel); white-space: normal; }
.um-machine__sub { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .9rem; margin: 0; padding: 0; list-style: none; font-size: var(--um-sm); color: var(--um-steel); }
.um-machine__sub > * { margin: 0; }
.um-machine__sub a { color: var(--um-graphite); font-weight: 600; }
@media (min-width: 782px) { .um-machine__head { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } .um-machine__sub { grid-column: 1 / -1; } .um-machine__price { text-align: right; } }
.um-machine__cols { display: grid; gap: var(--um-s50); grid-template-columns: minmax(0, 1fr); align-items: start; }
.um-machine__cols > * { min-width: 0; }
.um-machine__cols > :first-child > * + * { margin-top: var(--um-s50); }
.um-machine__cols h2 { font-size: var(--um-lg); margin-bottom: .75rem; padding-bottom: .4rem; border-bottom: 2px solid var(--um-line); }
@media (min-width: 1024px) { .um-machine__cols { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--um-s60); } }
.um-gallery { margin: 0; }
.um-gallery__main { position: relative; display: block; aspect-ratio: 4 / 3; margin: 0; background: var(--um-mist); border: 1px solid var(--um-line); border-radius: var(--um-r); overflow: hidden; cursor: zoom-in; }
.um-gallery__main img { width: 100%; height: 100%; object-fit: contain; }
.um-gallery__main .um-badge { position: absolute; top: .75rem; left: .75rem; }
.um-gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: .5rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.um-gallery__thumbs li { margin: 0; }
.um-gallery__thumbs a, .um-gallery__thumbs button { display: block; width: 100%; aspect-ratio: 4 / 3; padding: 0; background: var(--um-mist); border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; }
.um-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.um-gallery__thumbs .is-active, .um-gallery__thumbs a:hover, .um-gallery__thumbs button:hover { border-color: var(--um-orange); }
.um-gallery__video { position: relative; margin-top: var(--um-s30); aspect-ratio: 16 / 9; background: var(--um-ink); border-radius: var(--um-r); overflow: hidden; }
.um-gallery__video iframe, .um-gallery__video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.um-gallery__zoom { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; margin: 0; padding: 0; border: 0; background: rgba(15, 15, 15, .96); }
.um-gallery__zoom::backdrop { background: rgba(15, 15, 15, .9); }
.um-gallery__zoom img { display: block; width: 100%; height: 100%; object-fit: contain; }
.um-gallery__zoom-close { position: absolute; top: .75rem; right: .75rem; width: 48px; height: 48px; font-size: 2rem; line-height: 1; color: var(--um-white); background: rgba(255, 255, 255, .12); border: 0; border-radius: 50%; }
.um-gallery__zoom-close:hover { background: var(--um-orange); }
.um-specs { width: 100%; margin: 0; border-collapse: collapse; font-size: var(--um-sm); }
.um-specs th, .um-specs td { padding: .6rem .8rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--um-line); }
.um-specs th { width: 42%; font-weight: 600; color: var(--um-steel); background: var(--um-mist); }
.um-specs tr:first-child > * { border-top: 1px solid var(--um-line); }
.um-desc { max-width: 70ch; color: var(--um-graphite); }
.um-desc :where(h2, h3) { margin-top: 1.4em; color: var(--um-charcoal); }
.um-check, .is-style-um-check { margin: 0; padding: 0; list-style: none; }
.um-check li, .is-style-um-check li { position: relative; margin-bottom: .55rem; padding-left: 1.9rem; }
.um-check li::before, .is-style-um-check li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.25rem; height: 1.25rem; background: var(--um-check) center / contain no-repeat; }
.um-section--dark :where(.um-check, .is-style-um-check) li::before { background-image: var(--um-check-w); }
.um-sidecard { padding: var(--um-s40); background: var(--um-white); border: 1px solid var(--um-line); border-top: 4px solid var(--um-orange); border-radius: var(--um-r-lg); box-shadow: var(--um-sh-md); }
.um-sidecard > * + * { margin-top: .9rem; }
.um-sidecard :where(h2, h3) { margin: 0; font-size: var(--um-lg); padding: 0; border: 0; }
.um-sidecard__cta { display: grid; gap: .5rem; }
.um-sidecard__cta .um-btn { width: 100%; }
.um-sidecard__cta .um-card__save { position: static; width: auto; height: auto; min-height: 44px; padding: .5rem 1rem; gap: .5rem; border-radius: 8px; box-shadow: none; }
.um-sidecard small { font-size: var(--um-xs); color: var(--um-steel); }
@media (min-width: 1024px) { .um-sidecard { position: sticky; top: calc(var(--um-hh) + 1rem); } }
.um-seller { display: grid; gap: .2rem; padding-top: 1rem; border-top: 1px solid var(--um-line); font-size: var(--um-sm); color: var(--um-graphite); }
.um-seller strong { color: var(--um-charcoal); }
.um-seller .um-badge { margin-left: .4rem; vertical-align: middle; }
.um-related { margin-top: var(--um-s60); }
.um-related > h2 { font-size: var(--um-xl); }
@media (min-width: 1024px) { .um-related .um-listing__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.um-sold-strip { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin-top: var(--um-s40); padding: 1rem 1.25rem; color: var(--um-white); background: var(--um-sold); border-radius: var(--um-r); }
.um-sold-strip :where(p, h2, h3, li, a) { margin: 0; color: var(--um-white); }
.um-sold-strip a { font-weight: 700; }
.um-sold-strip .um-btn { margin-left: auto; }

/* 11. Forms */
.um-form { display: grid; gap: 1rem; margin: 0; }
.um-form__row { display: grid; gap: 1rem; }
@media (min-width: 600px) { .um-form__row { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); } }
.um-form__field { display: grid; gap: .35rem; min-width: 0; }
.um-form__label, .um-form label { font-size: var(--um-sm); font-weight: 600; color: var(--um-charcoal); }
.um-form__label .req, .um-form abbr[title] { color: var(--um-orange-700); text-decoration: none; border: 0; }
.um-form__help { margin: 0; font-size: var(--um-xs); color: var(--um-steel); }
.um-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="file"]), .um-form select, .um-form textarea { width: 100%; min-height: 46px; padding: .6rem .85rem; color: var(--um-ink); background-color: var(--um-white); border: 1px solid #c9ced6; border-radius: 6px; appearance: none; -webkit-appearance: none; transition: border-color var(--um-fast) var(--um-ease), box-shadow var(--um-fast) var(--um-ease); }
.um-form select { padding-right: 2.5rem; background-position: right .75rem center; }
.um-form textarea { min-height: 8rem; resize: vertical; }
.um-form :where(input, select, textarea):focus { border-color: var(--um-charcoal); box-shadow: 0 0 0 1px var(--um-charcoal); }
.um-form ::placeholder { color: #9aa0a8; }
.um-form input[type="checkbox"], .um-form input[type="radio"] { width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; flex: 0 0 auto; accent-color: var(--um-orange); }
.um-form__consent { display: flex; align-items: flex-start; gap: .6rem; }
.um-form__consent label { font-weight: 500; color: var(--um-graphite); }
.um-form .is-invalid :where(input, select, textarea), .um-form [aria-invalid="true"] { border-color: var(--um-orange-700); background-color: #fff8f6; }
.um-form__error, .um-form__success { margin: 0; padding: .8rem 1rem; border-radius: 8px; font-size: var(--um-sm); font-weight: 600; }
.um-form__error { color: var(--um-orange-700); background: var(--um-orange-100); border: 1px solid #f3c3b6; }
.um-form__error--inline { padding: 0; font-size: var(--um-xs); background: none; border: 0; }
.um-form__error:empty { display: none; }
.um-form__success { color: var(--um-success); background: #e6f4ec; border: 1px solid #bfe3cc; }
.um-form__submit .um-btn, .um-form__submit button { width: 100%; min-height: 50px; font-size: 1.05rem; }
@media (min-width: 600px) { .um-form__submit .um-btn, .um-form__submit button { width: auto; min-width: 14rem; } }
.um-form .cf-turnstile { min-height: 65px; }
.um-form__hp { position: absolute !important; left: -9999px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.um-upload { padding: 1.25rem; text-align: center; background: var(--um-mist); border: 2px dashed #c9ced6; border-radius: var(--um-r); }
.um-upload:focus-within, .um-upload.is-dragover { border-color: var(--um-orange); background: var(--um-orange-100); }
.um-upload input[type="file"] { max-width: 100%; font-size: var(--um-sm); }
.um-upload__previews { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: .5rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.um-upload__previews li { position: relative; margin: 0; aspect-ratio: 4 / 3; background: var(--um-white); border: 1px solid var(--um-line); border-radius: 6px; overflow: hidden; }
.um-upload__previews img { width: 100%; height: 100%; object-fit: cover; }

/* 12. Text utilities, breadcrumb, FAQ (details/summary), tables, notices */
.um-eyebrow { margin: 0 0 .6rem; font: 700 .8rem var(--um-heading); letter-spacing: .1em; text-transform: uppercase; color: var(--um-orange-700); }
.um-eyebrow::before { content: ""; display: inline-block; width: 1.4rem; height: 2px; margin-right: .6rem; vertical-align: .25em; background: currentColor; }
.um-lead { font-size: var(--um-lg); line-height: 1.55; color: var(--um-graphite); }
.um-muted { color: var(--um-steel); }
.um-breadcrumb { margin: 0 0 var(--um-s30); font-size: var(--um-sm); color: var(--um-steel); }
.um-breadcrumb :where(ol, ul) { display: flex; flex-wrap: wrap; gap: .2rem .4rem; margin: 0; padding: 0; list-style: none; }
.um-breadcrumb li { margin: 0; }
.um-breadcrumb li + li::before { content: "/"; margin-right: .4rem; color: #b6bcc5; }
.um-breadcrumb a { color: var(--um-steel); text-decoration: none; }
.um-breadcrumb a:hover { color: var(--um-orange-700); text-decoration: underline; }
.um-breadcrumb [aria-current], .um-breadcrumb li:last-child { color: var(--um-charcoal); font-weight: 600; }
.um-faq > h2 { margin-bottom: var(--um-s40); }
.um-faq details, .wp-block-details { margin: 0 0 .75rem; padding: 0; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); }
.um-faq details[open], .wp-block-details[open] { border-color: #c9ced6; box-shadow: var(--um-sh-sm); }
.um-faq summary, .wp-block-details > summary { position: relative; display: flex; align-items: center; gap: 1rem; min-height: 48px; margin: 0; padding: .9rem 3.25rem .9rem 1.25rem; font: 700 1rem/1.35 var(--um-heading); color: var(--um-charcoal); cursor: pointer; list-style: none; }
.um-faq summary::-webkit-details-marker, .wp-block-details > summary::-webkit-details-marker { display: none; }
.um-faq summary::before, .um-faq summary::after, .wp-block-details > summary::before, .wp-block-details > summary::after { content: ""; position: absolute; right: 1.1rem; top: 50%; width: .9rem; height: 2px; background: var(--um-orange); border-radius: 2px; transform: translateY(-50%); transition: transform var(--um-fast) var(--um-ease); }
.um-faq summary::after, .wp-block-details > summary::after { transform: translateY(-50%) rotate(90deg); }
.um-faq details[open] > summary::after, .wp-block-details[open] > summary::after { transform: translateY(-50%); }
.um-faq summary:hover, .wp-block-details > summary:hover { color: var(--um-orange-700); }
.um-faq summary:focus-visible, .wp-block-details > summary:focus-visible { outline-offset: -3px; border-radius: var(--um-r); }
.um-faq details > :not(summary), .wp-block-details > :not(summary) { padding: 0 1.25rem; color: var(--um-graphite); }
.um-faq details > :last-child:not(summary), .wp-block-details > :last-child:not(summary) { padding-bottom: 1.1rem; }
.um-table, .wp-block-table { margin: var(--um-s40) 0; overflow-x: auto; }
.um-table table, .wp-block-table table { width: 100%; border-collapse: collapse; font-size: var(--um-sm); border: 1px solid var(--um-line); }
.um-table :where(th, td), .wp-block-table :where(th, td) { padding: .7rem .9rem; text-align: left; vertical-align: top; border: 1px solid var(--um-line); }
.um-table thead th, .wp-block-table thead th { color: var(--um-white); background: var(--um-charcoal); font-family: var(--um-heading); border-color: var(--um-graphite); }
.um-table tbody tr:nth-child(even) td, .wp-block-table tbody tr:nth-child(even) td { background: var(--um-mist); }
.um-table tbody th { font-weight: 600; color: var(--um-charcoal); background: var(--um-mist); }
.wp-block-table figcaption { text-align: left; }
.um-notice { margin: 0 0 var(--um-s40); padding: 1rem 1.25rem; color: var(--um-ink); background: var(--um-orange-100); border-left: 4px solid var(--um-orange); border-radius: 4px; }
.um-notice > :last-child { margin-bottom: 0; }
.um-notice--info { background: var(--um-sky); border-left-color: #1b4d8a; }
.um-notice--success { background: #e6f4ec; border-left-color: var(--um-success); }
.um-notice--warning { background: #fdf1e3; border-left-color: var(--um-warning); }

/* 13. Types grid, brand chips, query-loop results, guide, search, 404 */
.um-types { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
@media (min-width: 782px) { .um-types { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 1024px) { .um-types { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.um-type { display: flex; flex-direction: column; gap: .6rem; height: 100%; padding: 1.1rem 1rem; color: var(--um-charcoal); text-decoration: none; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); transition: all var(--um-fast) var(--um-ease); }
.um-type:hover, .um-type:focus-visible { color: var(--um-charcoal); border-color: var(--um-orange); transform: translateY(-3px); box-shadow: var(--um-sh-md); }
.um-type__icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--um-orange); background: var(--um-orange-100); border-radius: 10px; }
.um-type__icon :where(svg, img) { width: 26px; height: 26px; }
.um-type strong, .um-type__name { margin: 0; font: 700 1rem/1.25 var(--um-heading); }
.um-type small, .um-type__count { margin: 0; font-size: var(--um-xs); color: var(--um-steel); }
.um-brands { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.um-brands li { margin: 0; }
.um-brand-chip { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: .35rem .95rem; font-size: var(--um-sm); font-weight: 600; color: var(--um-charcoal); text-decoration: none; background: var(--um-mist); border: 1px solid var(--um-line); border-radius: var(--um-pill); transition: all var(--um-fast) var(--um-ease); }
.um-brand-chip:hover, .um-brand-chip:focus-visible { color: var(--um-orange-700); background: var(--um-white); border-color: var(--um-orange); }
.um-brand-chip small { font-size: var(--um-xs); font-weight: 500; color: var(--um-steel); }
.um-results .wp-block-post-template { gap: var(--um-s40) var(--um-s30); }
.um-results .wp-block-post { position: relative; display: flex; flex-direction: column; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); overflow: hidden; box-shadow: var(--um-sh-sm); transition: all var(--um-fast) var(--um-ease); }
.um-results .wp-block-post:hover { transform: translateY(-3px); box-shadow: var(--um-sh-md); }
.um-results .wp-block-post-featured-image { margin: 0; aspect-ratio: 3 / 2; background: var(--um-mist); }
.um-results .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.um-results .wp-block-post > :not(figure) { padding-inline: 1.1rem; }
.um-results .wp-block-post-title { margin: 1rem 0 .4rem; font-size: var(--um-lg); }
.um-results .wp-block-post-title a { color: var(--um-charcoal); text-decoration: none; }
.um-results .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.um-results .wp-block-post-title a:hover { color: var(--um-orange-700); }
.um-results .wp-block-post-excerpt { font-size: var(--um-sm); color: var(--um-graphite); }
.um-results .wp-block-post > :last-child { padding-bottom: 1.1rem; }
.um-results .wp-block-post-date { font-size: var(--um-xs); color: var(--um-steel); }
.um-guide__title { margin-bottom: .4em; }
.um-guide__meta { gap: .5rem; margin-bottom: var(--um-s40); font-size: var(--um-sm); color: var(--um-steel); }
.um-guide__meta p { margin: 0; }
.um-guide__image img { width: 100%; border-radius: var(--um-r-lg); }
.um-guide__content > :where(h2, h3), .um-page > :where(h2, h3) { margin-top: 1.6em; }
.um-search .um-hero__search, .um-404 .um-hero__search { text-align: left; border: 1px solid var(--um-line); box-shadow: var(--um-sh-md); }
.um-404 { padding-block: var(--um-s60) var(--um-s50); text-align: center; }
.um-404 h1 { font-size: var(--um-2xl); }
.um-404 .um-eyebrow::before { display: none; }
.um-404 .um-lead { margin-inline: auto; }

/* 14. Account area */
.um-account { display: grid; gap: var(--um-s40); align-items: start; }
.um-account__nav { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.um-account__nav li { margin: 0; }
.um-account__nav a { display: inline-flex; align-items: center; min-height: 42px; padding: .45rem .9rem; font: 600 1rem var(--um-heading); color: var(--um-charcoal); text-decoration: none; border-radius: 8px; }
.um-account__nav a:hover { color: var(--um-orange-700); background: var(--um-mist); }
.um-account__nav .is-active a, .um-account__nav a[aria-current] { color: var(--um-white); background: var(--um-charcoal); }
@media (min-width: 1024px) { .um-account { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--um-s50); } .um-account__nav { flex-direction: column; position: sticky; top: calc(var(--um-hh) + 1rem); } .um-account__nav a { width: 100%; } }
.um-account__list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.um-account__list > li { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: .6rem 1rem; align-items: center; margin: 0; padding: .75rem; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); }
.um-account__list img { width: 84px; aspect-ratio: 4 / 3; object-fit: cover; background: var(--um-mist); border-radius: 6px; }
.um-account__list h3 { margin: 0 0 .15rem; font-size: 1rem; }
.um-account__list h3 a { color: var(--um-charcoal); text-decoration: none; }
.um-account__list .um-muted { font-size: var(--um-sm); }
.um-account__actions { display: flex; flex-wrap: wrap; gap: .4rem; grid-column: 1 / -1; }
@media (min-width: 600px) { .um-account__list > li { grid-template-columns: 96px minmax(0, 1fr) auto; } .um-account__actions { grid-column: auto; } }
.um-account .um-form { max-width: 44rem; }
.um-status { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .6rem; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--um-graphite); background: var(--um-mist); border-radius: var(--um-pill); white-space: nowrap; }
.um-status::before { content: ""; width: .5em; height: .5em; background: currentColor; border-radius: 50%; }
.um-status--publish, .um-status--in_stock { color: var(--um-success); background: #e6f4ec; }
.um-status--pending { color: var(--um-warning); background: #fdf1e3; }
.um-status--sold { color: var(--um-white); background: var(--um-sold); }
.um-status--expired, .um-status--trash { color: var(--um-orange-700); background: var(--um-orange-100); }

/* 15. Footer */
.um-footer { font-size: var(--um-sm); color: rgba(255, 255, 255, .82); background: var(--um-charcoal); border-top: 6px solid var(--um-orange); }
.um-footer :where(h2, h3) { margin-bottom: .9rem; font-size: var(--um-sm); letter-spacing: .08em; text-transform: uppercase; color: var(--um-white); }
.um-footer :where(p, li) { color: rgba(255, 255, 255, .82); }
.um-footer a { color: var(--um-white); text-decoration: none; }
.um-footer a:hover { color: var(--um-orange-100); text-decoration: underline; }
.um-footer ul { margin: 0; padding: 0; list-style: none; }
.um-footer li { margin-bottom: .45rem; }
.um-footer__grid { display: grid; gap: var(--um-s50) var(--um-s40); padding-block: var(--um-s60) var(--um-s50); }
.um-footer .um-footer__grid > *, .um-footer .um-footer__bottom > * { margin: 0; min-width: 0; }
@media (min-width: 600px) { .um-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .um-footer__about { grid-column: 1 / -1; } }
@media (min-width: 1024px) { .um-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } .um-footer__about { grid-column: auto; padding-right: var(--um-s40); } }
.um-footer__logo { display: inline-block; margin-bottom: 1rem; line-height: 0; }
.um-footer__logo img { width: auto; height: 52px; }
.um-footer__contact { display: grid; gap: .35rem; margin-top: 1rem; font-weight: 600; }
.um-footer__contact > * { margin: 0; }
.um-footer__phone:not(:has(a, span)), .um-footer__email:not(:has(a, span)) { display: none; }
.um-footer__phone a { font: 800 var(--um-lg) var(--um-heading); }
.um-footer .um-brands { display: block; }
.um-footer .um-brands li { margin-bottom: .45rem; }
.um-footer .um-brand-chip { display: inline; min-height: 0; padding: 0; font: inherit; color: var(--um-white); background: none; border: 0; border-radius: 0; }
.um-footer .um-brand-chip:hover { color: var(--um-orange-100); text-decoration: underline; }
.um-footer .um-brand-chip small { color: rgba(255, 255, 255, .55); }
.um-footer__all a { font-weight: 700; }
.um-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1.25rem; font-size: var(--um-xs); border-top: 1px solid rgba(255, 255, 255, .12); }
.um-footer__bottom p { color: rgba(255, 255, 255, .65); }
.um-footer__bottom a { color: rgba(255, 255, 255, .85); }

/* 16. Core blocks used in page content */
.wp-block-image img { border-radius: var(--um-r); }
.wp-block-image.is-style-rounded img { border-radius: var(--um-r-lg); }
.wp-block-image figcaption { margin-bottom: 0; }
.wp-block-columns { gap: var(--um-s40); }
.wp-block-column > :first-child { margin-top: 0; }
.wp-block-quote, blockquote { margin: 0 0 1.5rem; padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--um-orange); color: var(--um-charcoal); font-size: var(--um-lg); }
.wp-block-quote cite { display: block; margin-top: .5rem; font-size: var(--um-sm); font-style: normal; color: var(--um-steel); }
.wp-block-cover { border-radius: var(--um-r-lg); overflow: hidden; }
.wp-block-embed, .wp-block-video { margin: var(--um-s40) 0; }
.wp-block-embed__wrapper iframe, .wp-block-video video { border-radius: var(--um-r); }
.wp-block-group.is-style-um-card { padding: var(--um-s40); background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); box-shadow: var(--um-sh-sm); }
.wp-block-search__input { min-height: 46px; padding: .6rem .9rem; background: var(--um-mist); border: 1px solid var(--um-line); border-radius: 6px; }
.wp-block-search__button { min-height: 46px; }

/* 17. Print: a listing or machine page prints as a clean spec sheet */
@media print {
  .um-nav, .um-util, .um-filters, .um-filters__toggle, .um-listing__toolbar, .um-pagination, .um-card__save, .um-sidecard__cta, .um-gallery__thumbs, .um-gallery__video, .um-related, .um-footer__grid, .wp-block-buttons, .skip-link, .um-hero__search, .um-sold-strip .um-btn { display: none; }
  body { font-size: 10.5pt; color: #000; background: #fff; }
  .wp-site-blocks > header.wp-block-template-part { position: static; }
  .um-header { border-bottom: 2px solid #000; box-shadow: none; }
  .um-section { padding-block: .75rem; }
  .um-section--alt, .um-section--dark, .um-hero, .um-footer, .um-sold-strip { background: #fff; color: #000; border: 0; }
  .um-hero::before { display: none; }
  :where(.um-section--dark, .um-hero, .um-footer, .um-sold-strip) :where(h1, h2, h3, p, li, a) { color: #000; }
  .um-two-col, .um-machine__cols, .um-listing__grid, .um-grid-3, .um-grid-4 { display: block; }
  .um-listing__grid > * { display: inline-block; width: 48%; margin: 0 1% .75rem 0; vertical-align: top; break-inside: avoid; }
  .um-card, .um-sidecard { box-shadow: none; transform: none; }
  .um-card__media { aspect-ratio: auto; max-height: 9rem; }
  .um-sidecard { position: static; margin-top: 1rem; }
  .um-gallery__main { aspect-ratio: auto; max-height: 24rem; border: 0; }
  .um-machine__price { text-align: left; }
  .um-specs th { background: #f0f0f0; }
  a[href^="http"]:not(.um-btn)::after { content: " (" attr(href) ")"; font-size: .85em; color: #555; }
  .um-faq summary::before, .um-faq summary::after, .wp-block-details > summary::before, .wp-block-details > summary::after { display: none; }
  .um-faq details > :not(summary), .wp-block-details > :not(summary) { display: block; }
  .um-footer__bottom { padding-top: .5rem; border-top: 1px solid #000; }
}

/* ---------------------------------------------------------------------------
   18. Plugin component completions (classes emitted by umrm-core)
--------------------------------------------------------------------------- */
/* Listing header + toolbar */
.um-listing__head { margin-bottom: var(--um-s40); }
.um-listing__head h1 { margin: 0 0 .5rem; font-size: var(--um-2xl); }
.um-listing__intro { max-width: 72ch; color: var(--um-graphite); }
.um-listing__intro > :last-child { margin-bottom: 0; }
.um-listing__sort { display: inline-flex; align-items: center; gap: .5rem; margin: 0; }
.um-listing__filters, .um-listing__main { min-width: 0; }
.um-filters__showmore { margin: .25rem 0 0; padding: 0; font: 600 var(--um-sm) var(--um-body); color: var(--um-orange-700); background: none; border: 0; cursor: pointer; text-decoration: underline; }
.um-filters__showmore[hidden] { display: none; }
/* Cards */
.um-card__noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #b6bcc5; }
.um-card__noimg svg { width: 56px; height: 56px; }
.um-card__stock { margin: .15rem 0 0; font-size: var(--um-xs); letter-spacing: .03em; }
.um-card--sold .um-card__media img { filter: grayscale(.85); opacity: .8; }
.um-badge--kind { color: #1b4d8a; background: var(--um-sky); }
/* Machine + ad detail */
.um-machine__titles { display: grid; gap: .5rem; min-width: 0; }
.um-machine__alt { margin: 0; font-size: var(--um-sm); }
.um-machine__loc { display: inline-flex; align-items: center; gap: .3rem; font-weight: 600; color: var(--um-graphite); }
.um-machine__pricebox { display: grid; gap: .35rem; justify-items: start; }
.um-machine__pricebox > p { margin: 0; }
.um-machine__pricebox .um-card__save { position: static; display: inline-flex; }
@media (min-width: 782px) { .um-machine__pricebox { justify-items: end; text-align: right; } }
.um-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.um-chips li { margin: 0; padding: .3rem .7rem; font-size: var(--um-sm); font-weight: 600; color: var(--um-graphite); background: var(--um-mist); border: 1px solid var(--um-line); border-radius: var(--um-pill); }
.um-machine__facts { display: grid; gap: .4rem; margin: 0; padding: 1rem 0 0; list-style: none; font-size: var(--um-sm); color: var(--um-graphite); border-top: 1px solid var(--um-line); }
.um-machine__facts li { position: relative; margin: 0; padding-left: 1.6rem; }
.um-machine__facts li::before { content: ""; position: absolute; left: 0; top: .15em; width: 1.1rem; height: 1.1rem; background: var(--um-check) center / contain no-repeat; }
.um-machine__side { display: grid; gap: var(--um-s40); align-content: start; }
.um-machine__specs, .um-desc, .um-check, .um-related, .um-sold-history, .um-machine__cta { margin-top: var(--um-s60); }
.um-machine__specs h2, .um-desc h2, .um-check h2, .um-sold-history h2 { font-size: var(--um-xl); }
.um-check ul { margin: 0; padding: 0; list-style: none; }
.um-machine__cta { padding: var(--um-s50); text-align: center; background: var(--um-mist); border-radius: var(--um-r-lg); }
.um-machine__cta h2 { margin-top: 0; }
.um-machine__cta p:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-bottom: 0; }
.um-sidecard__phone { margin: 0; }
.um-sidecard__phone .um-btn, .um-sidecard__cta .um-btn { width: 100%; }
.um-notice--error { background: var(--um-orange-100); border-left-color: var(--um-orange-700); color: var(--um-orange-700); }
.um-notice--sold { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; color: var(--um-white); background: var(--um-sold); border-left-color: #4a1010; }
.um-notice--sold a { color: var(--um-white); font-weight: 700; }
.um-gallery--empty { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: var(--um-mist); border: 1px dashed #cfd4da; border-radius: var(--um-r); }
.um-sold-history .um-table { margin-top: 0; }
/* Ads archive tabs */
.um-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin: var(--um-s30) 0; }
.um-tab { display: inline-flex; align-items: center; min-height: 40px; padding: .4rem .9rem; font: 600 var(--um-sm) var(--um-heading); color: var(--um-charcoal); text-decoration: none; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-pill); }
.um-tab:hover { border-color: var(--um-charcoal); }
.um-tab.is-active { color: var(--um-white); background: var(--um-charcoal); border-color: var(--um-charcoal); }
/* Stats strip */
.um-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--um-s30); margin: 0; padding: 0; list-style: none; }
@media (min-width: 782px) { .um-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.um-stat { display: grid; gap: .15rem; margin: 0; padding: 1rem; text-align: center; background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); }
.um-stat strong { font: 800 var(--um-xl) var(--um-heading); color: var(--um-orange-700); }
.um-stat span { font-size: var(--um-sm); color: var(--um-steel); }
/* Listing forms */
.um-form__group { display: grid; gap: 1rem; margin: 0; min-width: 0; padding: var(--um-s40); background: var(--um-white); border: 1px solid var(--um-line); border-radius: var(--um-r); }
.um-form__group > legend { padding: 0 .4rem; font: 700 var(--um-lg) var(--um-heading); color: var(--um-charcoal); }
.um-form__req { color: var(--um-orange-700); }
.um-form__field--check label { display: flex; align-items: flex-start; gap: .6rem; font-weight: 500; color: var(--um-graphite); }
.um-form__photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.um-form__photos li { display: grid; gap: .35rem; margin: 0; font-size: var(--um-xs); }
.um-form__photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; background: var(--um-mist); }
.um-form--login form, .um-form--login p { margin: 0 0 .9rem; }
.um-form--login input[type="text"], .um-form--login input[type="password"] { width: 100%; }
/* Account */
.um-account__body { min-width: 0; }
.um-account__body > h1 { margin-top: 0; font-size: var(--um-2xl); }
.um-account__section { margin-top: var(--um-s50); }
.um-account__section h2 { font-size: var(--um-xl); }
.um-account__table td { vertical-align: middle; }
.um-account__row-actions { white-space: nowrap; }
.um-account__row-actions a { margin-right: .6rem; font-weight: 600; }
.um-account--guest { max-width: 32rem; }
.um-status--live { color: var(--um-success); background: #e6f4ec; }
.um-danger { color: var(--um-orange-700); }
.um-form__field { grid-template-columns: minmax(0, 1fr); }
.um-form input[type="file"] { width: 100%; max-width: 100%; min-width: 0; }
