/* ==========================================================================
   ROM AnimTools — Kadence child theme
   v0.2.0 · written for Gutenberg block markup (not hard-coded HTML)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

/* ---- Tokens ------------------------------------------------------------- */
:root {
  --rom-ink:      #0E0F11;
  --rom-graphite: #111214;
  --rom-charcoal: #191A1E;
  --rom-elevated: #1F2126;
  --rom-line:     #282A30;
  --rom-line-soft:#202228;
  --rom-muted:    #7C828C;
  --rom-silver:   #B9BDC5;
  --rom-bone:     #F2F4F7;
  --rom-teal:     #61D4D6;
  --rom-teal-hi:  #86E7E8;
  --rom-teal-dim: #2E8A8C;
  --rom-amber:    #F4A63C;
  --rom-green:    #33C860;

  --rom-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --rom-body:    'Inter', system-ui, -apple-system, sans-serif;
  --rom-mono:    'Space Mono', ui-monospace, monospace;

  --rom-radius: 14px;
  --rom-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---- Base --------------------------------------------------------------- */
body.rom-site {
  margin: 0;
  background: var(--rom-ink);
  color: var(--rom-silver);
  font-family: var(--rom-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.rom-site h1, .rom-site h2, .rom-site h3, .rom-site h4, .rom-site h5 {
  font-family: var(--rom-display);
  color: var(--rom-bone);
  line-height: 1.05;
  letter-spacing: -.015em;
  margin: 0 0 .4em;
}
.rom-site a { color: inherit; text-decoration: none; }
.rom-site img, .rom-site svg { display: block; max-width: 100%; }
.rom-site ::selection { background: rgba(97,212,214,.28); color: #fff; }
.rom-site :focus-visible { outline: 2px solid var(--rom-teal); outline-offset: 3px; border-radius: 4px; }

.rom-container { width: min(100% - 40px, 1200px); margin-inline: auto; position: relative; z-index: 2; }

.rom-skip { position: absolute; left: -9999px; }
.rom-skip:focus { left: 16px; top: 16px; z-index: 200; background: var(--rom-teal); color: #06201F; padding: 10px 16px; border-radius: 8px; }

.rom-grain {
  position: fixed; inset: 0; z-index: 1; pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- Buttons ------------------------------------------------------------ */
.rom-btn, .rom-site .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 9px; justify-content: center;
  padding: 13px 20px; border-radius: 10px; font-weight: 600; font-size: 14.5px;
  border: 1px solid transparent; font-family: var(--rom-body);
  transition: transform .18s var(--rom-ease), background .18s, border-color .18s;
}
.rom-btn:hover, .rom-site .wp-block-button__link:hover { transform: translateY(-1px); }
.rom-btn--primary,
.rom-site .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--rom-teal); color: #06201F;
  box-shadow: 0 8px 30px -12px rgba(97,212,214,.7);
}
.rom-btn--primary:hover { background: var(--rom-teal-hi); }
.rom-btn--ghost,
.rom-site .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent; color: var(--rom-bone); border-color: var(--rom-line);
}
.rom-btn--ghost:hover { border-color: var(--rom-teal-dim); background: rgba(97,212,214,.06); }
.rom-btn--sm { padding: 9px 15px; font-size: 13.5px; }

/* ---- Header ------------------------------------------------------------- */
.rom-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(17,18,20,.86);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rom-line-soft);
}
.admin-bar .rom-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rom-header { top: 46px; } }

.rom-header__inner { display: flex; align-items: center; gap: 20px; height: 66px; }

.rom-brand { display: flex; align-items: center; gap: 11px; font-family: var(--rom-display); font-weight: 700; color: var(--rom-bone); font-size: 17px; letter-spacing: -.02em; }
.rom-brand img { width: 32px; height: 32px; }
.rom-brand b { color: var(--rom-teal); }

/* --- Real WordPress menu (this is what v0.1.0 never rendered) --- */
.rom-nav { margin-left: 8px; }
.rom-nav__list {
  display: flex; align-items: center; gap: 2px;
  list-style: none; margin: 0; padding: 0;
}
.rom-nav__list li { position: relative; }
.rom-nav__list > li > a {
  display: block; padding: 8px 12px; border-radius: 8px;
  font-size: 14px; font-weight: 500; color: var(--rom-silver);
  transition: color .18s, background .18s; white-space: nowrap;
}
.rom-nav__list > li > a:hover,
.rom-nav__list > li.current-menu-item > a { color: var(--rom-bone); background: rgba(255,255,255,.05); }

/* dropdowns for your Tools / Learn sub-items */
.rom-nav__list .sub-menu {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 70;
  min-width: 220px; padding: 8px; margin: 0; list-style: none;
  background: var(--rom-elevated); border: 1px solid var(--rom-line);
  border-radius: 12px; box-shadow: 0 30px 60px -24px rgba(0,0,0,.9);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .18s, transform .18s, visibility .18s;
}
.rom-nav__list > li:hover > .sub-menu,
.rom-nav__list > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.rom-nav__list .sub-menu a {
  display: block; padding: 9px 11px; border-radius: 8px;
  font-size: 13.6px; color: var(--rom-silver); white-space: nowrap;
}
.rom-nav__list .sub-menu a:hover { background: rgba(97,212,214,.1); color: var(--rom-teal); }
.rom-nav__list > li.menu-item-has-children > a::after {
  content: ""; display: inline-block; margin-left: 7px;
  border: 4px solid transparent; border-top-color: currentColor; opacity: .5;
  transform: translateY(2px);
}

.rom-header__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.rom-cmdk {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px;
  border-radius: 8px; border: 1px solid var(--rom-line); background: var(--rom-charcoal);
  color: var(--rom-muted); font-family: var(--rom-mono); font-size: 12px; cursor: pointer;
  transition: border-color .18s, color .18s;
}
.rom-cmdk:hover { border-color: var(--rom-teal-dim); color: var(--rom-silver); }
.rom-cmdk kbd { font-family: var(--rom-mono); font-size: 11px; }
.rom-signin { font-size: 14px; color: var(--rom-silver); font-weight: 500; white-space: nowrap; }
.rom-signin:hover { color: var(--rom-bone); }
.rom-burger { display: none; width: 42px; height: 42px; border-radius: 9px; border: 1px solid var(--rom-line); background: var(--rom-charcoal); color: var(--rom-bone); place-items: center; cursor: pointer; }

.rom-mobile { display: none; border-top: 1px solid var(--rom-line-soft); background: var(--rom-graphite); padding: 12px 20px 22px; }
.rom-mobile.is-open { display: block; }
.rom-mobile__list, .rom-mobile__list .sub-menu { list-style: none; margin: 0; padding: 0; }
.rom-mobile__list > li > a { display: block; padding: 12px 4px; font-size: 16px; color: var(--rom-bone); border-bottom: 1px solid var(--rom-line-soft); }
.rom-mobile__list .sub-menu { padding-left: 14px; }
.rom-mobile__list .sub-menu a { display: block; padding: 9px 4px; font-size: 14px; color: var(--rom-silver); }

/* ---- Hub window artwork (shortcode) ------------------------------------- */
.rom-hubwin {
  border: 1px solid var(--rom-line); border-radius: 16px; overflow: hidden;
  background: linear-gradient(180deg, #16181C, var(--rom-graphite));
  box-shadow: 0 40px 90px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04);
}
.rom-hubwin__bar { display: flex; align-items: center; gap: 12px; padding: 11px 15px; border-bottom: 1px solid var(--rom-line-soft); }
.rom-dots { display: flex; gap: 7px; }
.rom-dots i { width: 10px; height: 10px; border-radius: 50%; background: #2E3138; }
.rom-hubwin__title { display: flex; align-items: center; gap: 8px; font-family: var(--rom-mono); font-size: 12px; color: var(--rom-silver); }
.rom-pill { margin-left: auto; font-family: var(--rom-mono); font-size: 10px; letter-spacing: .08em; color: var(--rom-teal); border: 1px solid var(--rom-teal-dim); border-radius: 100px; padding: 3px 9px; }
.rom-hubwin__body { display: grid; grid-template-columns: 58px 1fr; min-height: 280px; }
.rom-hubwin__rail { border-right: 1px solid var(--rom-line-soft); padding: 12px 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.rom-rail-btn { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--rom-muted); position: relative; }
.rom-rail-btn.is-on { background: rgba(97,212,214,.1); color: var(--rom-teal); }
.rom-rail-btn b { position: absolute; top: 2px; right: 2px; width: 15px; height: 15px; border-radius: 50%; background: var(--rom-amber); color: #241300; font-size: 9px; display: grid; place-items: center; font-family: var(--rom-mono); }
.rom-hubwin__main { padding: 16px; }
.rom-hubwin__eyebrow { font-family: var(--rom-mono); font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--rom-muted); }
.rom-hubwin__main h4 { font-size: 16px; margin: 4px 0 14px; }
.rom-hubwin__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.rom-hubwin__tile { border: 1px solid var(--rom-line-soft); border-radius: 10px; padding: 11px; display: flex; gap: 10px; align-items: center; border-bottom: 2px solid var(--accent, var(--rom-teal)); }
.rom-hubwin__tile span { display: flex; flex-direction: column; }
.rom-hubwin__tile b { color: var(--rom-bone); font-size: 12.5px; font-weight: 600; }
.rom-hubwin__tile small { font-family: var(--rom-mono); font-size: 10px; color: var(--rom-muted); }
.rom-hubwin__foot { display: flex; justify-content: space-between; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rom-line-soft); font-family: var(--rom-mono); font-size: 10.5px; color: var(--rom-muted); }
.rom-ok { color: var(--rom-green); display: inline-flex; align-items: center; gap: 6px; }
.rom-ok::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rom-green); box-shadow: 0 0 8px var(--rom-green); }
.rom-tool-icon { display: inline-flex; }

/* ---- Pattern building blocks -------------------------------------------- */
.rom-section { padding-block: clamp(64px, 9vw, 120px); }
.rom-section--tight { padding-block: clamp(48px, 6vw, 80px); }

.rom-eyebrow {
  font-family: var(--rom-mono) !important; font-size: 12px !important; letter-spacing: .12em;
  text-transform: uppercase; color: var(--rom-teal) !important;
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px !important;
}
.rom-eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .6; }

.rom-lede { font-size: clamp(16px, 1.6vw, 18px); color: var(--rom-silver); max-width: 62ch; }

/* Hero */
.rom-hero { padding-block: clamp(44px, 7vw, 96px) clamp(56px, 8vw, 104px); position: relative; overflow: hidden; }
.rom-hero::before, .rom-hero::after {
  content: ""; position: absolute; z-index: 0; filter: blur(90px); border-radius: 50%; pointer-events: none;
}
.rom-hero::before { width: 620px; height: 620px; top: -240px; right: -160px; background: radial-gradient(circle, rgba(97,212,214,.2), transparent 66%); }
.rom-hero::after { width: 520px; height: 520px; bottom: -280px; left: -200px; background: radial-gradient(circle, rgba(141,125,255,.15), transparent 66%); }
.rom-hero > * { position: relative; z-index: 2; }
.rom-hero__title { font-size: clamp(38px, 6vw, 68px) !important; font-weight: 800; letter-spacing: -.03em; }
.rom-hero__title em { font-style: normal; color: var(--rom-teal); }

/* Stats */
.rom-stats { display: flex; flex-wrap: wrap; gap: 26px 34px; padding-top: 26px; border-top: 1px solid var(--rom-line-soft); }
.rom-stat { display: flex; flex-direction: column; gap: 3px; }
.rom-stat b { font-family: var(--rom-display); font-weight: 700; color: var(--rom-bone); font-size: 21px; }
.rom-stat span { font-family: var(--rom-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--rom-muted); }

/* Cards — shared shell */
.rom-card {
  --accent: var(--rom-teal);
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius);
  padding: 22px; background: var(--rom-charcoal); position: relative; overflow: hidden; height: 100%;
  transition: transform .25s var(--rom-ease), border-color .25s, box-shadow .25s;
}
.rom-card::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--accent); opacity: 0; transition: opacity .25s; }
.rom-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--accent) 45%, var(--rom-line)); box-shadow: 0 24px 50px -30px rgba(0,0,0,.85); }
.rom-card:hover::after { opacity: .9; }
.rom-card h3 { font-size: 18px; margin-bottom: 7px; }
.rom-card p { font-size: 13.8px; color: var(--rom-silver); margin: 0; }
.rom-card__icon { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; margin-bottom: 16px; background: color-mix(in srgb, var(--accent) 12%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); }
.rom-card__tag { display: inline-flex; margin-top: 14px; font-family: var(--rom-mono); font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); border-radius: 100px; padding: 4px 10px; }

/* Tool accent hooks — set on the card wrapper in the pattern */
.rom-accent-grease    { --accent: #8D7DFF; }
.rom-accent-pose      { --accent: #A7D94C; }
.rom-accent-quantize  { --accent: #4CC7B8; }
.rom-accent-uv        { --accent: #5D8EFF; }
.rom-accent-smear     { --accent: #FF9B4A; }
.rom-accent-trails    { --accent: #36D9FF; }
.rom-accent-playblast { --accent: #E45B5B; }
.rom-accent-curve     { --accent: #5FD38A; }
.rom-accent-lod       { --accent: #33C860; }
.rom-accent-key       { --accent: #61D4D6; }
.rom-accent-temp      { --accent: #F4A63C; }
.rom-accent-bookmarks { --accent: #B9BDC5; }

/* Pricing */
.rom-plan { border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); padding: 30px 26px; background: var(--rom-charcoal); height: 100%; }
.rom-plan--featured { border-color: var(--rom-teal-dim); background: linear-gradient(180deg, rgba(97,212,214,.05), var(--rom-charcoal)); box-shadow: 0 30px 70px -44px rgba(97,212,214,.5); }
.rom-plan__price { font-family: var(--rom-display) !important; font-weight: 800; color: var(--rom-bone) !important; font-size: 42px !important; letter-spacing: -.03em; margin: 0 !important; }
.rom-plan__billed { font-family: var(--rom-mono); font-size: 11px; color: var(--rom-muted); }
.rom-plan ul { list-style: none; padding: 0; margin: 20px 0 0; }
.rom-plan li { display: flex; gap: 10px; font-size: 13.6px; padding: 5px 0; color: var(--rom-silver); }
.rom-plan li::before { content: "✓"; color: var(--rom-teal); font-weight: 700; }

/* FAQ */
.rom-faq details { border: 1px solid var(--rom-line-soft); border-radius: 12px; padding: 16px 18px; margin-bottom: 10px; background: var(--rom-charcoal); }
.rom-faq summary { cursor: pointer; color: var(--rom-bone); font-weight: 600; font-size: 15.5px; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rom-faq summary::-webkit-details-marker { display: none; }
.rom-faq summary::after { content: "+"; color: var(--rom-teal); font-family: var(--rom-mono); font-size: 18px; flex: none; }
.rom-faq details[open] summary::after { content: "−"; }
.rom-faq details p { margin: 12px 0 0; font-size: 14px; color: var(--rom-silver); }

/* CTA */
.rom-cta-box { border: 1px solid var(--rom-line); border-radius: 22px; padding: clamp(40px, 6vw, 72px) 30px; background: radial-gradient(120% 130% at 50% 0%, rgba(97,212,214,.1), transparent 60%), var(--rom-charcoal); text-align: center; }

/* ---- Footer ------------------------------------------------------------- */
.rom-footer { border-top: 1px solid var(--rom-line-soft); padding-block: 56px 30px; }
.rom-footer__grid { display: grid; grid-template-columns: 1.4fr 2.6fr; gap: 40px; }
.rom-footer__brand p { font-size: 13.5px; color: var(--rom-muted); max-width: 32ch; margin-top: 14px; }
.rom-footer__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px 24px; }
.rom-footer__list > li > a { font-family: var(--rom-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--rom-muted); display: block; margin-bottom: 8px; }
.rom-footer__list .sub-menu { list-style: none; margin: 0; padding: 0; }
.rom-footer__list .sub-menu a { display: block; font-size: 13.6px; color: var(--rom-silver); padding: 5px 0; }
.rom-footer__list .sub-menu a:hover { color: var(--rom-teal); }
.rom-footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--rom-line-soft); }
.rom-footer__bottom p { font-family: var(--rom-mono); font-size: 11.5px; color: var(--rom-muted); margin: 0; }
.rom-status { display: inline-flex; align-items: center; gap: 8px; font-family: var(--rom-mono); font-size: 11.5px; color: var(--rom-silver); }
.rom-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--rom-green); box-shadow: 0 0 8px var(--rom-green); }

/* ---- Command palette ---------------------------------------------------- */
.rom-cmd-overlay { position: fixed; inset: 0; z-index: 120; display: none; padding-top: 14vh; justify-content: center; background: rgba(8,9,11,.7); backdrop-filter: blur(4px); }
.rom-cmd-overlay.is-open { display: flex; }
.rom-cmd-panel { width: min(100% - 32px, 580px); height: max-content; background: var(--rom-elevated); border: 1px solid var(--rom-line); border-radius: 16px; overflow: hidden; box-shadow: 0 50px 100px -30px rgba(0,0,0,.9); }
.rom-cmd-input { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--rom-line-soft); }
.rom-cmd-input input { flex: 1; background: none; border: none; outline: none; color: var(--rom-bone); font-family: var(--rom-body); font-size: 15.5px; }
.rom-cmd-input kbd { font-family: var(--rom-mono); font-size: 11px; color: var(--rom-muted); border: 1px solid var(--rom-line); border-radius: 5px; padding: 2px 6px; }
.rom-cmd-results { max-height: 340px; overflow-y: auto; padding: 8px; }
.rom-cmd-item { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 9px; cursor: pointer; color: var(--rom-bone); font-size: 14px; }
.rom-cmd-item.is-active, .rom-cmd-item:hover { background: rgba(97,212,214,.09); }
.rom-cmd-empty { padding: 30px; text-align: center; color: var(--rom-muted); font-size: 13.5px; }

/* ---- Gutenberg interop -------------------------------------------------- */
.rom-site .wp-block-columns { gap: 20px; }
.rom-site .wp-block-column { min-width: 0; }
.rom-site .entry-content > .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; }

/* ---- Motion ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .rom-site *, .rom-site *::before, .rom-site *::after {
    animation-duration: .001ms !important; transition-duration: .05ms !important;
  }
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .rom-footer__grid { grid-template-columns: 1fr; }
  .rom-footer__list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .rom-nav, .rom-cmdk, .rom-signin { display: none; }
  .rom-burger { display: grid; }
  .rom-site .wp-block-columns { flex-wrap: wrap !important; }
  .rom-site .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 600px) {
  .rom-footer__list { grid-template-columns: 1fr; }
  .rom-hubwin__tiles { grid-template-columns: 1fr; }
}

/* v0.3 — Kadence page shell reset. Prevent white title/entry wells on ROM pages. */
.rom-site .entry-hero-container-inner,
.rom-site .entry-header,
.rom-site .page-header,
.rom-site .content-title-style-above,
.rom-site .hero-section-overlay,
.rom-site .entry-title-wrap { display: none !important; }
.rom-site #primary,
.rom-site .content-area,
.rom-site .site-main,
.rom-site .entry-content,
.rom-site .content-container,
.rom-site .site-container { background: transparent !important; }
.rom-site .content-area { margin: 0 !important; }
.rom-site .site-main > article,
.rom-site article.page { margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.rom-site .entry-content-wrap { padding: 0 !important; background: transparent !important; }

/* Authoritative accents from ROM AnimTools desktop theme. */
.rom-accent-grease_pencil { --accent:#8D7DFF; }
.rom-accent-pose_browser { --accent:#A7C65C; }
.rom-accent-uv_tool { --accent:#5D8EFF; }
.rom-accent-quantize { --accent:#61D4D6; }
.rom-accent-smear { --accent:#FF9B4A; }
.rom-accent-motion_trails { --accent:#36D9FF; }
.rom-accent-playblast { --accent:#4FA8FF; }
.rom-accent-curve_hygiene { --accent:#D8A34D; }
.rom-accent-game_lod { --accent:#33C860; }
.rom-accent-key_toolbelt { --accent:#5E9FD6; }
.rom-accent-temp_controls { --accent:#D56A6A; }
.rom-accent-time_bookmarks { --accent:#61D4D6; }
.rom-accent-breakdown_tween { --accent:#B98CFF; }
.rom-accent-overlap_pro { --accent:#FF6B8A; }
.rom-accent-mocap_pro { --accent:#F4A63C; }
.rom-accent-grease_pencil .rom-hero__title em,
.rom-accent-pose_browser .rom-hero__title em,
.rom-accent-uv_tool .rom-hero__title em,
.rom-accent-quantize .rom-hero__title em,
.rom-accent-smear .rom-hero__title em,
.rom-accent-motion_trails .rom-hero__title em,
.rom-accent-playblast .rom-hero__title em,
.rom-accent-curve_hygiene .rom-hero__title em,
.rom-accent-game_lod .rom-hero__title em,
.rom-accent-key_toolbelt .rom-hero__title em,
.rom-accent-temp_controls .rom-hero__title em,
.rom-accent-time_bookmarks .rom-hero__title em,
.rom-accent-breakdown_tween .rom-hero__title em,
.rom-accent-overlap_pro .rom-hero__title em,
.rom-accent-mocap_pro .rom-hero__title em { color:var(--accent); }

.rom-specs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--rom-line-soft); border-radius:16px; overflow:hidden; }
.rom-spec { padding:20px; background:var(--rom-charcoal); border-right:1px solid var(--rom-line-soft); }
.rom-spec:last-child { border-right:0; }
.rom-spec span { display:block; color:var(--rom-muted); font:11px var(--rom-mono); text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px; }
.rom-spec b { color:var(--rom-bone); }
@media(max-width:760px){.rom-specs{grid-template-columns:1fr 1fr}.rom-spec:nth-child(2){border-right:0}.rom-spec:nth-child(-n+2){border-bottom:1px solid var(--rom-line-soft)}}

/* ==========================================================================
   v0.4.0 — PHASE 1 FOUNDATION COMPLETE
   Blog · Archive · Search · 404 · WooCommerce · Account · Motion
   ========================================================================== */

/* ---- Shared page furniture ---------------------------------------------- */
.rom-container--narrow { width: min(100% - 40px, 760px); }
.rom-section--top0 { padding-top: 0; }
.rom-page-title { font-size: clamp(30px, 4.6vw, 50px); font-weight: 800; letter-spacing: -.03em; margin: 14px 0 14px; }
.rom-entry { display: block; }

.rom-empty { border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); padding: 56px 30px; text-align: center; background: var(--rom-charcoal); }
.rom-empty h2 { font-size: 22px; margin-bottom: 8px; }
.rom-empty p { color: var(--rom-muted); font-size: 14.5px; margin: 0 0 18px; }

/* ---- Search form (replaces the white default box) ------------------------ */
.rom-searchform {
  display: flex; align-items: center; gap: 10px;
  background: var(--rom-charcoal); border: 1px solid var(--rom-line);
  border-radius: 12px; padding: 8px 8px 8px 14px;
  transition: border-color .18s, box-shadow .18s;
}
.rom-searchform:focus-within { border-color: var(--rom-teal-dim); box-shadow: 0 0 0 4px rgba(97,212,214,.1); }
.rom-searchform svg { color: var(--rom-muted); flex: none; }
.rom-searchform__input {
  flex: 1; min-width: 0; background: none; border: 0; outline: none;
  color: var(--rom-bone); font-family: var(--rom-body); font-size: 15px; padding: 8px 0;
}
.rom-searchform__input::placeholder { color: var(--rom-muted); }
.rom-search-wrap { max-width: 620px; margin-top: 22px; }

/* Block search + widget search, wherever they appear */
.rom-site .wp-block-search__input,
.rom-site .search-field {
  background: var(--rom-charcoal) !important;
  border: 1px solid var(--rom-line) !important;
  color: var(--rom-bone) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
}
.rom-site .wp-block-search__button { background: var(--rom-teal) !important; color: #06201F !important; border: 0 !important; border-radius: 10px !important; }

/* ---- Post grid ---------------------------------------------------------- */
.rom-postgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rom-postcard {
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius);
  background: var(--rom-charcoal); overflow: hidden;
  transition: transform .25s var(--rom-ease), border-color .25s, box-shadow .25s;
}
.rom-postcard:hover { transform: translateY(-4px); border-color: var(--rom-line); box-shadow: 0 24px 50px -30px rgba(0,0,0,.85); }
.rom-postcard__link { display: block; height: 100%; }
.rom-postcard__media { aspect-ratio: 16/9; overflow: hidden; border-bottom: 1px solid var(--rom-line-soft); }
.rom-postcard__media img { width: 100%; height: 100%; object-fit: cover; }
.rom-postcard__media--empty { display: grid; place-items: center; background: radial-gradient(120% 100% at 30% 0%, rgba(97,212,214,.09), transparent 70%); }
.rom-postcard__media--empty img { width: 34px; height: 34px; object-fit: contain; opacity: .65; }
.rom-postcard__body { padding: 18px; }
.rom-postcard__meta { font-family: var(--rom-mono); font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--rom-muted); }
.rom-postcard__title { font-size: 17px; margin: 8px 0 8px; line-height: 1.25; }
.rom-postcard__excerpt { font-size: 13.6px; color: var(--rom-silver); margin: 0; }
.rom-postcard__go { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; font-family: var(--rom-mono); font-size: 12px; color: var(--rom-teal); }
.rom-postcard:hover .rom-arrow { transform: translateX(3px); }
.rom-arrow { transition: transform .2s var(--rom-ease); display: inline-block; }

/* ---- Single post -------------------------------------------------------- */
.rom-postmeta { font-family: var(--rom-mono); font-size: 12px; color: var(--rom-muted); margin: 0; }
.rom-postthumb { border-radius: var(--rom-radius); overflow: hidden; border: 1px solid var(--rom-line-soft); margin-bottom: 32px; }
.rom-postthumb img { width: 100%; height: auto; display: block; }

.rom-prose { font-size: 16.5px; line-height: 1.75; }
.rom-prose > * + * { margin-top: 1.1em; }
.rom-prose h2 { font-size: clamp(24px, 3vw, 32px); margin-top: 1.8em; }
.rom-prose h3 { font-size: 20px; margin-top: 1.6em; }
.rom-prose a { color: var(--rom-teal); text-decoration: underline; text-underline-offset: 3px; }
.rom-prose img { border-radius: 10px; border: 1px solid var(--rom-line-soft); }
.rom-prose blockquote {
  margin: 1.6em 0; padding: 4px 0 4px 20px;
  border-left: 2px solid var(--rom-teal); color: var(--rom-bone); font-size: 18px;
}
.rom-prose code {
  font-family: var(--rom-mono); font-size: .88em; background: var(--rom-charcoal);
  border: 1px solid var(--rom-line-soft); border-radius: 5px; padding: 2px 6px; color: var(--rom-teal);
}
.rom-prose pre {
  background: var(--rom-graphite); border: 1px solid var(--rom-line);
  border-radius: 12px; padding: 18px; overflow-x: auto;
}
.rom-prose pre code { background: none; border: 0; padding: 0; color: var(--rom-silver); }
.rom-prose ul, .rom-prose ol { padding-left: 1.2em; }
.rom-prose li { margin: .4em 0; }
.rom-prose hr { border: 0; border-top: 1px solid var(--rom-line-soft); margin: 2.4em 0; }

.rom-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rom-postnav__item {
  border: 1px solid var(--rom-line-soft); border-radius: 12px; padding: 16px 18px;
  background: var(--rom-charcoal); transition: border-color .2s, transform .2s;
}
.rom-postnav__item:hover { border-color: var(--rom-teal-dim); transform: translateY(-2px); }
.rom-postnav__item span { font-family: var(--rom-mono); font-size: 11px; color: var(--rom-muted); display: block; margin-bottom: 6px; }
.rom-postnav__item b { color: var(--rom-bone); font-size: 14.5px; font-weight: 600; }
.rom-postnav__item--next { text-align: right; }

/* ---- Pagination --------------------------------------------------------- */
.rom-pagination { margin-top: 44px; }
.rom-pagination .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.rom-pagination .page-numbers {
  display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px;
  border: 1px solid var(--rom-line-soft); border-radius: 9px;
  font-family: var(--rom-mono); font-size: 13px; color: var(--rom-silver);
  transition: border-color .18s, color .18s, background .18s;
}
.rom-pagination .page-numbers:hover { border-color: var(--rom-teal-dim); color: var(--rom-bone); }
.rom-pagination .page-numbers.current { background: var(--rom-teal); color: #06201F; border-color: var(--rom-teal); }
.rom-pagination .page-numbers.dots { border-color: transparent; }

/* ---- 404 ---------------------------------------------------------------- */
.rom-404 { text-align: center; }
.rom-404 .rom-eyebrow { justify-content: center; }
.rom-404__code {
  font-family: var(--rom-display); font-size: clamp(88px, 17vw, 176px); font-weight: 800;
  line-height: .9; letter-spacing: -.05em; margin: 10px 0 0;
  background: linear-gradient(180deg, var(--rom-bone), rgba(97,212,214,.25));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.rom-404 .rom-lede { margin-inline: auto; }
.rom-404 .rom-search-wrap { margin-inline: auto; }
.rom-404__tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 34px; }
.rom-404__tool {
  --accent: var(--rom-teal);
  border: 1px solid var(--rom-line-soft); border-radius: 12px; padding: 16px 12px;
  background: var(--rom-charcoal); display: grid; gap: 10px; justify-items: center;
  transition: border-color .2s, transform .2s;
}
.rom-404__tool:hover { border-color: color-mix(in srgb, var(--accent) 50%, var(--rom-line)); transform: translateY(-3px); }
.rom-404__mono {
  width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center;
  font-family: var(--rom-mono); font-size: 12px; font-weight: 700; color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}
.rom-404__tool b { font-size: 12.5px; color: var(--rom-bone); font-weight: 600; text-align: center; }
.rom-404__home { margin-top: 32px; }

/* ---- WooCommerce -------------------------------------------------------- */
.rom-woo { color: var(--rom-silver); }
.rom-woo h1, .rom-woo h2 { color: var(--rom-bone); }
.rom-site .woocommerce-products-header__title,
.rom-site .product_title { font-family: var(--rom-display); color: var(--rom-bone); }

.rom-site ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 18px; list-style: none; margin: 0; padding: 0; }
.rom-site ul.products::before, .rom-site ul.products::after { content: none !important; }
.rom-site ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important;
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius);
  background: var(--rom-charcoal); padding: 16px; text-align: left;
  transition: transform .25s var(--rom-ease), border-color .25s;
}
.rom-site ul.products li.product:hover { transform: translateY(-4px); border-color: var(--rom-line); }
.rom-site ul.products li.product img { border-radius: 10px; margin-bottom: 12px; }
.rom-site ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--rom-display) !important; color: var(--rom-bone) !important;
  font-size: 16px !important; padding: 0 !important;
}
.rom-site ul.products li.product .price { color: var(--rom-teal) !important; font-family: var(--rom-mono); font-size: 14px; }
.rom-site .woocommerce-Price-amount { color: var(--rom-teal); }

.rom-site .woocommerce span.onsale {
  background: var(--rom-amber); color: #241300; border-radius: 100px;
  font-family: var(--rom-mono); font-size: 11px; min-height: 0; min-width: 0; padding: 4px 10px; line-height: 1;
}

/* Woo buttons inherit the ROM button system */
.rom-site .woocommerce a.button,
.rom-site .woocommerce button.button,
.rom-site .woocommerce input.button,
.rom-site .woocommerce a.button.alt,
.rom-site .woocommerce button.button.alt {
  background: var(--rom-teal); color: #06201F; border-radius: 10px;
  font-family: var(--rom-body); font-weight: 600; font-size: 14px; padding: 12px 18px;
  border: 1px solid transparent; transition: background .18s, transform .18s;
}
.rom-site .woocommerce a.button:hover,
.rom-site .woocommerce button.button:hover,
.rom-site .woocommerce input.button:hover,
.rom-site .woocommerce a.button.alt:hover,
.rom-site .woocommerce button.button.alt:hover { background: var(--rom-teal-hi); color: #06201F; transform: translateY(-1px); }

/* Woo notices */
.rom-site .woocommerce-message,
.rom-site .woocommerce-info,
.rom-site .woocommerce-error {
  background: var(--rom-charcoal); border: 1px solid var(--rom-line);
  border-top: 2px solid var(--rom-teal); color: var(--rom-silver); border-radius: 10px;
}
.rom-site .woocommerce-error { border-top-color: var(--rom-red, #E45B5B); }
.rom-site .woocommerce-message::before,
.rom-site .woocommerce-info::before { color: var(--rom-teal); }

/* Woo forms */
.rom-site .woocommerce form .form-row input.input-text,
.rom-site .woocommerce form .form-row textarea,
.rom-site .woocommerce form .form-row select,
.rom-site .select2-container .select2-selection {
  background: var(--rom-charcoal) !important; border: 1px solid var(--rom-line) !important;
  color: var(--rom-bone) !important; border-radius: 10px !important; padding: 12px 14px !important;
  min-height: 46px;
}
.rom-site .woocommerce form .form-row label { color: var(--rom-silver); font-size: 13.5px; }

/* Woo tables (cart, orders) */
.rom-site .woocommerce table.shop_table {
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius);
  border-collapse: separate; overflow: hidden; background: var(--rom-charcoal);
}
.rom-site .woocommerce table.shop_table th { color: var(--rom-bone); font-family: var(--rom-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.rom-site .woocommerce table.shop_table td { border-top: 1px solid var(--rom-line-soft); color: var(--rom-silver); }

/* Account: ROM Hub-style sidebar */
.rom-site .woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; }
.rom-site .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rom-site .woocommerce-MyAccount-navigation li a {
  display: block; padding: 11px 13px; border-radius: 9px;
  color: var(--rom-silver); font-size: 14px; font-weight: 500;
  border: 1px solid transparent; transition: background .18s, color .18s, border-color .18s;
}
.rom-site .woocommerce-MyAccount-navigation li a:hover { background: rgba(255,255,255,.04); color: var(--rom-bone); }
.rom-site .woocommerce-MyAccount-navigation li.is-active a {
  background: rgba(97,212,214,.1); color: var(--rom-teal);
  border-color: color-mix(in srgb, var(--rom-teal) 30%, transparent);
}
.rom-site .woocommerce-account .woocommerce-MyAccount-content { width: 71%; }

/* ---- Motion: subtle, and off when asked ---------------------------------- */
.rom-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--rom-ease), transform .6s var(--rom-ease); }
.rom-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .rom-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .rom-postgrid { grid-template-columns: 1fr 1fr; }
  .rom-site ul.products { grid-template-columns: 1fr 1fr; }
  .rom-404__tools { grid-template-columns: 1fr 1fr; }
  .rom-site .woocommerce-account .woocommerce-MyAccount-navigation,
  .rom-site .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
}
@media (max-width: 700px) {
  .rom-postgrid { grid-template-columns: 1fr; }
  .rom-site ul.products { grid-template-columns: 1fr; }
  .rom-postnav { grid-template-columns: 1fr; }
  .rom-postnav__item--next { text-align: left; }
  .rom-searchform { flex-wrap: wrap; }
  .rom-searchform .rom-btn { width: 100%; }
}

/* ==========================================================================
   v0.5.0 — PHASE 2: PRODUCT EXPERIENCE
   Catalog · Comparison table · Collections · Academy · Support · Roadmap
   ========================================================================== */

.rom-band { border-top: 1px solid var(--rom-line-soft); border-bottom: 1px solid var(--rom-line-soft); background: radial-gradient(120% 100% at 100% 0%, rgba(97,212,214,.05), transparent 55%); }
.rom-hero--center { text-align: center; }
.rom-hero--center .rom-eyebrow { justify-content: center; }
.rom-hero--short { padding-block: clamp(40px, 6vw, 76px) clamp(30px, 4vw, 52px); }
.rom-lede--center { margin-inline: auto; }

/* ---- Tools catalog ------------------------------------------------------ */
.rom-shelf { padding-block: 0 clamp(40px, 5vw, 64px); }
.rom-shelf__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--rom-line-soft); }
.rom-shelf__title { font-size: clamp(22px, 2.6vw, 28px); margin: 0 0 6px; }
.rom-shelf__blurb { font-size: 14px; color: var(--rom-muted); margin: 0; max-width: 62ch; }
.rom-shelf__count { font-family: var(--rom-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--rom-muted); white-space: nowrap; }
.rom-shelf__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.rom-shelfcard {
  --accent: var(--rom-teal);
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius);
  background: var(--rom-charcoal); padding: 20px; display: flex; flex-direction: column;
  position: relative; overflow: hidden;
  transition: transform .25s var(--rom-ease), border-color .25s, box-shadow .25s;
}
.rom-shelfcard::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--accent); opacity: 0; transition: opacity .25s; }
.rom-shelfcard:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--accent) 45%, var(--rom-line)); box-shadow: 0 24px 50px -30px rgba(0,0,0,.85); }
.rom-shelfcard:hover::after { opacity: .9; }
.rom-shelfcard__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.rom-shelfcard__mono {
  width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center;
  font-family: var(--rom-mono); font-size: 12px; font-weight: 700; color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}
.rom-shelfcard__ver { font-family: var(--rom-mono); font-size: 11px; color: var(--rom-muted); }
.rom-shelfcard h4 { font-family: var(--rom-display); font-size: 17px; color: var(--rom-bone); margin: 0 0 7px; }
.rom-shelfcard p { font-size: 13.4px; color: var(--rom-silver); margin: 0; flex: 1; }
.rom-shelfcard__go { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; font-family: var(--rom-mono); font-size: 12px; color: var(--accent); }
.rom-shelfcard:hover .rom-arrow { transform: translateX(3px); }

/* ---- Comparison table --------------------------------------------------- */
.rom-compare-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.rom-compare { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 720px; }
.rom-compare th, .rom-compare td { text-align: left; padding: 14px 16px; }
.rom-compare thead th { vertical-align: bottom; border-bottom: 1px solid var(--rom-line); }
.rom-compare__feat { color: var(--rom-silver); font-size: 14px; font-weight: 500; font-family: var(--rom-body); }
thead .rom-compare__feat { color: var(--rom-muted); font-family: var(--rom-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.rom-compare__tier { position: relative; min-width: 150px; }
.rom-compare__tier b { display: block; font-family: var(--rom-display); font-size: 18px; color: var(--rom-bone); margin-bottom: 4px; }
.rom-compare__price { display: block; font-family: var(--rom-display); font-size: 30px; font-weight: 800; color: var(--rom-bone); letter-spacing: -.02em; }
.rom-compare__tier small { display: block; font-family: var(--rom-mono); font-size: 10.5px; color: var(--rom-muted); margin: 4px 0 14px; }
.rom-compare__tier .rom-btn { width: 100%; }
.rom-compare__flag {
  position: absolute; top: -10px; left: 16px;
  font-family: var(--rom-mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase;
  background: var(--rom-teal); color: #06201F; padding: 3px 9px; border-radius: 100px;
}
.rom-compare__tier.is-featured, .rom-compare td.is-featured { background: rgba(97,212,214,.045); }
.rom-compare__tier.is-featured { border-radius: 12px 12px 0 0; }
.rom-compare__sec th {
  font-family: var(--rom-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--rom-teal); background: var(--rom-charcoal);
  border-top: 1px solid var(--rom-line-soft); border-bottom: 1px solid var(--rom-line-soft);
  padding: 10px 16px;
}
.rom-compare tbody tr:not(.rom-compare__sec) td,
.rom-compare tbody tr:not(.rom-compare__sec) th { border-bottom: 1px solid var(--rom-line-soft); }
.rom-yes { color: var(--rom-green); font-weight: 700; font-size: 15px; }
.rom-no { color: #454951; }
.rom-val { font-family: var(--rom-mono); font-size: 12.5px; color: var(--rom-silver); }

/* ---- Why ROM ------------------------------------------------------------ */
.rom-bengrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rom-line-soft); border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); overflow: hidden; }
.rom-ben { background: var(--rom-ink); padding: 22px 20px; transition: background .25s; }
.rom-ben:hover { background: var(--rom-charcoal); }
.rom-ben b { display: block; font-family: var(--rom-display); font-size: 15.5px; color: var(--rom-bone); margin-bottom: 7px; }
.rom-ben p { font-size: 13.2px; color: var(--rom-muted); margin: 0; }

/* ---- Audience ----------------------------------------------------------- */
.rom-audgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.rom-aud { border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); padding: 22px 18px; background: var(--rom-charcoal); transition: transform .2s, border-color .2s; }
.rom-aud:hover { transform: translateY(-3px); border-color: var(--rom-teal-dim); }
.rom-aud__n { font-family: var(--rom-mono); font-size: 11px; color: var(--rom-teal); }
.rom-aud b { display: block; font-family: var(--rom-display); color: var(--rom-bone); font-size: 15.5px; margin: 12px 0 6px; }
.rom-aud p { font-size: 12.8px; color: var(--rom-muted); margin: 0; }

/* ---- Roadmap ------------------------------------------------------------ */
.rom-road { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.rom-road::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px; background: var(--rom-line); }
.rom-road__item { position: relative; padding: 0 0 26px 34px; }
.rom-road__item::before {
  content: ""; position: absolute; left: 0; top: 5px; width: 15px; height: 15px; border-radius: 50%;
  background: var(--rom-ink); border: 2px solid var(--rom-line); z-index: 1;
}
.rom-road__item.is-shipped::before  { border-color: var(--rom-green); background: var(--rom-green); box-shadow: 0 0 10px rgba(51,200,96,.6); }
.rom-road__item.is-building::before { border-color: var(--rom-teal); background: var(--rom-teal); box-shadow: 0 0 10px rgba(97,212,214,.6); }
.rom-road__item.is-next::before     { border-color: var(--rom-amber); }
.rom-road__item.is-explore::before  { border-color: #454951; border-style: dashed; }
.rom-road__state { font-family: var(--rom-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--rom-muted); }
.rom-road__item.is-shipped .rom-road__state  { color: var(--rom-green); }
.rom-road__item.is-building .rom-road__state { color: var(--rom-teal); }
.rom-road__item.is-next .rom-road__state     { color: var(--rom-amber); }
.rom-road__item b { display: block; font-family: var(--rom-display); font-size: 17px; color: var(--rom-bone); margin: 5px 0 5px; }
.rom-road__item p { font-size: 13.6px; color: var(--rom-silver); margin: 0; max-width: 66ch; }

/* ---- Marketplace collections -------------------------------------------- */
.rom-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.rom-chip {
  font-family: var(--rom-mono); font-size: 11.5px; color: var(--rom-silver);
  border: 1px solid var(--rom-line); border-radius: 100px; padding: 7px 14px; background: var(--rom-charcoal);
}
.rom-chip.is-on { background: var(--rom-teal); color: #06201F; border-color: var(--rom-teal); }

.rom-colgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rom-col {
  --accent: var(--rom-teal);
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius);
  background: var(--rom-charcoal); overflow: hidden;
  transition: transform .25s var(--rom-ease), border-color .25s;
}
.rom-col:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--accent) 45%, var(--rom-line)); }
.rom-col__thumb {
  height: 104px; position: relative; display: grid; place-items: center;
  border-bottom: 1px solid var(--rom-line-soft);
  background: radial-gradient(120% 110% at 30% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%);
}
.rom-col__mono {
  width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center;
  font-family: var(--rom-mono); font-size: 13px; font-weight: 700; color: var(--accent);
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 34%, transparent);
}
.rom-col__count { position: absolute; top: 10px; right: 11px; font-family: var(--rom-mono); font-size: 10px; color: var(--rom-muted); }
.rom-col__body { padding: 15px; }
.rom-col__body h4 { font-family: var(--rom-display); font-size: 15.5px; color: var(--rom-bone); margin: 0 0 6px; }
.rom-col__body p { font-size: 12.8px; color: var(--rom-silver); margin: 0 0 10px; }
.rom-col__for { font-family: var(--rom-mono); font-size: 10.5px; color: var(--accent); }

/* ---- Steps -------------------------------------------------------------- */
.rom-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: rom-step; }
.rom-steps li { border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); padding: 20px; background: var(--rom-charcoal); }
.rom-steps li span {
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px;
  background: rgba(97,212,214,.1); color: var(--rom-teal);
  font-family: var(--rom-mono); font-size: 12px; font-weight: 700; margin-bottom: 12px;
}
.rom-steps li b { display: block; font-family: var(--rom-display); font-size: 15.5px; color: var(--rom-bone); margin-bottom: 6px; }
.rom-steps li p { font-size: 13px; color: var(--rom-muted); margin: 0; }

/* ---- Academy ------------------------------------------------------------ */
.rom-acadgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rom-acad {
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); padding: 22px;
  background: var(--rom-charcoal); display: flex; flex-direction: column;
  transition: transform .25s var(--rom-ease), border-color .25s;
}
.rom-acad:hover { transform: translateY(-4px); border-color: var(--rom-teal-dim); }
.rom-acad__mono {
  width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center;
  background: rgba(97,212,214,.1); color: var(--rom-teal);
  font-family: var(--rom-mono); font-size: 13px; font-weight: 700; margin-bottom: 14px;
}
.rom-acad b { font-family: var(--rom-display); font-size: 16px; color: var(--rom-bone); margin-bottom: 6px; }
.rom-acad p { font-size: 13px; color: var(--rom-silver); margin: 0; flex: 1; }
.rom-acad__go { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; font-family: var(--rom-mono); font-size: 11.5px; color: var(--rom-teal); }
.rom-acad:hover .rom-arrow { transform: translateX(3px); }

/* ---- Educator panel ----------------------------------------------------- */
.rom-edu { border: 1px solid var(--rom-line); border-radius: var(--rom-radius); overflow: hidden; background: var(--rom-charcoal); }
.rom-edu__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 18px; border-bottom: 1px solid var(--rom-line-soft); }
.rom-edu__row:last-child { border-bottom: 0; }
.rom-edu__row b { font-family: var(--rom-display); color: var(--rom-bone); font-size: 15px; }
.rom-edu__row span { font-family: var(--rom-mono); font-size: 12px; color: var(--rom-teal); }

/* ---- Support ------------------------------------------------------------ */
.rom-supgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rom-sup {
  --accent: var(--rom-teal);
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); padding: 22px;
  background: var(--rom-charcoal); border-left: 2px solid var(--accent);
  transition: transform .25s var(--rom-ease), border-color .25s;
}
.rom-sup:hover { transform: translateY(-3px); }
.rom-sup b { display: block; font-family: var(--rom-display); font-size: 16px; color: var(--rom-bone); margin-bottom: 6px; }
.rom-sup p { font-size: 13.2px; color: var(--rom-silver); margin: 0; }

.rom-statusbar {
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  margin-top: 20px; padding: 16px 20px;
  border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); background: var(--rom-charcoal);
}
.rom-statusbar__meta { font-family: var(--rom-mono); font-size: 11.5px; color: var(--rom-muted); }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 1100px) {
  .rom-bengrid, .rom-colgrid, .rom-acadgrid { grid-template-columns: repeat(2, 1fr); }
  .rom-audgrid { grid-template-columns: repeat(3, 1fr); }
  .rom-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1000px) {
  .rom-shelf__grid { grid-template-columns: 1fr 1fr; }
  .rom-supgrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .rom-shelf__grid, .rom-bengrid, .rom-colgrid, .rom-acadgrid, .rom-supgrid, .rom-steps { grid-template-columns: 1fr; }
  .rom-audgrid { grid-template-columns: 1fr 1fr; }
  .rom-shelf__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .rom-chips { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }
  .rom-chip { white-space: nowrap; }
}

/* ==========================================================================
   v0.6.0 — PHASE 3: MEDIA + PRODUCT EXPERIENCE
   Screenshot frames · Video · Feature explorer · Gallery · Specs
   ========================================================================== */

/* ---- Screenshot frame ---------------------------------------------------
   Every visual on the site wears this chrome, so shots captured months apart
   still look like one product.
------------------------------------------------------------------------- */
.rom-shot {
  --accent: var(--rom-teal);
  margin: 0; border: 1px solid var(--rom-line); border-radius: 14px;
  overflow: hidden; background: linear-gradient(180deg, #16181C, var(--rom-graphite));
  box-shadow: 0 40px 90px -44px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04);
}
.rom-shot--bare { border: 0; background: none; box-shadow: none; }
.rom-shot__bar {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px;
  border-bottom: 1px solid var(--rom-line-soft); background: rgba(255,255,255,.015);
}
.rom-shot__title {
  font-family: var(--rom-mono); font-size: 11.5px; color: var(--rom-silver);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rom-shot__bar::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-left: auto; box-shadow: 0 0 8px var(--accent); }
.rom-shot__pause {
  margin-left: auto; background: none; border: 0; color: var(--rom-muted);
  font-size: 9px; line-height: 1; padding: 4px 6px; border-radius: 5px; cursor: pointer;
}
.rom-shot__pause:hover { color: var(--rom-bone); background: rgba(255,255,255,.06); }
.rom-shot--video .rom-shot__bar::after { margin-left: 8px; }
.rom-shot__body { display: block; position: relative; }
.rom-shot__body img, .rom-shot__body video { width: 100%; height: auto; display: block; }
.rom-shot__cap {
  padding: 11px 14px; border-top: 1px solid var(--rom-line-soft);
  font-size: 12.5px; color: var(--rom-muted); font-family: var(--rom-body);
}

/* Placeholder: a labelled slot, never a broken image. */
.rom-shot__ph {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; padding: 30px 24px; text-align: center;
  background:
    radial-gradient(120% 110% at 50% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%),
    repeating-linear-gradient(45deg, transparent 0 10px, rgba(255,255,255,.012) 10px 20px);
}
.rom-shot__phmark { opacity: .35; }
.rom-shot__phlabel { font-family: var(--rom-mono); font-size: 12px; color: var(--rom-muted); letter-spacing: .04em; }
.rom-shot__phkey {
  font-family: var(--rom-mono); font-size: 10.5px; color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  border-radius: 6px; padding: 3px 8px;
}
.rom-shot__phbrief { font-size: 11.5px; color: #5C626B; max-width: 46ch; line-height: 1.5; }

/* ---- Feature explorer --------------------------------------------------- */
.rom-explorer { --accent: var(--rom-teal); display: grid; grid-template-columns: 380px 1fr; gap: 22px; align-items: start; }
.rom-explorer__tabs { display: grid; gap: 6px; }
.rom-explorer__tab {
  display: flex; gap: 14px; text-align: left; width: 100%;
  padding: 15px 16px; border-radius: 12px; cursor: pointer;
  background: transparent; border: 1px solid transparent; color: inherit;
  transition: background .2s, border-color .2s;
}
.rom-explorer__tab:hover { background: rgba(255,255,255,.03); }
.rom-explorer__tab.is-on {
  background: color-mix(in srgb, var(--accent) 8%, var(--rom-charcoal));
  border-color: color-mix(in srgb, var(--accent) 34%, transparent);
}
.rom-explorer__n { font-family: var(--rom-mono); font-size: 11px; color: var(--rom-muted); padding-top: 2px; flex: none; }
.rom-explorer__tab.is-on .rom-explorer__n { color: var(--accent); }
.rom-explorer__lab { display: block; }
.rom-explorer__lab b { display: block; font-family: var(--rom-display); font-size: 15.5px; color: var(--rom-bone); margin-bottom: 4px; }
.rom-explorer__lab em {
  font-style: normal; font-size: 13px; color: var(--rom-muted); line-height: 1.55;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rom-explorer__tab.is-on .rom-explorer__lab em { -webkit-line-clamp: 5; color: var(--rom-silver); }
.rom-explorer__stage { position: relative; }
.rom-explorer__panel[hidden] { display: none; }
.rom-explorer__panel { animation: romFade .3s var(--rom-ease); }
@keyframes romFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* No JS: every panel simply stacks, nothing is lost. */
.no-js .rom-explorer { grid-template-columns: 1fr; }
.no-js .rom-explorer__panel[hidden] { display: block; }

/* ---- Gallery ------------------------------------------------------------ */
.rom-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

/* ---- Spec table --------------------------------------------------------- */
.rom-specs { border: 1px solid var(--rom-line); border-radius: var(--rom-radius); overflow: hidden; background: var(--rom-charcoal); margin-top: 24px; }
.rom-specs__row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 16px; border-bottom: 1px solid var(--rom-line-soft); }
.rom-specs__row:last-child { border-bottom: 0; }
.rom-specs__row b { font-family: var(--rom-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--rom-muted); font-weight: 400; }
.rom-specs__row span { font-size: 13.5px; color: var(--rom-bone); text-align: right; }

/* ---- Interactive Hub ----------------------------------------------------
   Hovering a rail item lights it up, so the mockup reads as an application
   rather than a picture of one.
------------------------------------------------------------------------- */
.rom-hubwin__rail .rom-rail-btn { cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.rom-hubwin__rail .rom-rail-btn:hover { color: var(--rom-teal); background: rgba(97,212,214,.14); transform: translateY(-1px); }
.rom-hubwin__tile { cursor: pointer; }
.rom-hubwin__tile:hover { border-color: color-mix(in srgb, var(--accent) 55%, var(--rom-line)); transform: translateY(-2px); }
.rom-hubwin__tile { transition: transform .2s var(--rom-ease), border-color .2s; }
.rom-rail-btn b { animation: romPulse 2.6s ease-in-out infinite; }
@keyframes romPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.14); } }

@media (prefers-reduced-motion: reduce) {
  .rom-rail-btn b { animation: none; }
  .rom-explorer__panel { animation: none; }
}

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 1000px) {
  .rom-explorer { grid-template-columns: 1fr; }
  .rom-explorer__tabs { grid-template-columns: 1fr; }
  .rom-explorer__lab em { -webkit-line-clamp: 2; }
}
@media (max-width: 700px) {
  .rom-gallery { grid-template-columns: 1fr; }
  .rom-shot__phbrief { display: none; }
  .rom-specs__row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .rom-specs__row span { text-align: left; }
}


/* ==========================================================================
   v0.7.0 — DOCUMENTATION + BRAND CONTROLS
   ========================================================================== */
.rom-btn--primary, .rom-header .rom-btn--primary, .wp-block-button:not(.is-style-outline) .wp-block-button__link { color:#071114 !important; }
.rom-brand__custom { display:block; width:auto; max-width:190px; max-height:38px; object-fit:contain; }
.rom-brand__mark { width:32px; height:32px; }
/* v0.10.3: the wordmark is no longer hidden just because a custom logo exists —
   that left the header title-less for logos that are a mark only. Opt out with
   add_filter('rom_brand_show_wordmark','__return_false') if your logo has text. */
.rom-brand--markonly .rom-brand__wordmark { display:none; }
.rom-dochero { padding-bottom:42px; background:radial-gradient(75% 120% at 82% 0%, rgba(97,212,214,.09), transparent 70%); }
.rom-doclayout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:38px; align-items:start; padding-top:40px; padding-bottom:100px; }
.rom-doclayout--single { grid-template-columns:250px minmax(0,760px) 190px; }
.rom-docnav { position:sticky; top:92px; border:1px solid var(--rom-line-soft); border-radius:14px; background:var(--rom-charcoal); padding:14px; max-height:calc(100vh - 120px); overflow:auto; }
.rom-docnav__head { display:flex; justify-content:space-between; align-items:center; padding:8px 8px 14px; font-family:var(--rom-display); color:var(--rom-bone); }
.rom-docnav__head small { font-family:var(--rom-mono); color:var(--rom-muted); font-weight:400; }
.rom-docnav__search input { width:100%; padding:10px 11px; border:1px solid var(--rom-line); border-radius:8px; background:var(--rom-graphite); color:var(--rom-bone); margin-bottom:10px; }
.rom-docnav__label { font-family:var(--rom-mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--rom-muted); padding:16px 8px 7px; }
.rom-docnav__link,.rom-docnav__tool { display:flex; align-items:center; gap:9px; padding:9px 8px; border-radius:8px; color:var(--rom-silver); font-size:12.5px; text-decoration:none; }
.rom-docnav__link:hover,.rom-docnav__tool:hover,.rom-docnav__tool.is-current { background:rgba(255,255,255,.045); color:var(--rom-bone); }
.rom-docnav__tool span { display:grid; place-items:center; min-width:27px; height:27px; border:1px solid color-mix(in srgb,var(--accent) 45%,transparent); border-radius:7px; color:var(--accent); font-family:var(--rom-mono); font-size:9px; }
.rom-docnav__tool b { font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rom-docgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rom-doccard { border:1px solid var(--rom-line-soft); border-radius:14px; background:var(--rom-charcoal); padding:24px; }
.rom-doccard h2 { font-size:20px; margin:4px 0 10px; }
.rom-doccard h2 a { color:var(--rom-bone); text-decoration:none; }
.rom-doccard p { color:var(--rom-silver); font-size:13.5px; }
.rom-docarticle { min-width:0; }
.rom-doccrumb,.rom-docmeta { font-family:var(--rom-mono); font-size:11px; color:var(--rom-muted); }
.rom-doccrumb { display:flex; gap:8px; margin-bottom:22px; }
.rom-doccrumb a { color:var(--rom-teal); }
.rom-docarticle>h1 { font-family:var(--rom-display); font-size:clamp(38px,5vw,66px); line-height:1; color:var(--rom-bone); margin:0 0 16px; }
.rom-docmeta { margin-bottom:42px; }
.rom-doctoc { position:sticky; top:100px; border-left:1px solid var(--rom-line-soft); padding-left:18px; }
.rom-doctoc>b { display:block; color:var(--rom-bone); font-size:12px; margin-bottom:12px; }
#romDocToc { display:grid; gap:8px; }
#romDocToc a { color:var(--rom-muted); font-size:11.5px; text-decoration:none; }
#romDocToc a:hover { color:var(--rom-teal); }
#romDocToc a.is-sub { padding-left:10px; }
.rom-docfeedback { margin-top:50px; padding:22px; border:1px solid var(--rom-line); border-radius:12px; background:var(--rom-charcoal); display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.rom-docfeedback b { color:var(--rom-bone); }.rom-docfeedback span { color:var(--rom-muted); flex:1; font-size:13px; }
@media(max-width:1100px){.rom-doclayout--single{grid-template-columns:230px minmax(0,1fr)}.rom-doctoc{display:none}}
@media(max-width:760px){.rom-doclayout,.rom-doclayout--single{grid-template-columns:1fr}.rom-docnav{position:relative;top:auto;max-height:none}.rom-docgrid{grid-template-columns:1fr}.rom-brand__custom{max-width:145px;max-height:32px}}

/* v0.8 Documentation navigation bridge */
.rom-docquick{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.rom-docquick a{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border:1px solid var(--rom-border);border-radius:8px;background:rgba(255,255,255,.025);color:var(--rom-text);font-size:.82rem;font-weight:700}.rom-docquick a:hover{border-color:var(--rom-teal);color:var(--rom-teal)}

/* =========================================================================
   v0.9.0 — CONTRACT-DRIVEN COMMERCE: docs availability badges
   ========================================================================= */
.rom-docbadges { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 22px; }
.rom-docbadge {
  font-family: var(--rom-mono); font-size: 12px; color: var(--rom-silver);
  background: var(--rom-graphite); border: 1px solid var(--rom-line);
  border-radius: 8px; padding: 5px 10px;
}
.rom-docbadge b { color: var(--rom-teal); font-weight: 700; }
.rom-docbadge--muted { color: var(--rom-muted); }
.rom-docbadge code { font-family: var(--rom-mono); color: var(--rom-silver); background: none; padding: 0; }

/* =========================================================================
   v0.9.1 — TOOL NARRATIVE DETAIL (overview / solves / workflow / concepts)
   ========================================================================= */
.rom-tooldetail { display: grid; gap: 30px; }
.rom-tooldetail__lead { max-width: 840px; }
.rom-tooldetail__overview { font-size: 18px; line-height: 1.62; color: var(--rom-bone); margin: 6px 0 0; }
.rom-tooldetail__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.rom-tooldetail__h { font-size: 15px; letter-spacing: .01em; color: var(--rom-silver); margin: 0 0 12px; }
.rom-tooldetail__block p { color: var(--rom-silver); line-height: 1.62; margin: 0; }
.rom-tooldetail__flow { margin: 0; padding-left: 20px; color: var(--rom-silver); }
.rom-tooldetail__flow li { margin: 0 0 9px; line-height: 1.55; }
.rom-tooldetail__concepts { border-top: 1px solid var(--rom-line); padding-top: 24px; }
.rom-tooldetail__conceptlist { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin: 0; }
.rom-tooldetail__concept dt { color: var(--rom-bone); font-weight: 600; margin: 0 0 5px; }
.rom-tooldetail__concept dt::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--accent, var(--rom-teal)); margin-right: 9px; vertical-align: middle; }
.rom-tooldetail__concept dd { margin: 0; color: var(--rom-silver); line-height: 1.55; font-size: 14.5px; }
@media (max-width: 782px) { .rom-tooldetail__cols { grid-template-columns: 1fr; } }

/* =========================================================================
   v0.9.4 — PRO BILLING AXIS (pure-CSS Monthly/Annual/Lifetime, no JS needed)
   ========================================================================= */
.rom-billing__title { margin: 0 0 22px; }
.rom-billing { max-width: 560px; margin: 0 auto; }
.rom-billing__radio { position: absolute; opacity: 0; pointer-events: none; }
.rom-billing__toggle {
  display: flex; gap: 4px; padding: 4px; margin: 0 auto 22px;
  background: var(--rom-graphite); border: 1px solid var(--rom-line);
  border-radius: 12px; width: fit-content;
}
.rom-billing__tab {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 18px; border-radius: 9px; cursor: pointer;
  color: var(--rom-silver); font-size: 14.5px; font-weight: 600;
  transition: background .16s var(--rom-ease), color .16s;
}
.rom-billing__tab:hover { color: var(--rom-bone); }
.rom-billing__badge {
  font-family: var(--rom-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--rom-ink); background: var(--rom-teal); border-radius: 5px; padding: 2px 6px;
}
/* keyboard focus on the (visually hidden) radio surfaces on its label */
.rom-billing__radio:focus-visible + .rom-billing__toggle .rom-billing__tab { outline: none; }
.rom-billing__radio:focus-visible ~ .rom-billing__toggle { outline: 2px solid var(--rom-teal); outline-offset: 2px; }

.rom-billing__panels { position: relative; }
.rom-billing__panel {
  display: none; text-align: center;
  border: 1px solid var(--rom-line); border-radius: 16px;
  background: var(--rom-graphite); padding: 30px 26px;
}
.rom-billing__price { font-size: 44px; font-weight: 700; color: var(--rom-bone); margin: 0; line-height: 1; }
.rom-billing__suffix { font-size: 17px; font-weight: 500; color: var(--rom-muted); }
.rom-billing__note { color: var(--rom-silver); margin: 10px 0 20px; }
.rom-billing__cta {
  display: inline-block; padding: 12px 26px; border-radius: 10px;
  background: var(--rom-teal); color: var(--rom-ink); font-weight: 700; text-decoration: none;
  transition: transform .16s var(--rom-ease);
}
.rom-billing__cta:hover { transform: translateY(-1px); }
.rom-billing__cta.is-soon { background: transparent; color: var(--rom-muted); border: 1px solid var(--rom-line); cursor: default; }

/* Reveal the panel + light the tab for the checked radio — no JavaScript. */
#rom-bill-monthly:checked  ~ .rom-billing__panels [data-bill="monthly"],
#rom-bill-annual:checked   ~ .rom-billing__panels [data-bill="annual"],
#rom-bill-lifetime:checked ~ .rom-billing__panels [data-bill="lifetime"] { display: block; }
#rom-bill-monthly:checked  ~ .rom-billing__toggle .rom-billing__tab[for="rom-bill-monthly"],
#rom-bill-annual:checked   ~ .rom-billing__toggle .rom-billing__tab[for="rom-bill-annual"],
#rom-bill-lifetime:checked ~ .rom-billing__toggle .rom-billing__tab[for="rom-bill-lifetime"] {
  background: var(--rom-ink); color: var(--rom-bone);
}

/* =========================================================================
   v0.9.6 — SUPPORT CONTACT
   ========================================================================= */
.rom-contact { border: 1px solid var(--rom-line); border-radius: 16px; background: var(--rom-graphite); padding: 30px 28px; }
.rom-contact__h { margin: 0 0 12px; }
.rom-contact__lede { color: var(--rom-silver); line-height: 1.6; margin: 0 0 18px; }
.rom-contact__cta { display: inline-block; padding: 12px 24px; border-radius: 10px; background: var(--rom-teal); color: var(--rom-ink); font-weight: 700; text-decoration: none; }
.rom-contact__note { color: var(--rom-muted); font-size: 14px; margin: 16px 0 0; }
.rom-contact__alt { color: var(--rom-silver); margin: 16px 0 0; }

/* =========================================================================
   v0.9.7 — FIX: "Most popular" flag was being clipped.
   .rom-compare-scroll sets overflow-x:auto. Per spec, when one axis is not
   `visible` the other clips too — so the flag at top:-10px was cut off at the
   top of the scroll container. Keep the flag INSIDE the cell and reserve room
   for it, so it never depends on overflow behaviour at all.
   ========================================================================= */
.rom-compare thead th { padding-top: 28px; }
.rom-compare__flag { top: 6px; left: 16px; white-space: nowrap; }

/* =========================================================================
   v0.10.0 — WORKFLOW GROUPING + ECOSYSTEM FRAMING
   ========================================================================= */
.rom-flows { display: grid; gap: 46px; }
.rom-flow { display: grid; grid-template-columns: minmax(280px, 380px) 1fr; gap: 34px; align-items: start; }
.rom-flow__outcome { font-family: var(--rom-display); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.18; color: var(--rom-bone); margin: 8px 0 12px; letter-spacing: -.01em; }
.rom-flow__body { color: var(--rom-silver); line-height: 1.62; margin: 0; }
.rom-flow__tools { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--rom-line-soft); border: 1px solid var(--rom-line-soft); border-radius: var(--rom-radius); overflow: hidden; }
.rom-flow__tool { background: var(--rom-charcoal); padding: 16px 18px; }
.rom-flow__link { display: flex; align-items: center; justify-content: space-between; gap: 10px; text-decoration: none; }
.rom-flow__name { font-weight: 600; color: var(--rom-bone); }
.rom-flow__link:hover .rom-flow__name { color: var(--rom-teal); }
.rom-flow__badge { font-family: var(--rom-mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 100px; border: 1px solid var(--rom-line); color: var(--rom-muted); white-space: nowrap; }
.rom-flow__badge.is-free { background: var(--rom-teal); color: #06201F; border-color: transparent; }
.rom-flow__desc { display: block; color: var(--rom-muted); font-size: 13.5px; line-height: 1.5; margin-top: 7px; }

.rom-platform { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; border: 1px solid var(--rom-line); border-radius: 18px; background: var(--rom-graphite); padding: 34px; }
.rom-platform__title { font-family: var(--rom-display); font-size: clamp(24px, 2.6vw, 34px); color: var(--rom-bone); margin: 8px 0 12px; letter-spacing: -.01em; }
.rom-platform__body { color: var(--rom-silver); line-height: 1.62; margin: 0; }
.rom-platform__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rom-platform__list li { color: var(--rom-silver); padding-left: 22px; position: relative; }
.rom-platform__list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--rom-teal); }

@media (max-width: 900px) {
  .rom-flow, .rom-platform { grid-template-columns: 1fr; }
}

/* =========================================================================
   v0.10.1 — FIX: Pro billing CTA had light text on the teal fill (unreadable).
   It is an <a>, so the theme's link colour was winning over the button rule.
   Match every other teal button: dark ink, and keep it dark on hover/visited.
   ========================================================================= */
a.rom-billing__cta,
a.rom-billing__cta:link,
a.rom-billing__cta:visited,
a.rom-billing__cta:hover,
a.rom-billing__cta:focus { color: #06201F; text-decoration: none; }
.rom-billing__cta.is-soon { color: var(--rom-muted); }

/* =========================================================================
   v0.10.3 — GETTING STARTED (steps / first-run / troubleshooting)
   ========================================================================= */
.rom-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; counter-reset: romstep; }
.rom-step { display: grid; grid-template-columns: 52px 1fr; gap: 20px; align-items: start; border: 1px solid var(--rom-line-soft); border-radius: 16px; background: var(--rom-charcoal); padding: 24px 26px; }
.rom-step__n { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--rom-teal); color: #06201F; font-family: var(--rom-display); font-weight: 700; font-size: 17px; }
.rom-step__body h3 { margin: 4px 0 8px; color: var(--rom-bone); font-size: 19px; }
.rom-step__body p { color: var(--rom-silver); line-height: 1.62; margin: 0 0 8px; }
.rom-step__meta { color: var(--rom-muted); font-size: 13.5px; }
.rom-step__body b { color: var(--rom-bone); }

.rom-firstrun { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.rom-firstrun__item { border: 1px solid var(--rom-line-soft); border-left: 3px solid var(--accent, var(--rom-teal)); border-radius: 12px; background: var(--rom-charcoal); padding: 18px 20px; }
.rom-firstrun__name { display: block; font-weight: 600; color: var(--rom-bone); text-decoration: none; margin-bottom: 7px; }
.rom-firstrun__name:hover { color: var(--accent, var(--rom-teal)); }
.rom-firstrun__item p { color: var(--rom-silver); font-size: 14.5px; line-height: 1.55; margin: 0; }

.rom-troubleshoot { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.rom-troubleshoot__item { border-top: 1px solid var(--rom-line); padding-top: 16px; }
.rom-troubleshoot__item h4 { margin: 0 0 7px; color: var(--rom-bone); font-size: 15.5px; }
.rom-troubleshoot__item p { color: var(--rom-silver); line-height: 1.6; margin: 0; font-size: 14.5px; }

@media (max-width: 700px) { .rom-step { grid-template-columns: 1fr; } }

/* v0.10.4 — the "a Pro edition of this free tool exists" line */
.rom-flow__upgrade { display: block; margin-top: 6px; font-size: 12.5px; color: var(--rom-muted); font-style: italic; }

/* =========================================================================
   v0.10.4 — RELEASE NOTES (version tables)
   ========================================================================= */
.rom-releases { display: grid; gap: 34px; }
.rom-releases__h { font-family: var(--rom-display); font-size: 17px; color: var(--rom-bone); margin: 0 0 12px; }
.rom-versions { width: 100%; border-collapse: collapse; border: 1px solid var(--rom-line-soft); border-radius: 12px; overflow: hidden; }
.rom-versions thead th { text-align: left; font-family: var(--rom-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--rom-muted); background: var(--rom-graphite); padding: 10px 14px; font-weight: 500; }
.rom-versions td { padding: 12px 14px; border-top: 1px solid var(--rom-line-soft); color: var(--rom-silver); font-size: 14.5px; }
.rom-versions td a { color: var(--rom-bone); text-decoration: none; font-weight: 600; }
.rom-versions td a:hover { color: var(--rom-teal); }
.rom-versions__alt { display: block; color: var(--rom-muted); font-size: 12.5px; margin-top: 3px; }
.rom-versions code { font-family: var(--rom-mono); font-size: 13px; color: var(--rom-bone); background: var(--rom-graphite); padding: 2px 8px; border-radius: 5px; }
.rom-versions__plan { font-family: var(--rom-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 100px; border: 1px solid var(--rom-line); color: var(--rom-muted); }
.rom-versions__plan.is-free { background: var(--rom-teal); color: #06201F; border-color: transparent; }

/* =========================================================================
   v0.11.0 — LEARN / TUTORIALS / CONTACT + content placeholders
   ========================================================================= */
/* Video slot — same box whether it holds an embed or a placeholder, so the
   page never reflows when real footage lands. */
.rom-video { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: var(--rom-graphite); border: 1px solid var(--rom-line-soft); }
.rom-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rom-video--empty { display: grid; place-items: center; border-style: dashed; }
.rom-video__inner { text-align: center; padding: 20px; }
.rom-video__play { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--rom-line); color: var(--rom-teal); margin-bottom: 12px; }
.rom-video__title { color: var(--rom-bone); font-weight: 600; margin: 0 0 4px; }
.rom-video__note { color: var(--rom-muted); font-size: 13px; margin: 0; }

/* Image slot */
.rom-slot { position: relative; border-radius: 12px; overflow: hidden; background: var(--rom-graphite); border: 1px solid var(--rom-line-soft); margin: 0; }
.rom-slot--16x9 { aspect-ratio: 16 / 9; } .rom-slot--4x3 { aspect-ratio: 4 / 3; } .rom-slot--1x1 { aspect-ratio: 1 / 1; }
.rom-slot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rom-slot--empty { display: grid; place-items: center; border-style: dashed; }
.rom-slot__label { font-family: var(--rom-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--rom-muted); }

/* Tutorials */
.rom-tutgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 26px; }
.rom-tut__title { margin: 14px 0 6px; color: var(--rom-bone); font-size: 17px; }
.rom-tut__desc { color: var(--rom-silver); line-height: 1.55; margin: 0 0 10px; font-size: 14.5px; }
.rom-tut__tool { color: var(--rom-muted); font-size: 13px; margin: 0; display: flex; align-items: center; gap: 8px; }
.rom-tut__badge { font-family: var(--rom-mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 100px; border: 1px solid var(--rom-line); color: var(--rom-muted); }
.rom-tut__badge.is-free { background: var(--rom-teal); color: #06201F; border-color: transparent; }

/* Learn routes */
.rom-learnroutes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.rom-learnroute { display: block; border: 1px solid var(--rom-line-soft); border-radius: 16px; background: var(--rom-charcoal); padding: 26px; text-decoration: none; transition: border-color .16s var(--rom-ease), transform .16s var(--rom-ease); }
.rom-learnroute:hover { border-color: var(--rom-teal); transform: translateY(-2px); }
.rom-learnroute__k { font-family: var(--rom-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--rom-teal); }
.rom-learnroute h3 { margin: 10px 0 8px; color: var(--rom-bone); font-size: 18px; }
.rom-learnroute p { color: var(--rom-silver); line-height: 1.55; margin: 0 0 14px; font-size: 14.5px; }
.rom-learnroute__go { color: var(--rom-teal); font-size: 14px; font-weight: 600; }

.rom-learnflows { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
.rom-learnflow h3 { margin: 14px 0 7px; color: var(--rom-bone); font-size: 17px; }
.rom-learnflow p { color: var(--rom-silver); line-height: 1.55; margin: 0 0 10px; font-size: 14.5px; }
.rom-learnflow__go { color: var(--rom-teal); font-size: 14px; font-weight: 600; text-decoration: none; }

/* =========================================================================
   v0.11.1 — FIX (systemic): teal-filled links rendered light-on-teal.
   In v0.10.1 I patched .rom-billing__cta alone; .rom-contact__cta then shipped
   with the identical defect because the CAUSE was never addressed — these are
   <a> elements, so the theme's link colour beats a plain `color:` in the
   component rule. This pins dark ink on EVERY teal-filled link, in one place,
   across link/visited/hover/focus/active, so the next one cannot regress.
   ========================================================================= */
a.rom-billing__cta, a.rom-billing__cta:link, a.rom-billing__cta:visited,
a.rom-billing__cta:hover, a.rom-billing__cta:focus, a.rom-billing__cta:active,
a.rom-contact__cta, a.rom-contact__cta:link, a.rom-contact__cta:visited,
a.rom-contact__cta:hover, a.rom-contact__cta:focus, a.rom-contact__cta:active {
  color: #06201F;
  text-decoration: none;
}
/* the "available soon" state is not filled, so it keeps the muted colour */
.rom-billing__cta.is-soon, a.rom-billing__cta.is-soon:link, a.rom-billing__cta.is-soon:visited { color: var(--rom-muted); }

/* v0.11.1 — ROM Hub page panels */
.rom-hubpanels { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; }
.rom-hubpanel__list { margin: 12px 0 0; display: grid; gap: 14px; }
.rom-hubpanel__row dt { color: var(--rom-bone); font-weight: 600; margin-bottom: 4px; }
.rom-hubpanel__row dd { margin: 0; color: var(--rom-silver); font-size: 14.5px; line-height: 1.55; }

/* =========================================================================
   v1.1.0 — WOOCOMMERCE BLOCK CART & CHECKOUT
   The block-based Cart and Checkout are ordinary pages, so woocommerce.php
   never wraps them — they were rendering with NO container at all, flush to
   the viewport edge and clipped on the right. This gives them the same
   container the rest of the site uses, and dresses the blocks for a dark UI.
   This is the money path; it has to look deliberate.
   ========================================================================= */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce-order-received .woocommerce,
.woocommerce-order-received .entry-content {
  width: min(100% - 40px, 1200px);
  margin-inline: auto;
  padding-block: clamp(32px, 5vw, 64px);
}

/* Two-column layouts: give the sidebar room and stop it overflowing. */
.wc-block-cart, .wc-block-checkout { gap: 40px; }
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar { min-width: 0; }
.wc-block-components-sidebar-layout .wc-block-components-main { min-width: 0; }

/* Panels */
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-panel {
  background: var(--rom-graphite);
  border: 1px solid var(--rom-line-soft);
  border-radius: 14px;
}
.wc-block-components-sidebar .wc-block-components-totals-wrapper { padding: 18px 20px; }

/* Typography inside the blocks */
.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-title,
.wc-block-cart__main h2,
.wc-block-checkout__main h2 { color: var(--rom-bone); }
.wc-block-components-totals-item__value,
.wc-block-components-formatted-money-amount { color: var(--rom-teal); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 700; }

/* Form fields — readable on dark without fighting Woo's own focus states */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container select,
.wc-block-components-combobox-control input {
  background: var(--rom-charcoal) !important;
  color: var(--rom-bone) !important;
  border: 1px solid var(--rom-line) !important;
  border-radius: 10px !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox__label { color: var(--rom-silver); }
.wc-block-components-text-input input:focus,
.wc-block-components-select__container select:focus { border-color: var(--rom-teal) !important; }

/* Primary actions match the site's button language */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--rom-teal) !important;
  color: #06201F !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--rom-teal-hi) !important; }

/* Row separators + the licence key block on the thank-you page */
.wc-block-cart-items__row { border-color: var(--rom-line-soft) !important; }
.woocommerce-order-received .rom-licence-key,
.woocommerce-order-received code {
  background: var(--rom-graphite);
  border: 1px solid var(--rom-line);
  border-radius: 8px;
  padding: 6px 10px;
  color: var(--rom-teal);
}

@media (max-width: 900px) {
  .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { width: min(100% - 28px, 1200px); }
  .wc-block-cart, .wc-block-checkout { gap: 26px; }
}

/* v1.1.0 — header cart (shown only when the cart has items) */
.rom-cart { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 9px; border: 1px solid var(--rom-line); color: var(--rom-silver); text-decoration: none; transition: border-color .16s var(--rom-ease), color .16s; }
.rom-cart:hover { border-color: var(--rom-teal); color: var(--rom-bone); }
.rom-cart__count { font-family: var(--rom-mono); font-size: 11px; font-weight: 700; background: var(--rom-teal); color: #06201F; border-radius: 100px; min-width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px; }

/* v1.1.0 — Starter added to the billing chooser. The :checked reveal rules are
   per-id, so a new option needs its own pair or it renders invisibly. */
#rom-bill-starter:checked ~ .rom-billing__panels [data-bill="starter"] { display: block; }
#rom-bill-starter:checked ~ .rom-billing__toggle .rom-billing__tab[for="rom-bill-starter"] { background: var(--rom-ink); color: var(--rom-bone); }

/* v1.1.0 — comparison pages */
.rom-compare-page h2 { font-family: var(--rom-display); font-size: clamp(22px,2.4vw,30px); color: var(--rom-bone); margin: 46px 0 14px; }
.rom-compare__note { color: var(--rom-silver); line-height: 1.62; margin: 0 0 26px; font-size: 17px; }
.rom-compare__lede { color: var(--rom-silver); margin: 0 0 20px; }
.rom-compare__verdicts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rom-compare__verdict { border: 1px solid var(--rom-line-soft); border-radius: 16px; background: var(--rom-charcoal); padding: 24px 26px; }
.rom-compare__verdict--us { border-color: var(--rom-teal); }
.rom-compare__verdict h3 { margin: 0 0 12px; color: var(--rom-bone); font-size: 17px; }
.rom-compare__verdict ul { margin: 0; padding-left: 18px; color: var(--rom-silver); }
.rom-compare__verdict li { margin-bottom: 8px; line-height: 1.55; }
.rom-comparetable { width: 100%; border-collapse: collapse; border: 1px solid var(--rom-line-soft); border-radius: 12px; overflow: hidden; }
.rom-comparetable th { text-align: left; font-family: var(--rom-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--rom-muted); background: var(--rom-graphite); padding: 11px 14px; font-weight: 500; }
.rom-comparetable td { padding: 13px 14px; border-top: 1px solid var(--rom-line-soft); color: var(--rom-silver); font-size: 14.5px; }
.rom-comparetable__k { color: var(--rom-bone); font-weight: 600; }
.rom-compare__cols { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 20px; }
.rom-compare__item h4 { margin: 0 0 6px; color: var(--rom-bone); font-size: 15.5px; }
.rom-compare__item p { margin: 0; color: var(--rom-silver); line-height: 1.58; font-size: 14.5px; }
.rom-compare__both { border-top: 1px solid var(--rom-line); margin-top: 44px; padding-top: 26px; }
.rom-compare__both h3 { color: var(--rom-bone); margin: 0 0 8px; }
.rom-compare__both p { color: var(--rom-silver); line-height: 1.6; margin: 0; }
.rom-compare__verified { margin-top: 34px; color: var(--rom-muted); font-size: 13px; line-height: 1.55; }
.rom-compare__verified a { color: var(--rom-silver); }
@media (max-width: 800px) { .rom-compare__verdicts { grid-template-columns: 1fr; } }

/* =========================================================================
   v1.1.1 — header no longer wraps to two lines.
   The brand wordmark and the header CTA had no nowrap, so once the menu grew
   (the two comparison pages were auto-added to it) the header squeezed them
   onto two lines. Both are single-line by definition — a wordmark that wraps
   reads as two separate words.
   ========================================================================= */
.rom-brand__wordmark { white-space: nowrap; }
.rom-header .rom-btn,
.rom-header .rom-signin { white-space: nowrap; }
/* Below the desktop breakpoint the menu collapses anyway, so let the brand
   shrink rather than push the actions off-screen. */
@media (max-width: 1500px) {
  .rom-brand { font-size: 16px; }
  .rom-brand__custom { max-width: 150px; }
}


/* v1.2.0 Marketplace + Creator Platform */
.rom-marketplace-live,.rom-creator-portal{max-width:1240px;margin:0 auto;padding:72px 24px}.rom-marketplace-toolbar,.rom-creator-head,.rom-marketplace-creator-cta{display:flex;align-items:center;justify-content:space-between;gap:32px}.rom-marketplace-toolbar h2,.rom-creator-head h1{font-size:clamp(2.4rem,5vw,4.8rem);margin:.15em 0}.rom-kicker{color:#61d4d6;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700}.rom-marketplace-filters{display:grid;grid-template-columns:1fr 220px;gap:12px;margin:34px 0}.rom-marketplace-filters input,.rom-marketplace-filters select{background:#15191e;border:1px solid #2b3138;border-radius:12px;color:#fff;padding:14px 16px}.rom-marketplace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:18px}.rom-market-card{background:#15191e;border:1px solid #282e35;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:420px;transition:transform .2s,border-color .2s}.rom-market-card:hover{transform:translateY(-4px);border-color:#61d4d6}.rom-market-card__art{min-height:150px;background:linear-gradient(145deg,#202831,#101419);display:flex;align-items:center;justify-content:center;flex-direction:column}.rom-market-card__art span{font-size:3rem;font-weight:800;color:#61d4d6}.rom-market-card__art small{text-transform:uppercase;letter-spacing:.14em}.rom-market-card__body{padding:22px;display:flex;flex-direction:column;flex:1}.rom-market-card__meta{display:flex;justify-content:space-between;color:#8f9ba7;font-size:.78rem}.rom-market-card__body h3{font-size:1.35rem}.rom-market-card__body p{color:#b5bec8;flex:1}.rom-market-card__foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.rom-marketplace-creator-cta{margin-top:70px;padding:42px;border-radius:20px;background:linear-gradient(135deg,#172127,#111519);border:1px solid #2c383f}.rom-creator-share{font-size:1.1rem;padding:16px 20px;background:#172127;border-radius:14px}.rom-creator-share strong{color:#61d4d6;font-size:1.8rem}.rom-creator-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0}.rom-creator-stats>div,.rom-creator-panel{background:#15191e;border:1px solid #282e35;border-radius:16px;padding:22px}.rom-creator-stats span{display:block;color:#8f9ba7}.rom-creator-stats strong{display:block;font-size:1.8rem;margin-top:8px}.rom-creator-panel{margin-top:18px}.rom-creator-panel__head{display:flex;justify-content:space-between;align-items:center}.rom-creator-panel table{width:100%;border-collapse:collapse}.rom-creator-panel th,.rom-creator-panel td{text-align:left;padding:14px;border-bottom:1px solid #282e35}.rom-empty{grid-column:1/-1;padding:48px;text-align:center;border:1px dashed #39424b;border-radius:16px}.rom-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;background:#61d4d6;color:#071012!important;font-weight:700;text-decoration:none}.rom-btn--ghost{background:transparent;color:#fff!important;border:1px solid #39424b}@media(max-width:800px){.rom-marketplace-toolbar,.rom-creator-head,.rom-marketplace-creator-cta{align-items:flex-start;flex-direction:column}.rom-marketplace-filters{grid-template-columns:1fr}.rom-creator-stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.rom-creator-stats{grid-template-columns:1fr}}

/* ---------------------------------------------------------------------------
   Marketplace detail page (child theme 1.3.0)
   Owned by inc/rom-marketplace-routes.php at /marketplace/{package_id}/.
   Uses the existing card tokens so a detail page cannot drift visually from
   the grid it was opened from.
--------------------------------------------------------------------------- */
.rom-market-detail{max-width:1120px;margin:0 auto;padding:48px 24px 96px}
.rom-market-detail__crumbs{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.7;margin-bottom:24px}
.rom-market-detail__crumbs a{color:inherit;text-decoration:none}
.rom-market-detail__crumbs a:hover{text-decoration:underline}
.rom-market-detail__head{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
.rom-market-detail__head h1{margin:8px 0 4px;font-size:clamp(28px,4vw,42px);line-height:1.1}
.rom-market-detail__by{opacity:.7;font-size:14px;margin:0 0 16px}
.rom-market-detail__desc{font-size:17px;line-height:1.6;max-width:62ch}
.rom-market-detail__buy{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px}
.rom-market-detail__buy strong{font-size:22px}
.rom-market-detail__buy p{margin:0;font-size:14px;opacity:.75}
.rom-market-detail__id{font-size:12px;opacity:.6;word-break:break-all}
.rom-market-detail__shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:48px 0}
.rom-market-detail__shots img{width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.1)}
.rom-market-detail__compat ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.rom-market-detail__compat li{display:flex;justify-content:space-between;gap:24px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.rom-market-detail__compat li span:first-child{opacity:.7}
.rom-market-detail__changelog{margin-top:48px}
.rom-market-detail__change{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.rom-market-detail__change strong{display:inline-block;margin-right:12px}
.rom-market-detail__change p{margin:4px 0 0;opacity:.8;font-size:14px}
@media (max-width:860px){.rom-market-detail__head{grid-template-columns:1fr}}

/* A card whose product has no resolvable link renders this instead of a
   button that 404s. A dead "View details" costs more trust than a card that
   plainly cannot be opened yet. */
.rom-btn--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}

/* Admin-only link audit table: [rom_marketplace_link_audit] */
.rom-link-audit{width:100%;border-collapse:collapse;font-size:13px;margin:24px 0}
.rom-link-audit th,.rom-link-audit td{text-align:left;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.1)}
.rom-link-audit code{font-size:12px;opacity:.85}

/* v1.4.0 Commercial Launch Experience Authority */
html,body{max-width:100%;overflow-x:hidden}.site,.site-main,.content-area{min-width:0}.entry-content>*{max-width:100%}.entry-content>.alignwide{width:min(1240px,calc(100vw - 48px));margin-left:auto;margin-right:auto}.rom-marketplace-live{width:min(1240px,100%);box-sizing:border-box}.rom-marketplace-grid{align-items:stretch}.rom-market-card{min-width:0}.rom-market-card__body h3,.rom-market-card__body p{overflow-wrap:anywhere}.rom-product-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:56px 0 96px}.rom-product-breadcrumb{display:flex;gap:10px;align-items:center;color:#8f9ba7;margin-bottom:32px}.rom-product-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:48px;align-items:center;padding:48px;border:1px solid #293139;border-radius:24px;background:linear-gradient(145deg,#171d23,#0e1115)}.rom-product-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.95;margin:.18em 0}.rom-product-hero p{font-size:1.15rem;color:#b5bec8}.rom-product-hero figure{margin:0}.rom-product-hero img{width:100%;height:auto;border-radius:16px}.rom-product-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.rom-product-badges>*{padding:8px 12px;border-radius:999px;background:#202830;color:#dce6ec}.rom-product-content{max-width:860px;margin:56px auto;font-size:1.05rem}.rom-product-content img{max-width:100%;height:auto;border-radius:16px}.rom-product-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px;border:1px solid #2c383f;border-radius:20px;background:linear-gradient(135deg,#172127,#111519)}
@media(max-width:900px){.rom-product-hero{grid-template-columns:1fr;padding:32px}.rom-product-cta{align-items:flex-start;flex-direction:column}.rom-marketplace-live,.rom-creator-portal{padding:48px 20px}}
@media(max-width:640px){.entry-content>.alignwide{width:calc(100vw - 28px)}.rom-product-page{width:calc(100% - 28px);padding-top:30px}.rom-product-hero{padding:24px;border-radius:18px}.rom-marketplace-grid{grid-template-columns:1fr}.rom-market-card{min-height:0}.rom-marketplace-creator-cta{padding:26px;margin-top:42px}.rom-market-card__foot{align-items:stretch;flex-direction:column}.rom-btn{width:100%;box-sizing:border-box}.rom-marketplace-filters input,.rom-marketplace-filters select{width:100%;box-sizing:border-box}}

/* ==========================================================================
   v1.5.0 — PUBLIC WEBSITE FINALIZATION AUTHORITY
   Hub screenshot fidelity, account layout closure, news convergence, and
   aggressive responsive containment for customer-facing production pages.
   ========================================================================== */

/* Universal responsive safety: content can shrink, media keeps aspect ratio,
   and long IDs/URLs never force horizontal scrolling. */
.rom-site main, .rom-site article, .rom-site section, .rom-site .wp-block-group,
.rom-site .wp-block-column, .rom-site .woocommerce, .rom-site .woocommerce-MyAccount-content { min-width:0; }
.rom-site img, .rom-site video, .rom-site iframe { max-width:100%; height:auto; }
.rom-site pre, .rom-site code, .rom-site td, .rom-site th { overflow-wrap:anywhere; word-break:break-word; }
.rom-site .wp-block-table { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.rom-site .wp-block-table table { min-width:560px; }

/* Hub website page uses actual current Maya captures instead of placeholder
   artwork. The image card treatment deliberately echoes the desktop Hub. */
.rom-hubweb-hero .rom-lede { max-width:760px; }
.rom-hubweb-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.rom-hubshot { margin:0; border:1px solid var(--rom-line); border-radius:18px; overflow:hidden; background:var(--rom-charcoal); box-shadow:0 32px 70px -42px rgba(0,0,0,.95); }
.rom-hubshot img { display:block; width:100%; height:auto; background:#0f1114; }
.rom-hubshot figcaption { display:flex; flex-direction:column; gap:4px; padding:15px 18px; color:var(--rom-muted); font-size:13px; line-height:1.5; }
.rom-hubshot figcaption strong { color:var(--rom-bone); font-size:14px; }
.rom-hubshot--hero { max-width:1120px; margin-inline:auto; }
.rom-hubshot--hero figcaption { color:var(--rom-silver); }
.rom-hubgallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:34px; }
.rom-hubgallery .rom-hubshot:first-child { grid-column:1 / -1; }
.rom-hubpanel { border:1px solid var(--rom-line-soft); border-radius:16px; padding:22px; background:rgba(255,255,255,.018); }

/* Website News mirrors the bundled Hub fallback authority. */
.rom-news-hero { padding-bottom:48px; }
.rom-sectionhead { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:24px; }
.rom-sectionhead h2 { margin:0; font-size:clamp(26px,3vw,38px); }
.rom-sectionhead__note { margin:0; color:var(--rom-muted); font-size:13px; }
.rom-newsgrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rom-newscard { min-width:0; border:1px solid var(--rom-line-soft); border-radius:16px; background:var(--rom-charcoal); padding:24px; display:flex; flex-direction:column; }
.rom-newscard--featured { grid-column:span 2; background:linear-gradient(145deg,#1b2228,#15191e); border-color:color-mix(in srgb,var(--rom-teal) 28%,var(--rom-line)); }
.rom-newscard__meta { display:flex; justify-content:space-between; gap:14px; color:var(--rom-muted); font-family:var(--rom-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.rom-newscard__meta span { color:var(--rom-teal); }
.rom-newscard h2 { font-size:clamp(20px,2vw,28px); margin:18px 0 12px; }
.rom-newscard p { color:var(--rom-silver); margin:0; line-height:1.62; flex:1; }
.rom-newscard__badge { align-self:flex-start; margin-top:22px; padding:6px 10px; border-radius:999px; background:rgba(97,212,214,.10); color:var(--rom-teal); font-size:11px; font-weight:600; }

/* WooCommerce My Account: force the customer shell into the same left-nav,
   right-content hierarchy as ROM Hub. This overrides parent-theme float/order
   rules that can place the navigation on the far right and leave a huge empty
   content field on Downloads. */
.rom-site.woocommerce-account main#rom-content { min-height:calc(100vh - 170px); }
.rom-site.woocommerce-account .woocommerce { width:min(100% - 40px,1200px); margin:42px auto 72px; display:grid; grid-template-columns:240px minmax(0,1fr); gap:34px; align-items:start; }
.rom-site.woocommerce-account .woocommerce::before,
.rom-site.woocommerce-account .woocommerce::after { display:none !important; content:none !important; }
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation,
.rom-site.woocommerce-account .woocommerce-MyAccount-content { float:none !important; width:auto !important; margin:0 !important; }
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation { grid-column:1; position:sticky; top:100px; }
.rom-site.woocommerce-account .woocommerce-MyAccount-content { grid-column:2; min-height:260px; border:1px solid var(--rom-line-soft); border-radius:16px; background:var(--rom-charcoal); padding:26px; }
.rom-site.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top:0; }
.rom-site.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom:0; }
.rom-site.woocommerce-account .woocommerce-info { margin:0; min-height:0; }
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:42px; display:flex; align-items:center; }

/* Footer/layout shouldn't jump upward or leave a visual canyon on sparse
   account endpoints. */
.rom-site.woocommerce-account .rom-footer { margin-top:0; }

/* Responsive hierarchy. */
@media (max-width:1000px) {
  .rom-newsgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rom-newscard--featured { grid-column:1 / -1; }
  .rom-site.woocommerce-account .woocommerce { grid-template-columns:210px minmax(0,1fr); gap:22px; }
}
@media (max-width:860px) {
  .rom-hubgallery { grid-template-columns:1fr; }
  .rom-hubgallery .rom-hubshot:first-child { grid-column:auto; }
  .rom-site.woocommerce-account .woocommerce { display:block; width:min(100% - 28px,760px); margin:28px auto 52px; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation { position:static; margin-bottom:18px !important; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-content { padding:22px; }
  .rom-sectionhead { align-items:flex-start; flex-direction:column; gap:8px; }
}
@media (max-width:640px) {
  .rom-container { width:min(100% - 28px,1200px); }
  .rom-section { padding-block:56px; }
  .rom-section--tight { padding-block:40px; }
  .rom-hero { padding-block:42px 54px; }
  .rom-hero__title { font-size:clamp(34px,11vw,52px) !important; }
  .rom-lede { font-size:16px; line-height:1.6; }
  .rom-hubweb-actions { align-items:stretch; flex-direction:column; }
  .rom-hubweb-actions .rom-btn { width:100%; box-sizing:border-box; }
  .rom-hubshot { border-radius:12px; }
  .rom-hubshot figcaption { padding:12px 14px; }
  .rom-newsgrid { grid-template-columns:1fr; }
  .rom-newscard--featured { grid-column:auto; }
  .rom-newscard { padding:20px; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:1fr; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-content { padding:18px; border-radius:12px; }
  .rom-site.woocommerce-account .woocommerce table.shop_table { display:block; overflow-x:auto; white-space:nowrap; }
  .rom-site .woocommerce form .form-row-first,
  .rom-site .woocommerce form .form-row-last { width:100% !important; float:none !important; }
}
@media (max-width:390px) {
  .rom-header__inner { gap:10px; }
  .rom-brand__custom { max-width:125px; }
  .rom-brand__wordmark { font-size:14px; }
  .rom-burger { width:38px; height:38px; }
}


/* 1.5.1 Marketplace Storefront Authority */
.rom-market-hero{position:relative;overflow:hidden;padding-bottom:54px!important}.rom-market-hero:after{content:"";position:absolute;left:50%;bottom:-180px;width:680px;height:300px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(97,212,214,.12),transparent 66%);pointer-events:none}.rom-storefront{padding-top:26px}.rom-storefront__summary{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:42px;align-items:end;padding:28px 0 48px;border-bottom:1px solid #262d33}.rom-storefront__summary h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;margin:.18em 0 .25em}.rom-storefront__summary p{max-width:720px;color:#aeb8c2;font-size:1.06rem}.rom-storefront__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rom-storefront__stats>div{padding:18px 16px;border:1px solid #293139;border-radius:14px;background:#14191e}.rom-storefront__stats strong{display:block;color:#fff;font-size:1.25rem}.rom-storefront__stats span{display:block;color:#8f9ba7;font-size:.78rem;margin-top:4px}.rom-storefront-featured,.rom-storefront-categories,.rom-storefront-catalog{padding-top:58px}.rom-storefront-sectionhead{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}.rom-storefront-sectionhead h3{font-size:clamp(1.7rem,3vw,2.7rem);margin:.15em 0 0}.rom-storefront-sectionhead>a{color:#61d4d6;text-decoration:none;font-weight:700}.rom-featured-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px}.rom-featured-card{min-width:0;border:1px solid #293139;border-radius:18px;background:#15191e;overflow:hidden;display:flex;flex-direction:column}.rom-featured-card--lead{grid-row:span 1}.rom-featured-card__media{aspect-ratio:16/9;background:linear-gradient(135deg,#202a31,#101418);display:flex;align-items:center;justify-content:center;overflow:hidden}.rom-featured-card__media img{width:100%;height:100%;object-fit:cover}.rom-featured-card__media span{font-size:3.5rem;font-weight:800;color:#61d4d6}.rom-featured-card__body{padding:22px;display:flex;flex-direction:column;flex:1}.rom-featured-card__body small{color:#7f8c97}.rom-featured-card__body h4{font-size:1.35rem;margin:.4em 0}.rom-featured-card__body p{color:#aeb8c2;flex:1}.rom-featured-card__body>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.rom-featured-card__body a{color:#61d4d6;text-decoration:none;font-weight:700}.rom-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.rom-category-card{appearance:none;width:100%;border:1px solid #293139;border-radius:16px;background:#15191e;color:#fff;padding:18px;text-align:left;display:flex;align-items:center;gap:14px;cursor:pointer;transition:.2s ease}.rom-category-card:hover,.rom-category-card:focus-visible{border-color:#61d4d6;transform:translateY(-2px)}.rom-category-card__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#20282f;color:#61d4d6;font-weight:800;flex:0 0 auto}.rom-category-card>span:nth-child(2){min-width:0;flex:1}.rom-category-card strong,.rom-category-card small{display:block}.rom-category-card small{margin-top:4px;color:#87939e}.rom-category-card b{color:#61d4d6}.rom-marketplace-filters--store{grid-template-columns:minmax(240px,1fr) repeat(3,minmax(145px,190px));position:sticky;top:74px;z-index:7;padding:12px;margin:0 0 18px;background:rgba(14,17,20,.92);backdrop-filter:blur(12px);border:1px solid #252d34;border-radius:16px}.rom-marketplace-filters--store input,.rom-marketplace-filters--store select{height:48px;margin:0}.rom-market-search{display:block}.rom-market-search input{width:100%}.rom-marketplace-grid--store{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rom-market-card--store{min-height:470px;border-radius:16px}.rom-market-card__art--store{position:relative;min-height:190px;overflow:hidden}.rom-market-card__art--store img{width:100%;height:100%;min-height:190px;object-fit:cover}.rom-market-card__badges{position:absolute;left:12px;right:12px;top:12px;display:flex;flex-wrap:wrap;gap:7px}.rom-market-card__badges span{padding:6px 9px;border-radius:999px;background:rgba(8,12,15,.82);border:1px solid rgba(255,255,255,.1);color:#eaf1f4;font-size:.68rem;font-weight:700;letter-spacing:.03em}.rom-market-card--store .rom-market-card__body h3{font-size:1.3rem;line-height:1.18;margin:.65em 0 .45em}.rom-market-card--store .rom-market-card__body p{font-size:.93rem;line-height:1.55}.rom-market-rating{display:flex;align-items:center;gap:6px;margin:0 0 14px;color:#f3c96d}.rom-market-rating small{color:#82909b}.rom-btn--store{padding:10px 14px;font-size:.86rem}.rom-marketplace-result-count{color:#84919c;font-size:.9rem}.rom-marketplace-no-results{padding:46px 24px;text-align:center;border:1px dashed #35404a;border-radius:16px}.rom-marketplace-confidence{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:64px;border:1px solid #293139;border-radius:18px;overflow:hidden;background:#293139}.rom-marketplace-confidence>div{padding:24px;background:#12171b}.rom-marketplace-confidence span{color:#61d4d6;font-family:monospace;font-size:.78rem}.rom-marketplace-confidence strong{display:block;margin:10px 0 6px}.rom-marketplace-confidence p{margin:0;color:#8f9ba7;font-size:.86rem;line-height:1.5}.rom-marketplace-creator-cta{position:relative;overflow:hidden}.rom-marketplace-creator-cta:after{content:"";position:absolute;right:-90px;bottom:-110px;width:300px;height:260px;background:radial-gradient(circle,rgba(97,212,214,.12),transparent 68%);pointer-events:none}
@media(max-width:1080px){.rom-featured-grid{grid-template-columns:1fr 1fr}.rom-featured-card--lead{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr}.rom-featured-card--lead .rom-featured-card__media{aspect-ratio:auto;min-height:260px}.rom-category-grid{grid-template-columns:repeat(3,1fr)}.rom-marketplace-grid--store{grid-template-columns:repeat(2,minmax(0,1fr))}.rom-marketplace-filters--store{grid-template-columns:1fr 1fr;top:64px}}
@media(max-width:800px){.rom-storefront__summary{grid-template-columns:1fr}.rom-storefront__stats{max-width:620px}.rom-featured-grid{grid-template-columns:1fr}.rom-featured-card--lead{display:flex;grid-column:auto}.rom-category-grid{grid-template-columns:repeat(2,1fr)}.rom-marketplace-confidence{grid-template-columns:1fr 1fr}.rom-marketplace-filters--store{position:static}}
@media(max-width:600px){.rom-storefront{padding-left:14px;padding-right:14px}.rom-storefront__stats{grid-template-columns:1fr}.rom-storefront-sectionhead{align-items:flex-start;flex-direction:column}.rom-category-grid,.rom-marketplace-grid--store,.rom-marketplace-confidence{grid-template-columns:1fr}.rom-marketplace-filters--store{grid-template-columns:1fr}.rom-featured-card__media{aspect-ratio:4/3}.rom-market-card__art--store{min-height:170px}.rom-market-card--store{min-height:0}.rom-category-card{padding:15px}.rom-storefront-featured,.rom-storefront-categories,.rom-storefront-catalog{padding-top:44px}}

/* 1.5.2 Mobile Readability + Safe-Gutter Authority
   Keep customer-facing copy away from device edges on phones while preserving
   full-bleed backgrounds. The gutter also respects iOS safe-area insets. */
@media (max-width: 700px) {
  :root { --rom-mobile-gutter: 22px; }

  /* Gutenberg constrained page sections were visually flush to the viewport on
     real iPhone Safari. Add the gutter to the section shell, not every child,
     so cards and text retain their intended internal spacing. */
  .rom-site .entry-content > .wp-block-group,
  .rom-site .entry-content > .rom-hero,
  .rom-site .entry-content > .rom-section,
  .rom-site .entry-content > .rom-band {
    box-sizing: border-box;
    padding-left: max(var(--rom-mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--rom-mobile-gutter), env(safe-area-inset-right));
  }

  /* Shortcode-driven storefronts and other live page surfaces are not always
     wrapped in a top-level Gutenberg group. Give them the same phone gutter. */
  .rom-storefront,
  .rom-marketplace-live,
  .rom-creator-portal,
  .rom-product-page,
  .rom-hubweb,
  .rom-news-page {
    box-sizing: border-box;
    padding-left: max(var(--rom-mobile-gutter), env(safe-area-inset-left));
    padding-right: max(var(--rom-mobile-gutter), env(safe-area-inset-right));
  }

  /* Prevent the marketplace's older 14px mobile rule from undercutting the
     site-wide 22px production gutter. */
  .rom-storefront { padding-left: max(var(--rom-mobile-gutter), env(safe-area-inset-left)); padding-right: max(var(--rom-mobile-gutter), env(safe-area-inset-right)); }

  /* Real-device type scale: large enough to feel premium, small enough that
     short headlines do not collide with the viewport edges. */
  .rom-hero__title { font-size: clamp(36px, 10.5vw, 46px) !important; line-height: 1.02; overflow-wrap: normal; }
  .rom-site h2.has-x-large-font-size { font-size: clamp(32px, 9vw, 42px) !important; line-height: 1.04; }
  .rom-lede { max-width: 100%; }

  /* Home/pricing CTAs should not fight for horizontal space on narrow phones. */
  .rom-hero .wp-block-buttons { gap: 12px; }
  .rom-hero .wp-block-button { min-width: 0; }

  /* Cards need enough breathing room after the outer page gutter is applied. */
  .rom-card { padding: 20px; }
}

@media (max-width: 480px) {
  :root { --rom-mobile-gutter: 20px; }
  .rom-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .rom-hero .wp-block-button,
  .rom-hero .wp-block-button__link { width: 100%; box-sizing: border-box; }
  .rom-stats { gap: 18px 24px; }
  .rom-stat { min-width: calc(50% - 12px); }
}

@media (max-width: 360px) {
  :root { --rom-mobile-gutter: 18px; }
  .rom-hero__title { font-size: 35px !important; }
}

/* v1.5.3 — Mobile Navigation + Learn Discovery Authority ------------------ */
.rom-burger {
  position: relative;
  align-content: center;
  justify-content: center;
  gap: 4px;
  padding: 0;
}
.rom-burger__line {
  display: block;
  width: 19px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.rom-burger[aria-expanded="true"] .rom-burger__line:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.rom-burger[aria-expanded="true"] .rom-burger__line:nth-child(2) { opacity: 0; }
.rom-burger[aria-expanded="true"] .rom-burger__line:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.rom-nav__hint { display: none; }
.rom-nav__list > .rom-menu-learn > a { display: flex; align-items: center; }
.rom-nav__list > .rom-menu-learn > .sub-menu {
  min-width: 310px;
  padding: 10px;
}
.rom-nav__list > .rom-menu-learn > .sub-menu::before {
  content: "Learn with ROM";
  display: block;
  padding: 8px 10px 4px;
  font: 600 10px/1.3 var(--rom-mono);
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--rom-teal);
}
.rom-nav__list .rom-menu-learn-child > a {
  white-space: normal;
  padding: 10px 11px;
}
.rom-nav__list .rom-menu-learn-child .rom-nav__hint {
  display: block;
  margin-top: 3px;
  max-width: 250px;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 400;
  color: var(--rom-muted);
}
.rom-nav__list .rom-menu-learn-child > a:hover .rom-nav__hint { color: var(--rom-silver); }

.rom-mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 79;
  background: rgba(0,0,0,.62);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
.rom-mobile-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.rom-mobile {
  display: flex;
  position: fixed;
  z-index: 80;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(390px, calc(100vw - 28px));
  max-height: none;
  flex-direction: column;
  overflow: hidden;
  padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) 18px;
  border: 0;
  border-left: 1px solid var(--rom-line);
  background: rgba(20,22,25,.98);
  box-shadow: -32px 0 80px rgba(0,0,0,.45);
  transform: translateX(105%);
  visibility: hidden;
  transition: transform .24s ease, visibility .24s ease;
}
.rom-mobile.is-open { display: flex; transform: translateX(0); visibility: visible; }
.rom-mobile__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 5px 2px 18px;
  border-bottom: 1px solid var(--rom-line-soft);
}
.rom-mobile__head > div { display: grid; gap: 3px; }
.rom-mobile__head strong { color: var(--rom-bone); font-size: 17px; }
.rom-mobile__eyebrow {
  font: 600 9.5px/1.3 var(--rom-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rom-teal);
}
.rom-mobile__close {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 1px solid var(--rom-line);
  border-radius: 10px;
  background: var(--rom-charcoal);
  color: var(--rom-bone);
  font: 300 28px/1 var(--rom-body);
  cursor: pointer;
}
.rom-mobile > .rom-mobile__list {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px 0 16px;
}
.rom-mobile__list > li { position: relative; border-bottom: 1px solid var(--rom-line-soft); }
.rom-mobile__list > li > a {
  display: block;
  padding: 14px 44px 14px 4px;
  border: 0;
  font-size: 16px;
  font-weight: 650;
  color: var(--rom-bone);
}
.rom-mobile__list > li.current-menu-item > a,
.rom-mobile__list > li.current-menu-ancestor > a { color: var(--rom-teal); }
.rom-mobile__list .sub-menu {
  display: none;
  padding: 0 0 11px 12px;
}
.rom-mobile__list .menu-item-has-children.is-submenu-open > .sub-menu { display: block; }
.rom-mobile__list .sub-menu li { border-left: 1px solid var(--rom-line-soft); }
.rom-mobile__list .sub-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.35;
  color: var(--rom-silver);
}
.rom-mobile__list .sub-menu a:hover { color: var(--rom-teal); background: rgba(97,212,214,.07); }
.rom-mobile__list .rom-nav__hint {
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 400;
  color: var(--rom-muted);
}
.rom-mobile__submenu-toggle {
  position: absolute;
  top: 8px;
  right: 0;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--rom-muted);
  cursor: pointer;
}
.rom-mobile__submenu-toggle::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}
.rom-mobile__list .is-submenu-open > .rom-mobile__submenu-toggle { color: var(--rom-teal); }
.rom-mobile__list .is-submenu-open > .rom-mobile__submenu-toggle::before { transform: rotate(225deg) translate(-2px,-2px); }
.rom-mobile__footer {
  display: grid;
  gap: 9px;
  padding-top: 14px;
  border-top: 1px solid var(--rom-line-soft);
}
.rom-mobile__footer .rom-btn { justify-content: center; width: 100%; }
.rom-mobile__account {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid var(--rom-line);
  border-radius: 9px;
  color: var(--rom-silver);
  font-size: 13.5px;
}
body.rom-menu-open { overflow: hidden; }

@media (min-width: 861px) {
  .rom-mobile,
  .rom-mobile-backdrop { display: none !important; }
}
@media (max-width: 520px) {
  .rom-header__inner { gap: 9px; }
  .rom-brand { min-width: 0; gap: 8px; }
  .rom-brand img { width: 30px; height: 30px; }
  .rom-brand__wordmark { font-size: 15px; white-space: nowrap; }
  .rom-header__actions { gap: 8px; }
  .rom-header__actions > .rom-btn--sm { padding: 9px 12px; font-size: 12.5px; }
  .rom-burger { width: 40px; height: 40px; }
}
@media (max-width: 390px) {
  .rom-brand__wordmark { font-size: 14px; }
  .rom-header__actions > .rom-btn--sm { padding-inline: 10px; }
}


/* v1.5.4 — Account Selection + Marketplace Filter Containment Authority --- */
/* WooCommerce/Kadence may leave account <li> rows shrink-wrapped. Make the
   active state read as a full navigation row, like ROM Hub, rather than a
   small pill around the label. */
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation ul,
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation li {
  width:100%;
  min-width:0;
}
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation li a {
  width:100%;
  max-width:none;
  box-sizing:border-box;
  justify-content:flex-start;
}
.rom-site.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  box-shadow:inset 3px 0 0 var(--rom-teal);
}

/* Marketplace filter controls must always remain inside the catalog panel.
   The old fixed select minimums could exceed the usable content width even
   while the viewport itself was technically desktop-sized. */
.rom-marketplace-filters--store {
  grid-template-columns:minmax(240px,1.65fr) repeat(3,minmax(0,1fr));
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.rom-marketplace-filters--store > *,
.rom-marketplace-filters--store label,
.rom-marketplace-filters--store input,
.rom-marketplace-filters--store select {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.rom-marketplace-filters--store input,
.rom-marketplace-filters--store select { width:100%; }

@media (max-width:1180px) {
  .rom-marketplace-filters--store { grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .rom-marketplace-filters--store { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .rom-market-search { grid-column:1 / -1; }
}
@media (max-width:640px) {
  .rom-marketplace-filters--store { grid-template-columns:1fr; overflow:visible; }
  .rom-market-search { grid-column:auto; }
}


/* v1.5.5 — Mobile Drawer Layering + Edge-Safe Content Authority -----------
   iOS Safari can treat fixed descendants of sticky/backdrop-filter ancestors
   as belonging to the header stacking/containing context. The drawer is now a
   body-level sibling; these rules give it an explicit top-layer authority and
   enforce a real-device content gutter even when Gutenberg alignfull rules or
   legacy page CSS attempt to pull sections to the viewport edge. */
.rom-mobile-backdrop {
  z-index: 2147483000;
}
.rom-mobile {
  z-index: 2147483001;
  isolation: isolate;
}
body.rom-menu-open .rom-header {
  z-index: 2147482999;
}

@media (max-width: 860px) {
  /* The drawer should read as a true foreground surface, never as content
     embedded behind the current page. Use an opaque surface on mobile instead
     of relying on translucent compositing/backdrop-filter behavior. */
  .rom-mobile {
    width: min(420px, calc(100vw - 18px));
    background: #111417;
    box-shadow: -28px 0 90px rgba(0,0,0,.72);
    padding-left: max(22px, env(safe-area-inset-left));
    padding-right: max(22px, env(safe-area-inset-right));
  }
  .rom-mobile-backdrop {
    background: rgba(4,6,8,.78);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }

  /* Production mobile gutter. These selectors intentionally target the live
     main content as well as Gutenberg's constrained/aligned shells. This is
     stronger than the previous top-level-group-only rule and closes the real
     iPhone case where hero/tool copy still reached x=0. */
  #rom-content {
    overflow-x: clip;
  }
  #rom-content > *,
  #rom-content .entry-content > *,
  #rom-content .rom-hero,
  #rom-content .rom-section,
  #rom-content .rom-band,
  #rom-content .rom-storefront,
  #rom-content .rom-marketplace-live,
  #rom-content .rom-creator-portal,
  #rom-content .rom-product-page,
  #rom-content .rom-hubweb,
  #rom-content .rom-news-page {
    box-sizing: border-box;
  }

  /* Keep full-bleed section backgrounds, but constrain their actual content.
     WordPress constrained groups expose direct children as the content shell,
     so apply the gutter there when no dedicated .rom-container exists. */
  #rom-content .rom-hero > :not(.alignfull),
  #rom-content .rom-section > :not(.alignfull),
  #rom-content .rom-band > :not(.alignfull) {
    max-width: 100%;
  }

  #rom-content .rom-hero,
  #rom-content .rom-section,
  #rom-content .rom-band,
  #rom-content .rom-storefront,
  #rom-content .rom-marketplace-live,
  #rom-content .rom-creator-portal,
  #rom-content .rom-product-page,
  #rom-content .rom-hubweb,
  #rom-content .rom-news-page {
    padding-left: max(22px, env(safe-area-inset-left)) !important;
    padding-right: max(22px, env(safe-area-inset-right)) !important;
  }

  /* Alignfull can carry negative inline margins from Gutenberg/Kadence. Remove
     those only inside ROM production sections on phone widths. */
  #rom-content .rom-hero > .alignfull,
  #rom-content .rom-section > .alignfull,
  #rom-content .rom-band > .alignfull {
    width: auto !important;
    max-width: none !important;
    margin-left: -22px !important;
    margin-right: -22px !important;
  }

  /* A nested ROM container should never be wider than the already-guttered
     section. This also protects stats, Hub art and long headings. */
  #rom-content .rom-container {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .rom-hero__title,
  #rom-content h1,
  #rom-content h2,
  #rom-content h3,
  #rom-content p,
  #rom-content li {
    overflow-wrap: break-word;
  }
}

@media (max-width: 480px) {
  #rom-content .rom-hero,
  #rom-content .rom-section,
  #rom-content .rom-band,
  #rom-content .rom-storefront,
  #rom-content .rom-marketplace-live,
  #rom-content .rom-creator-portal,
  #rom-content .rom-product-page,
  #rom-content .rom-hubweb,
  #rom-content .rom-news-page {
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
  }
  #rom-content .rom-hero > .alignfull,
  #rom-content .rom-section > .alignfull,
  #rom-content .rom-band > .alignfull {
    margin-left: -20px !important;
    margin-right: -20px !important;
  }
}

@media (max-width: 360px) {
  #rom-content .rom-hero,
  #rom-content .rom-section,
  #rom-content .rom-band,
  #rom-content .rom-storefront,
  #rom-content .rom-marketplace-live,
  #rom-content .rom-creator-portal,
  #rom-content .rom-product-page,
  #rom-content .rom-hubweb,
  #rom-content .rom-news-page {
    padding-left: max(18px, env(safe-area-inset-left)) !important;
    padding-right: max(18px, env(safe-area-inset-right)) !important;
  }
}
/* v1.5.7 Search Discovery + Comparison Authority */
.rom-compare-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.rom-compare-index__card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:24px;border:1px solid var(--rom-line);border-radius:16px;background:var(--rom-panel);text-decoration:none}.rom-compare-index__card span{font:600 11px/1.2 var(--rom-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--rom-cyan)}.rom-compare-index__card strong{font:700 22px/1.15 var(--rom-display);color:var(--rom-bone)}.rom-compare-index__card small{font:400 14px/1.55 var(--rom-body);color:var(--rom-muted)}.rom-compare-index__card:hover{border-color:var(--rom-cyan)}.rom-compare-method,.rom-compare__freshness{color:var(--rom-muted);font-size:13px}.rom-compare__freshness{padding:10px 12px;border-left:2px solid var(--rom-cyan);background:rgba(91,207,213,.05)}.rom-compare-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.rom-comparetable{width:100%;min-width:680px;border-collapse:collapse}.rom-comparetable th,.rom-comparetable td{padding:14px 16px;border-bottom:1px solid var(--rom-line);vertical-align:top;text-align:left}.rom-comparetable th{color:var(--rom-bone)}.rom-comparetable__k{color:var(--rom-muted);width:24%}@media(max-width:760px){.rom-compare-index{grid-template-columns:1fr}.rom-compare-index__card{padding:20px}.rom-comparetable{min-width:620px}}
/* v1.5.8 Search Intent + Discovery Authority */
.rom-compare-discovery{border-top:1px solid var(--rom-line);border-bottom:1px solid var(--rom-line)}.rom-compare-discovery__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 18px}.rom-compare-discovery__links a{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--rom-line);border-radius:14px;background:var(--rom-panel);color:var(--rom-bone);font-weight:650;text-decoration:none}.rom-compare-discovery__links a span{color:var(--rom-cyan)}.rom-compare-discovery__links a:hover{border-color:var(--rom-cyan)}.rom-footer__discovery{margin-top:18px;font-size:13px;color:var(--rom-muted)}.rom-footer__discovery a{color:inherit}.rom-footer__discovery a:hover{color:var(--rom-cyan)}
@media(max-width:760px){.rom-compare-discovery__links{grid-template-columns:1fr}.rom-compare-discovery__links a{padding:17px 18px}}
/* v1.5.9 Organic Search Landing Page Authority */
.rom-search-hero{padding-bottom:clamp(48px,7vw,92px)}
.rom-search-section{padding-top:clamp(44px,6vw,76px);padding-bottom:clamp(44px,6vw,76px)}
.rom-search-section>p{max-width:760px;color:var(--rom-muted);font-size:17px;line-height:1.7}
.rom-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.rom-search-card{display:flex;min-width:0;min-height:190px;flex-direction:column;padding:22px;border:1px solid var(--rom-line);border-radius:16px;background:var(--rom-panel);text-decoration:none;transition:border-color .18s ease,transform .18s ease}
.rom-search-card strong{color:var(--rom-bone);font:700 20px/1.2 var(--rom-display)}
.rom-search-card span{margin-top:10px;color:var(--rom-muted);font:400 14px/1.55 var(--rom-body)}
.rom-search-card em{margin-top:auto;padding-top:18px;color:var(--rom-cyan);font-style:normal;font-weight:650}
.rom-search-card:hover{border-color:var(--rom-cyan);transform:translateY(-2px)}
@media(max-width:900px){.rom-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rom-search-hero,.rom-search-section{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.rom-search-grid{grid-template-columns:1fr}.rom-search-card{min-height:0;padding:20px}.rom-search-section>p{font-size:16px}}

/* v1.6.0 — Marketplace Filter Control & Responsive Catalog Authority
   Native select widgets were vertically clipping their labels on Chromium/Windows
   because the inherited control metrics combined a fixed 48px height with legacy
   padding/line-height. Give the storefront toolbar one explicit control authority. */
.rom-marketplace-filters--store {
  align-items:stretch;
  overflow:visible;
}
.rom-marketplace-filters--store .rom-market-search,
.rom-marketplace-filters--store > select {
  min-height:50px;
}
.rom-marketplace-filters--store input,
.rom-marketplace-filters--store select {
  display:block;
  width:100%;
  height:50px;
  min-height:50px;
  margin:0;
  padding:0 14px;
  line-height:normal;
  font:inherit;
  font-size:.9rem;
  color:#eef4f6;
  background-color:#151a1f;
  border:1px solid #303941;
  border-radius:10px;
  box-sizing:border-box;
  vertical-align:middle;
}
.rom-marketplace-filters--store input::placeholder { color:#82909b; opacity:1; }
.rom-marketplace-filters--store select {
  padding-right:36px;
  cursor:pointer;
}
.rom-marketplace-filters--store input:focus-visible,
.rom-marketplace-filters--store select:focus-visible {
  outline:2px solid #61d4d6;
  outline-offset:2px;
  border-color:#61d4d6;
}
@media (max-width:980px) {
  .rom-marketplace-filters--store { gap:10px; }
}
@media (max-width:640px) {
  .rom-marketplace-filters--store { padding:10px; border-radius:14px; }
  .rom-marketplace-filters--store input,
  .rom-marketplace-filters--store select { min-height:52px; height:52px; font-size:1rem; }
}


/* v1.6.1 — Stylized Animation Positioning & Launch Conversion Authority */
.rom-sectionlede{max-width:760px;color:var(--rom-muted);font-size:clamp(17px,2vw,21px)}
.rom-position-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}.rom-position-grid>a,.rom-position-grid>div{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--rom-line);border-radius:14px;background:linear-gradient(145deg,rgba(26,33,39,.92),rgba(16,20,24,.92));text-decoration:none;color:inherit}.rom-position-grid b{font:600 11px/1.2 var(--rom-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--rom-teal)}.rom-position-grid strong{font-size:20px;color:var(--rom-text)}.rom-position-grid span{color:var(--rom-muted);line-height:1.55}
.rom-flowline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding:18px 22px;border:1px solid rgba(97,212,214,.25);border-radius:12px;background:rgba(97,212,214,.04);font:600 12px/1.2 var(--rom-mono,monospace);letter-spacing:.08em;color:var(--rom-text)}.rom-flowline i{font-style:normal;color:var(--rom-teal)}.rom-free-wedge{border-block:1px solid var(--rom-line);background:radial-gradient(circle at 80% 50%,rgba(97,212,214,.13),transparent 34%)}.rom-free-wedge h2,.rom-production-span h2,.rom-stylized-stack h2{font-size:clamp(30px,4vw,48px);margin-bottom:12px}.rom-free-wedge>p:not(.rom-eyebrow){max-width:820px;color:var(--rom-muted)}
.rom-proof-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.rom-proof-slots div{min-height:150px;border:1px dashed rgba(97,212,214,.35);border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(97,212,214,.025)}.rom-proof-slots b{color:var(--rom-teal);font-family:var(--rom-mono,monospace)}.rom-proof-slots span{font-weight:700}.rom-proof-note{margin:28px 0;color:var(--rom-muted);max-width:850px}
@media(max-width:900px){.rom-position-grid,.rom-proof-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.rom-flowline{flex-wrap:wrap;justify-content:flex-start}.rom-flowline span{min-width:max-content}}
@media(max-width:560px){.rom-position-grid,.rom-proof-slots{grid-template-columns:1fr}.rom-position-grid>a,.rom-position-grid>div{padding:20px}.rom-flowline{gap:9px;padding:16px}.rom-flowline span{font-size:10px}.rom-flowline i{font-size:11px}.rom-stylized-stack,.rom-production-span,.rom-proof-placeholder{overflow:hidden}}


/* 1.6.4 — Marketplace detail hero media + legacy metadata presentation */
.rom-market-detail__hero{margin:24px 0 22px;aspect-ratio:16/9;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(97,212,214,.08),rgba(255,255,255,.02));box-shadow:0 18px 50px rgba(0,0,0,.18)}
.rom-market-detail__hero img{display:block;width:100%;height:100%;object-fit:cover}
.rom-market-detail__video{margin:40px 0 0}
.rom-market-detail__video video{display:block;width:100%;max-height:680px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#050709}
.rom-market-detail__contents{margin-top:36px}
@media (max-width:860px){.rom-market-detail__hero{margin-top:20px;border-radius:14px}.rom-market-detail__video{margin-top:28px}}

/* 1.6.5 Marketplace Catalog Summary & Card Consistency Authority */
.rom-market-card--store .rom-market-card__body{display:flex;flex-direction:column;min-height:280px}
.rom-market-card--store .rom-market-card__body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.33em;max-height:4.33em;margin-bottom:16px}
.rom-market-card--store .rom-market-card__foot{margin-top:auto}
.rom-featured-card__body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media(max-width:600px){.rom-market-card--store .rom-market-card__body{min-height:260px}.rom-market-card--store .rom-market-card__body>p{min-height:4.33em;max-height:4.33em}}

/* v1.7.0 — Community Challenge Platform Foundation */
.rom-challenge-hero{padding:clamp(84px,10vw,150px) 0 72px;background:radial-gradient(circle at 72% 15%,rgba(89,211,216,.12),transparent 32%)}
.rom-challenge-hero h1{font-size:clamp(48px,7vw,92px);line-height:.94;max-width:900px;margin:12px 0 24px}.rom-challenge-hero h1 span,.rom-challenge-prompt{color:var(--rom-cyan,#62d5da)}.rom-challenge-hero p{max-width:680px;font-size:18px;color:#aeb4bd}
.rom-kicker{display:block;color:#63d8dd;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.rom-challenges,.rom-challenge-detail{padding-top:48px;padding-bottom:96px}
.rom-current-challenge,.rom-challenge-detail__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:48px;align-items:center;padding:34px;border:1px solid #2a3138;border-radius:18px;background:linear-gradient(135deg,#151a1f,#101316)}.rom-current-challenge img,.rom-challenge-detail__hero img{width:100%;border-radius:12px;aspect-ratio:16/10;object-fit:cover}.rom-current-challenge h2,.rom-challenge-detail h1{font-size:clamp(34px,5vw,62px);line-height:1;margin:8px 0 18px}.rom-current-challenge p{font-size:18px;color:#b9bec6}.rom-challenge-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.rom-challenge-meta span,.rom-chip-list span{border:1px solid #34404a;border-radius:999px;padding:7px 11px;color:#cbd2d8;font-size:12px;background:#11161a}
.rom-section-head{margin:72px 0 20px}.rom-challenge-grid,.rom-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rom-challenge-card{display:block;border:1px solid #293139;border-radius:14px;overflow:hidden;background:#14181d;color:inherit;text-decoration:none}.rom-challenge-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.rom-challenge-card>div{padding:20px}.rom-challenge-card h3{margin:5px 0 8px}.rom-empty-challenge{padding:48px;border:1px solid #293139;border-radius:16px}
.rom-breadcrumb{display:inline-block;margin-bottom:28px;color:#8e98a3;text-decoration:none}.rom-challenge-prompt{font-size:20px;max-width:700px}.rom-challenge-jump{display:flex;gap:6px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #262d33;position:sticky;top:64px;background:rgba(13,16,18,.94);backdrop-filter:blur(12px);z-index:20}.rom-challenge-jump a{padding:9px 13px;border-radius:8px;color:#b9c0c7;text-decoration:none}.rom-challenge-jump a:hover{background:#1b2228;color:#fff}.rom-challenge-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:54px;align-items:start}.rom-challenge-section{padding:64px 0;border-bottom:1px solid #252b31}.rom-challenge-section h2{font-size:clamp(28px,4vw,44px);margin:6px 0 24px}.rom-prose{max-width:760px;color:#c3c8ce;line-height:1.75}.rom-chip-list{display:flex;gap:8px;flex-wrap:wrap}.rom-resource-list{display:grid;gap:10px}.rom-resource-list a{display:flex;justify-content:space-between;padding:17px 18px;border:1px solid #2a333b;border-radius:10px;text-decoration:none;color:#e9edf0;background:#14191d}.rom-rules{display:grid;gap:12px;padding-left:24px;color:#c7cdd2}.rom-prize-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rom-prize-grid article{padding:22px;border:1px solid #314048;border-radius:12px;background:#141a1e}.rom-prize-grid small{display:block;color:#65d7dc;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.rom-prize-grid strong{font-size:18px}.rom-challenge-sidebar{position:sticky;top:130px;padding-top:64px}.rom-challenge-panel{border:1px solid #2b343c;border-radius:13px;padding:20px;margin-bottom:14px;background:#12171b}.rom-challenge-panel>strong{font-size:24px}.rom-challenge-panel dl{margin:18px 0 0}.rom-challenge-panel dt{color:#737e88;font-size:11px;text-transform:uppercase}.rom-challenge-panel dd{margin:2px 0 14px}.rom-entry-card{border:1px solid #29323a;border-radius:12px;overflow:hidden;background:#13181c}.rom-entry-card>span,.rom-entry-card h3,.rom-entry-card p{margin-left:16px;margin-right:16px}.rom-entry-card>span{display:block;margin-top:14px;color:#63d7dc;font-size:11px;text-transform:uppercase}.rom-entry-video iframe,.rom-entry-feature iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}.rom-entry-feature{max-width:960px;margin:24px 0}.rom-entry-form{display:grid;gap:16px;max-width:720px}.rom-entry-form label{display:grid;gap:7px;font-weight:700}.rom-entry-form input,.rom-entry-form textarea{width:100%;border:1px solid #34404a;border-radius:9px;background:#101519;color:#fff;padding:13px}.rom-entry-form .rom-check{display:flex;grid-template-columns:auto 1fr;align-items:start;font-weight:400}.rom-entry-form .rom-check input{width:auto;margin-top:4px}.rom-notice{padding:14px;border-radius:9px}.rom-notice--success{border:1px solid #2f7b66;background:#10251f}.rom-muted{color:#7f8993}
@media(max-width:900px){.rom-current-challenge,.rom-challenge-detail__hero,.rom-challenge-layout{grid-template-columns:1fr}.rom-challenge-sidebar{position:static;padding-top:0}.rom-challenge-grid,.rom-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rom-challenge-jump{top:56px}}
@media(max-width:620px){.rom-challenge-hero{padding:64px 0 42px}.rom-challenges,.rom-challenge-detail{padding-top:28px}.rom-current-challenge,.rom-challenge-detail__hero{padding:20px;gap:24px}.rom-challenge-grid,.rom-entry-grid,.rom-prize-grid{grid-template-columns:1fr}.rom-challenge-section{padding:44px 0}.rom-challenge-jump{overflow-x:auto;flex-wrap:nowrap}.rom-challenge-jump a{white-space:nowrap}}

/* v1.7.3 — Challenge Builder & Launch Readiness Authority */
.rom-current-challenge>div:first-child{min-width:0}.rom-current-challenge>div:first-child>p{max-width:760px}.rom-challenge-detail__hero>div:first-child{min-width:0}.rom-challenge-prompt:empty{display:none}
@media(max-width:620px){.rom-current-challenge h2,.rom-challenge-detail h1{overflow-wrap:anywhere}.rom-current-challenge p,.rom-challenge-prompt{font-size:16px;line-height:1.55}}

/* v1.7.4 — Challenge Submission & Account Workflow Authority */
.rom-entry-card__media{display:block;overflow:hidden;background:#0e1215}
.rom-entry-card__media img,.rom-entry-feature--image img{display:block;width:100%;height:auto;object-fit:cover}
.rom-entry-card__media img{aspect-ratio:16/9}
.rom-entry-card h3 a{color:inherit;text-decoration:none}.rom-entry-card h3 a:hover{color:var(--rom-cyan,#62d5da)}
.rom-required{font-size:11px;color:#63d7dc;text-transform:uppercase;letter-spacing:.08em;margin-left:6px}
.rom-notice--error{border:1px solid #80504d;background:#2a1716;color:#f5c9c5}
.rom-account-challenges{width:100%}.rom-account-challenges__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.rom-account-challenges__head h2{margin:4px 0 0}
.rom-account-entry-list{display:grid;gap:12px}.rom-account-entry{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid #2b343c;border-radius:12px;background:#12171b}.rom-account-entry__thumb{width:88px;height:68px;object-fit:cover;border-radius:8px}.rom-account-entry__body h3{margin:4px 0}.rom-account-entry__body p,.rom-account-entry__body small{margin:0;color:#8e98a3}.rom-account-entry__actions{display:grid;gap:6px;text-align:right}.rom-account-entry__actions a{color:#63d7dc;text-decoration:none}.rom-entry-state{display:inline-flex;width:max-content;border:1px solid #34404a;border-radius:999px;padding:4px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.rom-entry-state--winner,.rom-entry-state--community-choice{border-color:#6f6433;color:#f2d36b}.rom-entry-state--finalist{border-color:#376878;color:#7bdae5}.rom-entry-state--approved{border-color:#37654e;color:#77dda5}.rom-account-empty{padding:28px;border:1px solid #2b343c;border-radius:12px;background:#12171b}
@media(max-width:700px){.rom-account-challenges__head{align-items:flex-start;flex-direction:column}.rom-account-entry{grid-template-columns:68px minmax(0,1fr)}.rom-account-entry__thumb{width:68px;height:58px}.rom-account-entry__actions{grid-column:1/-1;display:flex;gap:18px;text-align:left}}


/* v1.8.0 Community Showcase Foundation */
.rom-showcase-intro{padding:72px 0 36px}.rom-showcase-intro h1{font-size:clamp(44px,6vw,78px);line-height:.96;margin:8px 0 18px}.rom-showcase-intro p{max-width:720px;font-size:18px;color:#aeb4bd}
.rom-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rom-showcase-card{display:flex;flex-direction:column;min-height:100%}.rom-showcase-card__body{display:grid;gap:8px;padding:16px}.rom-showcase-card__body h3,.rom-showcase-card__body p{margin:0}.rom-showcase-card__body p a,.rom-showcase-card__body small a{color:#62d5da;text-decoration:none}.rom-showcase-card__body small{display:block;color:#8e98a3}.rom-showcase-card--winner{box-shadow:0 0 0 1px rgba(242,211,107,.45),0 12px 40px rgba(0,0,0,.18)}.rom-showcase-card--finalist{box-shadow:0 0 0 1px rgba(123,218,229,.32)}
.rom-showcase-artist{padding:56px 0}.rom-showcase-artist__head{display:flex;gap:20px;align-items:center;margin:28px 0 42px}.rom-showcase-artist__head img{border-radius:50%}.rom-showcase-artist__head h1{font-size:clamp(36px,5vw,64px);margin:4px 0}.rom-showcase-more{margin-top:24px}.rom-home-showcase{padding-top:70px;padding-bottom:70px}
@media(max-width:900px){.rom-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rom-showcase-grid{grid-template-columns:1fr}.rom-showcase-artist__head{align-items:flex-start}.rom-showcase-artist__head .rom-avatar img{width:72px;height:72px}.rom-home-showcase{padding-top:48px;padding-bottom:48px}}

/* v1.8.1 — Creator Profiles, Winner Showcase & Social Sharing Authority */
.rom-winner-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:34px;align-items:center;margin:8px 0 38px;padding:28px;border:1px solid rgba(242,211,107,.38);border-radius:18px;background:linear-gradient(135deg,rgba(242,211,107,.06),rgba(98,213,218,.025));box-shadow:0 20px 60px rgba(0,0,0,.18)}
.rom-winner-feature__copy h2{font-size:clamp(34px,5vw,62px);line-height:1;margin:10px 0 12px}.rom-winner-feature__copy h2 a{color:#f5f7f8;text-decoration:none}.rom-winner-feature__copy>p a{color:#62d5da;text-decoration:none}.rom-winner-feature__media{display:block;overflow:hidden;border-radius:13px;border:1px solid #31383e}.rom-winner-feature__media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.rom-winner-feature .rom-btn{margin-top:18px}
.rom-showcase-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid #252c31}.rom-showcase-filters a{padding:9px 13px;border:1px solid #2c353d;border-radius:999px;color:#aeb5bb;text-decoration:none;background:#101519}.rom-showcase-filters a:hover,.rom-showcase-filters a.is-active{border-color:#62d5da;color:#091014;background:#62d5da}
.rom-tool-chips{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0}.rom-tool-chips span{display:inline-flex;padding:5px 8px;border:1px solid #2b3940;border-radius:999px;color:#8fdde1;background:#0f171b;font-size:11px;line-height:1.2}
.rom-creator-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.rom-creator-stats span{min-width:95px;padding:10px 12px;border:1px solid #2c353d;border-radius:10px;background:#11171b;color:#8d969e;font-size:12px}.rom-creator-stats strong{display:block;color:#eef2f4;font-size:22px;line-height:1.05;margin-bottom:3px}
.rom-share-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0 24px}.rom-share-row>span{color:#77828b;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.rom-share-row a{padding:7px 10px;border:1px solid #2c353d;border-radius:999px;color:#c5ccd1;text-decoration:none;font-size:12px}.rom-share-row a:hover{border-color:#62d5da;color:#62d5da}.rom-entry-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.rom-entry-byline a{color:#62d5da;text-decoration:none}.rom-community-entry-detail .rom-entry-feature--image{border:1px solid #242c32;border-radius:14px;overflow:hidden}
@media(max-width:780px){.rom-winner-feature{grid-template-columns:1fr;padding:18px}.rom-winner-feature__media{order:-1}.rom-showcase-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}.rom-showcase-filters a{white-space:nowrap}.rom-creator-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}

/* 1.8.2 Featured Creators, Winner Archive & Homepage Community Authority */
.rom-featured-creators,.rom-winner-archive{margin-top:56px;padding-top:42px;border-top:1px solid #262d33}.rom-featured-creators .rom-section-head h2,.rom-winner-archive .rom-section-head h2{margin:.25rem 0 .35rem;font-size:clamp(28px,4vw,44px)}.rom-featured-creators .rom-section-head p,.rom-winner-archive .rom-section-head p{max-width:700px;color:#9aa4ad}.rom-creator-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.rom-creator-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #2b343b;border-radius:14px;background:#11171b;color:#edf2f4;text-decoration:none;transition:border-color .18s,transform .18s}.rom-creator-card:hover{border-color:#61d4d6;transform:translateY(-2px)}.rom-creator-card__avatar img{display:block;width:58px;height:58px;border-radius:50%;object-fit:cover}.rom-creator-card__copy{display:grid;gap:4px;min-width:0;flex:1}.rom-creator-card__copy strong{font-size:18px}.rom-creator-card__copy small{color:#8d98a1}.rom-creator-card__arrow{color:#61d4d6;font-size:22px}.rom-home-community-authority{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.rom-home-community-panel{border:1px solid #2b343b;border-radius:16px;padding:22px;background:#11171b}.rom-home-community-panel h3{font-size:clamp(22px,3vw,32px);margin:8px 0 10px}.rom-home-community-panel h3 a,.rom-home-community-panel p a,.rom-home-community-panel__winner a{color:#eef2f4;text-decoration:none}.rom-home-community-panel p{color:#9da7af}.rom-home-community-panel--winner{border-color:rgba(242,211,107,.35);background:linear-gradient(135deg,rgba(242,211,107,.05),#11171b 55%)}.rom-home-community-panel__winner{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;margin-top:10px}.rom-home-community-panel__winner img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid #333b42}.rom-home-showcase-grid{margin-top:18px}.rom-winner-archive .rom-showcase-grid{margin-top:20px}
@media(max-width:780px){.rom-creator-card-grid,.rom-home-community-authority{grid-template-columns:1fr}.rom-home-community-panel__winner{grid-template-columns:110px 1fr}}
@media(max-width:520px){.rom-home-community-panel__winner{grid-template-columns:1fr}.rom-creator-card{align-items:flex-start}.rom-creator-card__avatar img{width:50px;height:50px}}


/* 1.8.3 Challenge Winner Archive, Featured Artist Editorial & Community Navigation Authority */
.rom-featured-artist-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:28px;align-items:center;margin:42px 0;padding:26px;border:1px solid #2d373e;border-radius:18px;background:linear-gradient(135deg,rgba(97,212,214,.05),rgba(242,211,107,.035))}
.rom-featured-artist-editorial__person{display:grid;grid-template-columns:112px 1fr;gap:20px;align-items:start;margin-top:12px}.rom-featured-artist-editorial__avatar img{display:block;width:112px;height:112px;border-radius:50%;object-fit:cover;border:1px solid #354149}.rom-featured-artist-editorial h2{font-size:clamp(30px,4vw,48px);margin:0 0 4px}.rom-featured-artist-editorial h2 a{color:#f3f6f7;text-decoration:none}.rom-featured-artist-editorial__headline{color:#61d4d6!important;font-weight:700;margin:.15rem 0 .55rem!important}.rom-featured-artist-editorial__identity p{max-width:680px;color:#9da7af}.rom-creator-stats--editorial{margin:18px 0}.rom-featured-artist-editorial__work{display:grid;gap:10px;color:#eff3f4;text-decoration:none}.rom-featured-artist-editorial__work img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid #343d43;border-radius:12px}.rom-featured-artist-editorial__work strong{font-size:20px}
.rom-showcase-artist__head--editorial{align-items:flex-start}.rom-showcase-artist__headline{color:#61d4d6!important;font-weight:700}.rom-showcase-artist__head--editorial .rom-btn{display:inline-flex;margin-top:18px}.rom-creator-featured-work{max-width:760px;margin:0 0 46px;padding:20px;border:1px solid rgba(242,211,107,.32);border-radius:16px;background:rgba(242,211,107,.035)}.rom-creator-featured-work img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin:10px 0 14px}.rom-creator-featured-work h2{margin:0;font-size:clamp(24px,3vw,34px)}.rom-creator-featured-work h2 a{color:#f2f5f6;text-decoration:none}
.rom-winners-intro{padding:62px 0 36px;max-width:850px}.rom-winners-intro h1{font-size:clamp(48px,7vw,84px);line-height:.96;margin:8px 0 18px}.rom-winners-intro p{font-size:18px;color:#a6b0b7;max-width:720px}.rom-winners-intro .rom-btn{margin-top:12px}.rom-winner-timeline{display:grid;gap:60px;padding-bottom:70px}.rom-winner-year{padding-top:34px;border-top:1px solid #293139}.rom-winner-year .rom-section-head h2{font-size:clamp(30px,4vw,46px);margin:4px 0 20px}
@media(max-width:820px){.rom-featured-artist-editorial{grid-template-columns:1fr}.rom-featured-artist-editorial__work{max-width:620px}.rom-featured-artist-editorial__person{grid-template-columns:84px 1fr}.rom-featured-artist-editorial__avatar img{width:84px;height:84px}}
@media(max-width:560px){.rom-featured-artist-editorial{padding:18px}.rom-featured-artist-editorial__person{grid-template-columns:1fr}.rom-showcase-artist__head--editorial{display:grid}.rom-winners-intro{padding-top:40px}.rom-winner-timeline{gap:42px}}


/* 1.8.4 Challenge Lifecycle, Results & Phase 2 Closure Authority */
.rom-challenge-results{position:relative}.rom-results-grid{margin-top:22px}.rom-result-card{border-color:rgba(97,212,214,.28)}.rom-result-card--winner{border-color:rgba(232,197,80,.68);box-shadow:0 0 0 1px rgba(232,197,80,.08) inset}.rom-result-card--finalist{border-color:rgba(97,212,214,.45)}.rom-result-card--community-choice{border-color:rgba(162,120,255,.52)}
.rom-result-card .rom-entry-state{display:inline-flex;margin:14px 14px 0}.rom-result-card h3,.rom-result-card p{padding-left:14px;padding-right:14px}.rom-result-card p{padding-bottom:16px}
@media(max-width:780px){.rom-results-grid{grid-template-columns:1fr}.rom-result-card .rom-entry-card__media img{aspect-ratio:16/9;object-fit:cover}}


/* 1.9.0 Community Choice Voting Foundation Authority */
.rom-community-vote{margin:34px 0 8px;padding:22px;border:1px solid #2b353c;border-radius:14px;background:#11171b;max-width:760px}.rom-community-vote.is-open{border-color:rgba(98,213,218,.55);background:linear-gradient(135deg,rgba(98,213,218,.055),#11171b 52%)}.rom-community-vote h2{margin:7px 0 8px;font-size:clamp(24px,3vw,34px)}.rom-community-vote p{color:#a9b2b9;max-width:680px}.rom-community-vote form{margin-top:16px}.rom-community-vote__total{margin:16px 0 0!important;color:#cbd4d8!important}.rom-community-vote__total strong{font-size:22px;color:#62d5da}.rom-vote-notice{margin-top:16px;padding:10px 12px;border:1px solid rgba(98,213,218,.35);border-radius:8px;color:#b9f1f3;background:rgba(98,213,218,.06)}
@media(max-width:620px){.rom-community-vote{padding:18px}.rom-community-vote .rom-btn{width:100%;justify-content:center;text-align:center}}

/* v2.0.2 Community Leaderboard presentation authority (moved from child style.css, which is not enqueued). */
.rom-leaderboard-intro{max-width:920px;margin:0 auto 42px;padding:0 20px}.rom-leaderboard{max-width:1080px;margin:0 auto 80px;border:1px solid var(--rom-line,#28313a);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.015)}.rom-leaderboard__head,.rom-leaderboard__row{display:grid;grid-template-columns:70px minmax(260px,1fr) 90px 70px 110px 70px;gap:14px;align-items:center;padding:14px 18px}.rom-leaderboard__head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--rom-muted,#8f9aa6);border-bottom:1px solid var(--rom-line,#28313a)}.rom-leaderboard__row{color:inherit;text-decoration:none;border-bottom:1px solid var(--rom-line,#28313a)}.rom-leaderboard__row:last-child{border-bottom:0}.rom-leaderboard__row:hover{background:rgba(95,210,218,.04)}.rom-leaderboard__rank{font-size:22px;font-weight:800}.rom-leaderboard__creator{display:flex;align-items:center;gap:12px;min-width:0}.rom-leaderboard__creator img{width:48px;height:48px;border-radius:50%;flex:0 0 auto}.rom-leaderboard__creator small{display:block;color:var(--rom-muted,#8f9aa6);margin-top:3px}.rom-leaderboard__creator strong{display:block}.rom-achievement-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.rom-achievement-badge{display:inline-flex;padding:3px 7px;border:1px solid var(--rom-line,#28313a);border-radius:999px;font-size:10px;line-height:1.2;color:var(--rom-accent,#78d7dd)}
@media(max-width:780px){.rom-leaderboard-intro{padding:0 18px}.rom-leaderboard{margin-left:18px;margin-right:18px}.rom-leaderboard__head{display:none}.rom-leaderboard__row{grid-template-columns:38px minmax(0,1fr) 62px;padding:14px;gap:10px}.rom-leaderboard__row>span:nth-child(4),.rom-leaderboard__row>span:nth-child(5),.rom-leaderboard__row>span:nth-child(6){display:none}.rom-leaderboard__creator strong{overflow-wrap:anywhere}.rom-leaderboard__creator img{width:40px;height:40px}}

/* v2.0.2 ROM News public detail pages. */
.rom-reading-width{max-width:980px}.rom-news-detail{padding-top:64px;padding-bottom:96px}.rom-news-detail__head{max-width:780px;margin:22px 0 34px}.rom-news-detail__head h1{font-size:clamp(38px,6vw,72px);line-height:.98;margin:8px 0 18px}.rom-news-detail__hero{margin:0 0 36px}.rom-news-detail__hero img{width:100%;height:auto;border-radius:16px;border:1px solid var(--rom-line,#28313a)}.rom-news-detail__content{max-width:760px;font-size:18px;line-height:1.75}.rom-news-detail__content p,.rom-news-detail__content ul,.rom-news-detail__content ol,.rom-news-detail__content h2,.rom-news-detail__content h3{margin-bottom:1.2em}
@media(max-width:780px){.rom-news-detail{padding:40px 20px 72px}.rom-news-detail__content{font-size:16px}.rom-news-detail__head h1{font-size:clamp(36px,12vw,54px)}}

/* v2.0.3 — ROM News article + creator identity authority */
.rom-news-article{max-width:980px;margin:0 auto;padding:54px 24px 88px}.rom-news-article article{margin-top:30px}.rom-news-article__header{max-width:850px}.rom-news-article__header h1{font-size:clamp(38px,6vw,68px);line-height:1.02;letter-spacing:-.035em;margin:12px 0 14px}.rom-news-article__meta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rom-muted,#8f9aa6)}.rom-news-article__dek{font-size:clamp(18px,2.4vw,24px);line-height:1.5;color:#aeb8c0;margin:24px 0 0;max-width:780px}.rom-news-article__hero{margin:38px 0 32px}.rom-news-article__hero img{display:block;width:100%;height:auto;border:1px solid var(--rom-line,#28313a);border-radius:16px}.rom-news-article__body{max-width:780px;font-size:18px;line-height:1.75;color:#d8dee2}.rom-news-article__body h2,.rom-news-article__body h3{color:#f3f6f7;margin-top:2em}.rom-news-article__body a{color:var(--rom-accent,#78d7dd)}.rom-news-article__body img{max-width:100%;height:auto;border-radius:12px}.rom-news-article__footer{margin-top:46px;padding-top:26px;border-top:1px solid var(--rom-line,#28313a)}
.rom-creator-local-avatar{display:block;border-radius:50%;object-fit:cover;background:#1b2227}.rom-creator-avatar-preview{display:flex;align-items:center;gap:16px;margin:8px 0 12px}.rom-creator-avatar-preview img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid #c3c4c7}
@media(max-width:620px){.rom-news-article{padding:36px 18px 64px}.rom-news-article__body{font-size:17px}}

/* ==========================================================================
   v2.1.0 — LAUNCH PRESENTATION CONSISTENCY AUTHORITY
   Final customer-facing convergence across News, Marketplace, Docs,
   Challenges, Community, WooCommerce account surfaces, desktop and mobile.
   ========================================================================== */

/* Universal launch shell: predictable rhythm and focus treatment. */
:root { --rom-launch-gutter: clamp(20px, 3vw, 32px); }
.rom-site #rom-content { min-height: 54vh; }
.rom-site #rom-content :where(h1,h2,h3,h4,p,li,a,button,input,select,textarea) { min-width: 0; }
.rom-site :where(a,button,input,select,textarea):focus-visible {
  outline: 2px solid var(--rom-teal);
  outline-offset: 3px;
}
.rom-site :where(input,select,textarea) { font: inherit; }
.rom-site :where(input,select,textarea)::placeholder { color: #73808b; opacity: 1; }
.rom-site .rom-breadcrumb,
.rom-site .rom-product-breadcrumb,
.rom-site .rom-doccrumb { line-height: 1.45; overflow-wrap: anywhere; }
.rom-site .rom-footer__discovery { display:flex; flex-wrap:wrap; gap:5px 0; line-height:1.7; }
.rom-site .rom-footer__discovery a { white-space:normal; }

/* News: editorial reading hierarchy and rich Gutenberg content. */
.rom-news-detail { width:min(100% - 40px, 980px); margin-inline:auto; }
.rom-news-detail__head .rom-muted { margin-top:0; }
.rom-news-detail__content { color:var(--rom-silver); }
.rom-news-detail__content > :first-child { margin-top:0; }
.rom-news-detail__content > :last-child { margin-bottom:0; }
.rom-news-detail__content :where(h2,h3,h4) { color:var(--rom-bone); line-height:1.12; margin-top:1.7em; }
.rom-news-detail__content h2 { font-size:clamp(26px,3.2vw,38px); }
.rom-news-detail__content h3 { font-size:clamp(21px,2.5vw,29px); }
.rom-news-detail__content :where(ul,ol) { padding-left:1.4em; }
.rom-news-detail__content li + li { margin-top:.45em; }
.rom-news-detail__content blockquote { margin:1.6em 0; padding:4px 0 4px 20px; border-left:2px solid var(--rom-teal); color:var(--rom-bone); }
.rom-news-detail__content :where(img,video,iframe) { border-radius:14px; }
.rom-news-detail__content figure { margin:2em 0; }
.rom-news-detail__content figcaption { color:var(--rom-muted); font-size:13px; margin-top:8px; }
.rom-news-detail__content a:not(.rom-btn) { color:var(--rom-teal); text-underline-offset:3px; }
.rom-news-detail > p:last-child { margin-top:34px; }

/* Marketplace: one visual language for legacy and current detail routes. */
.rom-product-page,
.rom-market-detail { color:var(--rom-silver); }
.rom-product-content,
.rom-market-detail__desc { overflow-wrap:anywhere; }
.rom-product-content :where(h2,h3,h4) { color:var(--rom-bone); margin-top:1.65em; line-height:1.15; }
.rom-product-content :where(ul,ol) { padding-left:1.35em; }
.rom-product-content li + li { margin-top:.42em; }
.rom-product-content :where(table,.wp-block-table table) { width:100%; border-collapse:collapse; }
.rom-product-content :where(th,td) { padding:12px 14px; border-bottom:1px solid var(--rom-line-soft); text-align:left; vertical-align:top; }
.rom-product-content .wp-block-table { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.rom-product-cta { box-sizing:border-box; }
.rom-market-detail__buy { background:var(--rom-charcoal); box-shadow:0 18px 48px -38px rgba(0,0,0,.9); }
.rom-market-detail__shots figure { margin:0; }

/* Docs: consistent reading width and a controlled mobile navigation footprint. */
.rom-docarticle .rom-prose { font-size:16px; line-height:1.75; }
.rom-docarticle .rom-prose :where(h2,h3,h4) { color:var(--rom-bone); line-height:1.15; scroll-margin-top:100px; }
.rom-docarticle .rom-prose h2 { font-size:clamp(25px,3vw,36px); margin-top:1.65em; }
.rom-docarticle .rom-prose h3 { font-size:clamp(20px,2.3vw,28px); margin-top:1.45em; }
.rom-docarticle .rom-prose :where(pre,code) { max-width:100%; }
.rom-docarticle .rom-prose pre { overflow:auto; padding:16px; border:1px solid var(--rom-line-soft); border-radius:12px; background:#0d1114; }
.rom-docfeedback { box-sizing:border-box; }

/* Challenges: cards, forms and sticky navigation use the same responsive rules. */
.rom-challenge-detail__hero,
.rom-current-challenge,
.rom-challenge-panel,
.rom-entry-card,
.rom-community-vote { box-sizing:border-box; }
.rom-challenge-detail__hero > img { min-width:0; }
.rom-challenge-section .rom-prose :where(h2,h3,h4) { color:var(--rom-bone); }
.rom-entry-form :where(input,textarea,select) { box-sizing:border-box; min-height:46px; }
.rom-entry-form textarea { min-height:130px; resize:vertical; }
.rom-entry-card h3 a { color:var(--rom-bone); text-decoration:none; }
.rom-entry-card h3 a:hover { color:var(--rom-teal); }

/* Community: avatars, cards and long creator names remain stable. */
.rom-avatar img,
.rom-creator-card__avatar img,
.rom-featured-artist-editorial__avatar img,
.rom-leaderboard__creator img { object-fit:cover; background:#e8ecef; }
.rom-showcase-artist__head,
.rom-featured-artist-editorial__person,
.rom-leaderboard__creator { min-width:0; }
.rom-showcase-artist__head :where(h1,h2,h3,strong),
.rom-featured-artist-editorial :where(h2,h3,strong),
.rom-leaderboard__creator strong { overflow-wrap:anywhere; }
.rom-showcase-filters { scrollbar-width:thin; }

/* WooCommerce Account: form controls, notices and endpoints feel native to ROM. */
.rom-site.woocommerce-account .woocommerce-MyAccount-content :where(input[type=text],input[type=email],input[type=password],input[type=tel],select,textarea) {
  width:100%; box-sizing:border-box; min-height:46px; padding:11px 13px;
  border:1px solid var(--rom-line); border-radius:9px; background:#101519; color:var(--rom-bone);
}
.rom-site.woocommerce-account .woocommerce-MyAccount-content textarea { min-height:120px; resize:vertical; }
.rom-site.woocommerce-account .woocommerce-MyAccount-content :where(.woocommerce-message,.woocommerce-info,.woocommerce-error) {
  border-radius:10px; background:#12181c; color:var(--rom-silver); border-color:var(--rom-line);
}
.rom-site.woocommerce-account .woocommerce-MyAccount-content table { max-width:100%; }
.rom-site.woocommerce-account .woocommerce-MyAccount-content a { overflow-wrap:anywhere; }
.rom-site.woocommerce-account .woocommerce-Address { box-sizing:border-box; }

/* Tablet convergence. */
@media (max-width: 980px) {
  .rom-product-cta { padding:30px; }
  .rom-doclayout { gap:24px; }
  .rom-challenge-layout { gap:30px; }
  .rom-footer__grid { gap:30px; }
}

/* Phone convergence: a single real-device gutter for every custom surface. */
@media (max-width: 700px) {
  .rom-news-detail,
  .rom-market-detail,
  .rom-challenges,
  .rom-challenge-detail,
  .rom-doclayout,
  .rom-winners,
  .rom-showcase,
  .rom-creator-profile,
  .rom-leaderboard-intro {
    width:auto;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:max(20px, env(safe-area-inset-left));
    padding-right:max(20px, env(safe-area-inset-right));
    box-sizing:border-box;
  }
  .rom-news-detail { padding-top:38px; padding-bottom:70px; }
  .rom-news-detail__head { margin-bottom:26px; }
  .rom-news-detail__head h1 { overflow-wrap:anywhere; }
  .rom-news-detail__hero { margin-bottom:26px; }
  .rom-news-detail > p:last-child .rom-btn { width:auto; display:inline-flex; }

  .rom-product-page { width:auto; margin-inline:0; }
  .rom-product-hero { gap:26px; }
  .rom-product-hero h1 { font-size:clamp(34px,11vw,52px); overflow-wrap:anywhere; }
  .rom-product-content { margin:38px auto; }
  .rom-product-cta { padding:24px; gap:20px; }
  .rom-market-detail { padding-top:30px; padding-bottom:70px; }
  .rom-market-detail__head { gap:24px; }
  .rom-market-detail__buy { padding:20px; }
  .rom-market-detail__shots { grid-template-columns:1fr; margin:34px 0; }
  .rom-market-detail__compat li { align-items:flex-start; flex-direction:column; gap:5px; }

  .rom-doclayout,
  .rom-doclayout--single { padding-top:28px; padding-bottom:70px; }
  .rom-docnav { max-height:320px; overflow:auto; }
  .rom-docarticle>h1 { font-size:clamp(34px,11vw,48px); overflow-wrap:anywhere; }
  .rom-docmeta { margin-bottom:28px; }
  .rom-docfeedback { align-items:flex-start; flex-direction:column; }
  .rom-docfeedback .rom-btn { width:auto; }

  .rom-challenge-jump { margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; scrollbar-width:none; }
  .rom-challenge-jump::-webkit-scrollbar { display:none; }
  .rom-challenge-detail__hero h1 { font-size:clamp(34px,11vw,50px); }
  .rom-challenge-panel { padding:18px; }
  .rom-entry-form .rom-btn { width:100%; justify-content:center; }

  .rom-featured-artist-editorial,
  .rom-winner-feature { border-radius:14px; }
  .rom-showcase-filters { margin-left:-2px; margin-right:-2px; }

  .rom-site.woocommerce-account .woocommerce { width:auto; margin:24px 20px 54px; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation { overflow-x:auto; padding-bottom:6px; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; width:max-content; min-width:100%; gap:6px; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation li { width:auto; flex:0 0 auto; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation li a { width:auto; min-height:42px; padding:9px 12px; border:1px solid var(--rom-line-soft); border-radius:9px; box-shadow:none; }
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-color:var(--rom-teal); box-shadow:inset 0 -2px 0 var(--rom-teal); }
  .rom-site.woocommerce-account .woocommerce-MyAccount-content { margin-top:12px !important; }
  .rom-site.woocommerce-account .woocommerce-Addresses { display:grid; grid-template-columns:1fr; gap:14px; }

  .rom-footer { padding-bottom:max(26px, env(safe-area-inset-bottom)); }
  .rom-footer__grid { grid-template-columns:1fr; }
  .rom-footer__bottom { align-items:flex-start; flex-direction:column; gap:10px; }
}

@media (max-width: 420px) {
  .rom-header__actions > .rom-btn--sm { font-size:12px; padding-inline:10px; }
  .rom-news-detail__content { font-size:16px; }
  .rom-newscard { border-radius:13px; }
  .rom-product-hero { padding:20px; }
  .rom-challenge-detail__hero,
  .rom-current-challenge { padding:18px; }
  .rom-leaderboard__row { padding:12px; }
}

/* Respect OS motion preferences during launch interactions. */
@media (prefers-reduced-motion: reduce) {
  .rom-site *, .rom-site *::before, .rom-site *::after {
    scroll-behavior:auto !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* =========================================================================
   v2.3.2 — CHECKOUT, INVOICE & TRANSACTIONAL TRUST AUTHORITY
   ========================================================================= */
.rom-tx-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;padding:14px;border:1px solid var(--rom-line-soft);border-radius:14px;background:#10161a}
.rom-tx-trust>div{min-width:0;padding:12px;border:1px solid var(--rom-line-soft);border-radius:10px;background:var(--rom-charcoal)}
.rom-tx-trust strong,.rom-tx-trust span{display:block}.rom-tx-trust strong{color:var(--rom-bone);font-size:13px;margin-bottom:4px}.rom-tx-trust span{color:var(--rom-muted);font-size:12px;line-height:1.5}
.rom-tx-complete{max-width:820px;margin:26px 0;padding:28px;border:1px solid var(--rom-line);border-radius:16px;background:linear-gradient(135deg,#12191d,#101519)}
.rom-tx-kicker{font-family:var(--rom-mono);font-size:10px;letter-spacing:.14em;color:var(--rom-teal)}.rom-tx-complete h2{margin:8px 0 10px;color:var(--rom-bone)}.rom-tx-complete p{color:var(--rom-silver)}
.rom-tx-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.rom-tx-textlink{color:var(--rom-teal);font-weight:700;text-decoration:none;padding:10px}.rom-tx-note{margin:18px 0 0!important;padding-top:14px;border-top:1px solid var(--rom-line-soft);font-size:12px!important;color:var(--rom-muted)!important}
.rom-tx-record{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px;padding:14px;border:1px solid var(--rom-line-soft);border-radius:10px;background:#10161a}.rom-tx-record strong{color:var(--rom-bone)}.rom-tx-record span{color:var(--rom-muted);font-size:13px}.rom-tx-record__muted{margin-left:auto}
.woocommerce-MyAccount-orders .button.rom-invoice{border-color:var(--rom-teal)!important}
@media(max-width:700px){.rom-tx-trust{grid-template-columns:1fr;padding:10px}.rom-tx-complete{padding:20px}.rom-tx-actions>*{width:100%;text-align:center}.rom-tx-record{align-items:flex-start;flex-direction:column}.rom-tx-record__muted{margin-left:0}}

/* =========================================================================
   v2.4.0 — CUSTOMER ACCOUNT COMMAND CENTER AUTHORITY
   ========================================================================= */
.rom-account-home{display:grid;gap:24px}.rom-account-home__hero{padding:4px 0 10px}.rom-account-kicker{font-family:var(--rom-mono);font-size:10px;letter-spacing:.14em;color:var(--rom-teal);font-weight:700}.rom-account-home__hero h1{font-size:clamp(30px,4vw,48px);line-height:1.02;margin:9px 0 12px}.rom-account-home__hero p{max-width:700px;color:var(--rom-silver);font-size:16px;line-height:1.65}.rom-account-home__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.rom-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rom-account-card{position:relative;min-width:0;display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--rom-line-soft);border-radius:13px;background:#11171b;text-decoration:none!important;transition:.18s ease}.rom-account-card:hover,.rom-account-card:focus-visible{border-color:color-mix(in srgb,var(--rom-teal) 70%,var(--rom-line));transform:translateY(-2px);background:#141c20}.rom-account-card__index{font-family:var(--rom-mono);font-size:10px;color:var(--rom-teal);letter-spacing:.12em}.rom-account-card strong{color:var(--rom-bone);font-size:18px}.rom-account-card>span:not(.rom-account-card__index){color:var(--rom-muted);font-size:13px;line-height:1.55;flex:1}.rom-account-card b{color:var(--rom-teal);font-size:12px}
.rom-account-onboarding{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:24px;padding:22px;border:1px solid var(--rom-line-soft);border-radius:14px;background:linear-gradient(135deg,#11181c,#0f1418)}.rom-account-onboarding h2{margin:8px 0 0;font-size:24px}.rom-account-onboarding ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}.rom-account-onboarding li{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--rom-line-soft);border-radius:10px;background:rgba(255,255,255,.015)}.rom-account-onboarding li>span{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--rom-teal);border-radius:999px;color:var(--rom-teal);font-family:var(--rom-mono);font-size:10px;flex:0 0 auto}.rom-account-onboarding strong,.rom-account-onboarding small{display:block}.rom-account-onboarding strong{color:var(--rom-bone);font-size:13px}.rom-account-onboarding small{color:var(--rom-muted);font-size:12px;line-height:1.45;margin-top:3px}
.rom-key-wrap{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}.rom-key-value{display:inline-block;min-width:190px;padding:6px 8px;border:1px solid var(--rom-line-soft);border-radius:7px;background:#0d1215;color:var(--rom-bone);font-family:var(--rom-mono);font-size:12px;letter-spacing:.03em}.rom-key-action{appearance:none;border:1px solid var(--rom-line);background:#141a1f;color:var(--rom-silver);border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700;cursor:pointer}.rom-key-action:hover,.rom-key-action:focus-visible{border-color:var(--rom-teal);color:var(--rom-bone)}
.rom-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table{border-collapse:separate;border-spacing:0;border:1px solid var(--rom-line-soft);border-radius:12px;overflow:hidden}.rom-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{font-family:var(--rom-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--rom-teal);background:#10161a}.rom-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,.rom-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{padding:12px 14px;border-color:var(--rom-line-soft)}
@media(max-width:760px){.rom-account-grid{grid-template-columns:1fr}.rom-account-onboarding{grid-template-columns:1fr}.rom-account-home__actions>*{width:100%;text-align:center}.rom-key-value{min-width:0;max-width:100%;overflow-wrap:anywhere}.rom-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table{font-size:13px}}

/* v2.4.1 Customer Billing, Invoice Provider & Purchase History Closure */
.rom-account-sectionhead{margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid var(--rom-line,#28313a)}
.rom-account-sectionhead h1{margin:5px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.04}
.rom-account-sectionhead p{max-width:760px;margin:0;color:var(--rom-muted,#8f9aa6)}
.rom-account-sectionhead--compact{margin-bottom:26px}.rom-account-textlink{display:inline-block;margin-top:10px;font-weight:700;color:var(--rom-accent,#67d7dc);text-decoration:none}
.rom-account-provider{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:20px;margin:26px 0 0;padding:18px 20px;border:1px solid var(--rom-line,#28313a);border-radius:14px;background:rgba(95,210,218,.035)}
.rom-account-provider strong{display:block;margin-top:5px;color:var(--rom-text,#eef2f5)}.rom-account-provider p{margin:0;color:var(--rom-muted,#8f9aa6)}
.woocommerce-account .woocommerce-orders-table{border:1px solid var(--rom-line,#28313a)!important;border-radius:14px!important;overflow:hidden;background:rgba(255,255,255,.015)}
.woocommerce-account .woocommerce-orders-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rom-accent,#67d7dc);background:rgba(95,210,218,.035)}
.woocommerce-account .woocommerce-orders-table td,.woocommerce-account .woocommerce-orders-table th{padding:13px 14px!important;border-color:var(--rom-line,#28313a)!important}
.woocommerce-account .woocommerce-orders-table .woocommerce-button{margin:2px 4px 2px 0!important}
.woocommerce-account .woocommerce-Address{padding:18px;border:1px solid var(--rom-line,#28313a);border-radius:14px;background:rgba(255,255,255,.015)}
@media(max-width:780px){.rom-account-provider{grid-template-columns:1fr}.woocommerce-account .woocommerce-orders-table,.woocommerce-account .woocommerce-orders-table tbody,.woocommerce-account .woocommerce-orders-table tr,.woocommerce-account .woocommerce-orders-table td{display:block;width:100%}.woocommerce-account .woocommerce-orders-table thead{display:none}.woocommerce-account .woocommerce-orders-table tr{padding:12px 0;border-bottom:1px solid var(--rom-line,#28313a)}.woocommerce-account .woocommerce-orders-table td{display:flex;justify-content:space-between;gap:16px;padding:8px 14px!important}.woocommerce-account .woocommerce-orders-table td:before{font-weight:700;color:var(--rom-muted,#8f9aa6)}}

/* v2.4.2 Account Security, Subscription Management & Support Closure */
.rom-account-closure{display:grid;gap:22px}.rom-account-closure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rom-account-closure-card{padding:20px;border:1px solid var(--rom-line-soft,#29333b);border-radius:14px;background:#11171b}.rom-account-closure-card>span:first-child{font:700 10px/1 var(--rom-mono);letter-spacing:.12em;color:var(--rom-teal)}.rom-account-closure-card h2{margin:10px 0 8px;font-size:20px}.rom-account-closure-card p,.rom-account-closure-card li,.rom-account-closure-card small{color:var(--rom-muted,#8f9aa6);line-height:1.55}.rom-account-closure-card ul{margin:8px 0 0;padding-left:20px}.rom-account-trust-note,.rom-account-subscription-note{display:grid;gap:5px;padding:16px 18px;border:1px solid var(--rom-line-soft,#29333b);border-radius:12px;background:rgba(95,210,218,.035)}.rom-account-trust-note span,.rom-account-subscription-note p{color:var(--rom-muted,#8f9aa6);margin:0}.rom-account-support-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px}.rom-account-response{margin-top:16px!important}.rom-account-aftergrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.rom-account-aftergrid>a{display:grid;gap:7px;padding:18px;border:1px solid var(--rom-line-soft,#29333b);border-radius:13px;background:#10161a;text-decoration:none}.rom-account-aftergrid>a:hover{border-color:var(--rom-teal)}.rom-account-aftergrid strong{font-size:16px;color:var(--rom-bone,#eef2f5)}.rom-account-aftergrid small{color:var(--rom-muted,#8f9aa6);line-height:1.45}.rom-account-subscription-note{margin:0 0 22px}.rom-account-subscription-note strong{font-size:20px;color:var(--rom-bone,#eef2f5)}
@media(max-width:900px){.rom-account-closure-grid,.rom-account-aftergrid{grid-template-columns:1fr 1fr}.rom-account-support-layout{grid-template-columns:1fr}}
@media(max-width:620px){.rom-account-closure-grid,.rom-account-aftergrid{grid-template-columns:1fr}.rom-account-closure-card .rom-btn{width:100%;text-align:center}}


/* v2.4.3 — Support & Diagnostics Center Authority */
.rom-support-center{gap:24px}.rom-support-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rom-support-diagnostic-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.rom-support-diagnostics__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.rom-support-diagnostics__head h2{margin:7px 0 0}.rom-support-safe{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(95,210,218,.32);border-radius:999px;color:var(--rom-teal);font-size:10px;line-height:1.2;text-align:center}.rom-support-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--rom-line-soft);border-radius:10px;overflow:hidden}.rom-support-dl>div{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:10px;padding:10px 12px;border-bottom:1px solid var(--rom-line-soft)}.rom-support-dl>div:nth-child(odd){border-right:1px solid var(--rom-line-soft)}.rom-support-dl>div:nth-last-child(-n+2){border-bottom:0}.rom-support-dl dt{color:var(--rom-muted);font-size:11px}.rom-support-dl dd{margin:0;color:var(--rom-bone);font-size:11px;overflow-wrap:anywhere}.rom-support-report{width:100%;min-height:210px;margin-top:14px;padding:12px;border:1px solid var(--rom-line-soft);border-radius:10px;background:#0b1013;color:#b9c4cc;font:11px/1.55 var(--rom-mono);resize:vertical}.rom-support-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.rom-support-feedback{min-height:18px;margin:8px 0 0!important;color:var(--rom-teal)!important;font-size:12px}.rom-account-closure-card--support .rom-contact__form{margin-top:16px}
@media(max-width:1050px){.rom-support-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rom-support-diagnostic-layout{grid-template-columns:1fr}}
@media(max-width:620px){.rom-support-route-grid,.rom-support-dl{grid-template-columns:1fr}.rom-support-dl>div{grid-template-columns:1fr;gap:3px}.rom-support-dl>div:nth-child(odd){border-right:0}.rom-support-dl>div:nth-last-child(2){border-bottom:1px solid var(--rom-line-soft)}.rom-support-diagnostics__head{flex-direction:column}.rom-support-actions .rom-btn{width:100%;text-align:center}.rom-support-safe{white-space:normal}}

/* v2.5.0 — Product Media, Conversion + Mobile Customer Experience Authority */
/* Logged-in site owners should see the same customer viewport on phones. The
   WordPress front-end admin bar consumes valuable space and can inject plugin
   upsells above ROM's sticky header. Desktop admin access remains unchanged. */
@media (max-width:782px){
  body.admin-bar #wpadminbar{display:none!important}
  html:has(body.admin-bar){margin-top:0!important}
  body.admin-bar .rom-header{top:0!important}
}

/* Account mobile convergence: the horizontal endpoint rail owns navigation;
   suppress theme-added identity chrome that can slide underneath the sticky
   header. The dashboard itself remains the customer identity surface. */
@media (max-width:700px){
  .rom-site.woocommerce-account .woocommerce{margin-top:18px!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation{position:relative;z-index:2;margin-top:0!important;padding-top:0!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation>div:not([class*="menu"]),
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation>p{display:none!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-content{min-width:0;width:100%!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-content>*{max-width:100%;box-sizing:border-box}
  .rom-site.woocommerce-account .woocommerce-MyAccount-content :where(.woocommerce-message,.woocommerce-info,.woocommerce-error){padding:16px!important;font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere}
  .rom-site.woocommerce-account form.login,.rom-site.woocommerce-account form.woocommerce-form-login{padding:20px!important}
  .rom-site.woocommerce-account form.login :where(input,button),.rom-site.woocommerce-account form.woocommerce-form-login :where(input,button){max-width:100%;box-sizing:border-box}
  .rom-site.woocommerce-account .rom-account-sectionhead h1{font-size:clamp(30px,9vw,42px)}
  .rom-site.woocommerce-account .rom-account-sectionhead p{font-size:16px;line-height:1.55}
  .rom-site.woocommerce-account .woocommerce-orders-table td{align-items:center;min-width:0}
  .rom-site.woocommerce-account .woocommerce-orders-table td:before{flex:0 0 34%;min-width:0}
  .rom-site.woocommerce-account .woocommerce-orders-table td>*{min-width:0;max-width:64%;overflow-wrap:anywhere;text-align:right}
  .rom-site.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{align-items:flex-start;flex-wrap:wrap}
  .rom-site.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button{max-width:100%;margin-left:auto!important}
  .rom-account-provider{padding:16px}
}

/* Marketplace detail becomes a media-led conversion page without changing
   package identity, entitlement, or delivery authority. */
.rom-market-detail__proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none}
.rom-market-detail__proof li{padding:10px 12px;border:1px solid var(--rom-line-soft);border-radius:10px;background:#10161a;color:var(--rom-silver);font-size:12px;line-height:1.35}
.rom-market-detail__proof strong{display:block;color:var(--rom-bone);font-size:12px;margin-bottom:2px}
.rom-market-detail__mediahead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:44px 0 14px}
.rom-market-detail__mediahead h2{margin:5px 0 0}.rom-market-detail__mediahead p{margin:0;max-width:480px;color:var(--rom-muted);font-size:13px}
.rom-market-detail__video{overflow:hidden;border:1px solid var(--rom-line-soft);border-radius:14px;background:#080c0f}
.rom-market-detail__video video{display:block;width:100%;height:auto;max-height:720px;background:#080c0f}
.rom-market-detail__shots img{cursor:zoom-in;border:1px solid var(--rom-line-soft);border-radius:12px;transition:transform .18s ease,border-color .18s ease}
.rom-market-detail__shots img:hover{transform:translateY(-2px);border-color:var(--rom-teal)}
.rom-market-detail__install{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:38px 0;padding:20px;border:1px solid var(--rom-line-soft);border-radius:14px;background:linear-gradient(135deg,#11181c,#0f1418)}
.rom-market-detail__install article{padding:12px}.rom-market-detail__install span{font:700 10px/1 var(--rom-mono);letter-spacing:.12em;color:var(--rom-teal)}.rom-market-detail__install strong{display:block;margin:8px 0 4px;color:var(--rom-bone)}.rom-market-detail__install p{margin:0;color:var(--rom-muted);font-size:12px;line-height:1.5}
@media (min-width:901px){.rom-market-detail__buy{position:sticky;top:92px}}
@media (max-width:700px){
  .rom-market-detail__proof,.rom-market-detail__install{grid-template-columns:1fr}
  .rom-market-detail__mediahead{align-items:flex-start;flex-direction:column;margin-top:32px}
  .rom-market-detail__buy .rom-btn{width:100%;justify-content:center}
  .rom-market-detail__hero img{width:100%;height:auto}
  .rom-market-detail__shots img{cursor:default}
}

/* =========================================================================
   v2.5.1 — CUSTOMER NOTIFICATION & RETENTION AUTHORITY
   ========================================================================= */
.rom-retention{display:grid;gap:22px}.rom-retention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rom-retention-panel,.rom-retention-preferences,.rom-retention-shortcut{padding:20px;border:1px solid var(--rom-line-soft);border-radius:14px;background:#11171b}.rom-retention-panel h2,.rom-retention-preferences h2{margin:7px 0 14px}.rom-retention-item{display:grid;gap:4px;padding:13px 0;border-top:1px solid var(--rom-line-soft);text-decoration:none}.rom-retention-item:first-of-type{border-top:0}.rom-retention-item small{font:700 10px/1.2 var(--rom-mono);letter-spacing:.1em;color:var(--rom-teal)}.rom-retention-item strong{color:var(--rom-bone);font-size:14px}.rom-retention-item span,.rom-retention-muted{color:var(--rom-muted);font-size:12px;line-height:1.5}.rom-retention-item:hover strong{color:var(--rom-teal)}.rom-retention-preferences__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:16px}.rom-retention-preferences__head p{max-width:430px;margin:0;color:var(--rom-muted);font-size:12px;line-height:1.5}.rom-retention-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.rom-retention-checks label,.rom-retention-digest{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--rom-line-soft);border-radius:10px;background:#0f1519}.rom-retention-checks input{margin-top:4px;accent-color:var(--rom-teal)}.rom-retention-checks strong,.rom-retention-checks small,.rom-retention-digest strong,.rom-retention-digest small{display:block}.rom-retention-checks strong,.rom-retention-digest strong{color:var(--rom-bone);font-size:13px}.rom-retention-checks small,.rom-retention-digest small{margin-top:3px;color:var(--rom-muted);font-size:11px;line-height:1.45}.rom-retention-digest{align-items:center;justify-content:space-between;margin-bottom:14px}.rom-retention-digest select{min-width:140px}.rom-retention-shortcut{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.rom-retention-shortcut strong{color:var(--rom-bone)}.rom-retention-shortcut .rom-account-textlink{margin:0 0 0 auto}

/* Mobile account shell closure: keep the scrollable account endpoint rail in
   normal document flow so it can never cover the first line of endpoint
   content. Add deliberate separation below identity and rail. */
@media(max-width:700px){
  .rom-site.woocommerce-account .woocommerce{margin-top:22px!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation{position:static!important;display:block!important;margin:0 0 22px!important;padding:0 0 8px!important;overflow-x:auto!important;overflow-y:hidden!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-navigation ul{position:static!important;margin:0!important;padding:0!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-content{position:relative!important;z-index:1!important;margin:0!important;padding:20px!important;overflow:visible!important}
  .rom-site.woocommerce-account .woocommerce-MyAccount-content>.rom-account-sectionhead:first-child,
  .rom-site.woocommerce-account .woocommerce-MyAccount-content>.rom-account-home:first-child,
  .rom-site.woocommerce-account .woocommerce-MyAccount-content>.rom-retention:first-child{padding-top:4px!important}
  .rom-retention-grid,.rom-retention-checks{grid-template-columns:1fr}
  .rom-retention-preferences__head{flex-direction:column;gap:8px}
  .rom-retention-digest{align-items:stretch;flex-direction:column}
  .rom-retention-digest select{width:100%}
  .rom-retention-preferences>.rom-btn{width:100%}
  .rom-retention-shortcut{align-items:flex-start;flex-direction:column}.rom-retention-shortcut .rom-account-textlink{margin-left:0}
}

/* Login provider notices should remain readable without dominating a phone
   viewport. This is presentation only; it does not bypass Wordfence or other
   authentication controls. */
@media(max-width:700px){
  .rom-site.woocommerce-account :where(.woocommerce-error,.woocommerce-info,.woocommerce-message){max-width:100%;font-size:14px!important;line-height:1.5!important;padding:14px 16px!important;border-radius:12px!important}
  .rom-site.woocommerce-account :where(.woocommerce-error,.woocommerce-info,.woocommerce-message) strong{font-size:inherit!important}
}

/* ROM Website v2.6.7 — Tool Media Runtime Rendering Closure */
.rom-v267-runtime-hero{width:min(1180px,calc(100% - 40px));margin:0 auto 44px}.rom-v267-runtime-hero .rom-shot{margin:0}.rom-v267-runtime-hero .rom-shot--bare{border:0;background:transparent;box-shadow:none}.rom-v267-runtime-hero .rom-shot--bare .rom-shot__body{border-radius:18px;overflow:hidden}.rom-v267-runtime-hero .rom-shot__body img,.rom-v267-runtime-hero .rom-shot__body video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.rom-v267-runtime-hero .rom-shot__cap{display:none}@media(max-width:720px){.rom-v267-runtime-hero{width:min(100% - 24px,1180px);margin-bottom:30px}.rom-v267-runtime-hero .rom-shot--bare .rom-shot__body{border-radius:12px}}


/* 2.6.8 — Brand Logo Identity & Media Placeholder Closure
 * Keep the approved ROM app mark small inside missing-media work-order frames.
 * This intentionally overrides .rom-shot__body img { width:100% } for the nested placeholder mark.
 */
.rom-shot__ph .rom-shot__phmark {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  object-fit: contain;
  flex: 0 0 64px;
  opacity: .72;
}
@media (max-width: 600px) {
  .rom-shot__ph .rom-shot__phmark { width: 52px !important; height: 52px !important; max-width: 52px !important; flex-basis: 52px; }
}
