/* Shared site chrome: SiteHeader + SiteFooter + ConsentBanner.
   Served as a static /public asset (linked from every layout head) so Astro's
   CSS pipeline can never drop it. All classes are rm-* prefixed and use no CSS
   custom properties, so this file is self-contained and order-independent. */

/* ---- SiteHeader ---- */
.rm-header { background: #000; border-bottom: 1px solid #1A1A1A; }
.rm-hwrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; min-height: 62px;
            display: flex; align-items: center; gap: 20px; }
.rm-brand { display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.rm-logo { height: 32px; width: auto; display: block; }
.rm-nav { display: flex; gap: 22px; margin-left: 14px; }
.rm-nav a { color: #9A9A9A; font-size: 14.5px; text-decoration: none; }
.rm-nav a:hover, .rm-nav a.on { color: #F2F2F2; text-decoration: none; }
.rm-cta { margin-left: auto; background: #FF6A00; color: #000;
          font-weight: 700; font-size: 13.5px; padding: 9px 16px; border-radius: 12px;
          text-decoration: none; white-space: nowrap; }
.rm-cta:hover { filter: brightness(1.05); text-decoration: none; }

.rm-burger { display: none; }

@media (max-width: 820px) {
  .rm-hwrap { flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; gap: 10px 14px; }
  .rm-cta { order: 1; }
  .rm-burger { order: 2; display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
               width: 44px; height: 40px; padding: 0 10px; background: transparent;
               border: 1px solid #2A2A2A; border-radius: 9px; cursor: pointer; }
  .rm-burger span { display: block; width: 100%; height: 2px; background: #F2F2F2; border-radius: 2px;
                    transition: transform .2s ease, opacity .2s ease; }
  .rm-header.open .rm-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .rm-header.open .rm-burger span:nth-child(2) { opacity: 0; }
  .rm-header.open .rm-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .rm-nav { order: 3; width: 100%; margin-left: 0; flex-direction: column; gap: 0; display: none; }
  .rm-header.open .rm-nav { display: flex; }
  .rm-nav a { font-size: 16px; padding: 13px 4px; border-top: 1px solid rgba(255,255,255,.09); }
  .rm-nav a:first-child { border-top: none; }
}
@media (prefers-reduced-motion: reduce) { .rm-burger span { transition: none; } }

/* ---- SiteFooter ---- */
.rm-footer { background: #000; color: #9A9A9A; border-top: 1px solid #1A1A1A; }
.rm-fwrap { max-width: 1120px; margin: 0 auto; padding: 50px 24px 30px;
            display: grid; grid-template-columns: 1.9fr 1fr 1fr 1fr; gap: 30px; }
.rm-fbrand .rm-brand { display: inline-flex; align-items: center; text-decoration: none; }
.rm-fbrand .rm-logo { height: 38px; width: auto; display: block; }
.rm-fbrand p { font-size: 14px; line-height: 1.65; color: #9A9A9A; margin: 14px 0 0; max-width: 38ch; }
.rm-loc { font-size: 13px; }
.rm-loc a { color: #9A9A9A; text-decoration: none; }
.rm-loc a:hover { color: #FF6A00; }
.rm-fcol { display: flex; flex-direction: column; }
.rm-fcol h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #F2F2F2; margin: 0 0 12px; }
.rm-fcol a { color: #9A9A9A; font-size: 14px; text-decoration: none; padding: 5px 0; }
.rm-fcol a:hover { color: #FF6A00; text-decoration: none; }
.rm-fbottom { max-width: 1120px; margin: 0 auto; padding: 18px 24px;
              border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between;
              align-items: center; gap: 14px; flex-wrap: wrap; font-size: 13px; color: #6f6f6f; }
.rm-fblegal a { color: #9A9A9A; text-decoration: none; margin-left: 18px; }
.rm-fblegal a:hover { color: #F2F2F2; }
@media (max-width: 820px) {
  .rm-fwrap { grid-template-columns: 1fr 1fr; }
  .rm-fbrand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .rm-fwrap { grid-template-columns: 1fr; gap: 26px; }
}

/* ---- ConsentBanner ---- */
.rm-cookiebar{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:36rem;margin-inline:auto;background:#1A1A1A;border:1px solid #2A2A2A;border-radius:14px;padding:1rem 1.1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:60;box-shadow:0 12px 40px rgba(0,0,0,.55)}
.rm-cookiebar[hidden]{display:none}
.rm-cookiebar p{margin:0;color:#9A9A9A;font-size:.85rem;flex:1;min-width:12rem;line-height:1.5}
.rm-cookiebtns{display:flex;gap:.5rem}
.rm-btn{padding:.5rem 1rem;font-size:.85rem;border-radius:8px;font-weight:600;cursor:pointer;border:1px solid transparent;-webkit-appearance:none;appearance:none}
.rm-primary{background:#FF6A00;color:#000;border-color:#FF6A00}
.rm-primary:hover{filter:brightness(1.05)}
.rm-ghost{background:transparent;color:#9A9A9A;border-color:#2A2A2A}
.rm-ghost:hover{color:#F2F2F2}
