/* RoamAmerica bar and footer around the road-rules and interstates sections (app/Network.php). */
.ra-wrap { max-width: 1180px; margin: 0 auto; padding: 0 16px; }
.ra-bar { background: #150f24; color: #f4f1ff; border-bottom: 1px solid #2c2442; font-family: Inter, system-ui, sans-serif; }
.ra-bar-row { display: flex; align-items: center; gap: 20px; min-height: 58px; }
.ra-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.2rem; letter-spacing: -.02em; flex: none; }
.ra-logo b { background: linear-gradient(120deg, #ff5a36 0%, #ff2e7e 45%, #b48cff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 800; }
.ra-logo-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(120deg, #ff5a36 0%, #ff2e7e 45%, #7b2ff7 100%); color: #fff; }
.ra-nav { display: flex; gap: 2px; margin-left: auto; overflow-x: auto; scrollbar-width: none; }
.ra-nav::-webkit-scrollbar { display: none; }
.ra-nav a { padding: 8px 12px; border-radius: 999px; color: #d8d1ea; text-decoration: none; font-weight: 600; font-size: .95rem; white-space: nowrap; }
.ra-nav a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.ra-nav a[aria-current="page"] { background: #fff; color: #150f24; }
@media (max-width: 640px) {
  .ra-bar-row { flex-wrap: wrap; gap: 6px; padding: 8px 16px; }
  .ra-nav { margin-left: 0; width: 100%; }
}

.ra-footer { background: #150f24; color: #d8d1ea; padding: 56px 0 24px; font-family: Inter, system-ui, sans-serif; font-size: .95rem; }
.ra-footer-grid { display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.ra-footer-brand { grid-column: 1 / -1; max-width: 420px; }
@media (min-width: 900px) { .ra-footer-brand { grid-column: auto; } }
.ra-footer-brand p { margin: 12px 0 0; color: #a59fbf; line-height: 1.6; }
.ra-footer-head { color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; margin: 0 0 12px; }
.ra-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ra-footer a { color: #d8d1ea; text-decoration: none; }
.ra-footer a:hover { color: #fff; text-decoration: underline; }
.ra-footer-bottom { border-top: 1px solid #2c2442; margin-top: 36px; padding-top: 18px; font-size: .85rem; color: #9d94b8; display: grid; gap: 6px; }
.ra-footer-bottom p { margin: 0; }

/* "Travel ideas" block on module state pages */
.ra-travel { margin: 40px 0; }
.ra-travel ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.ra-travel a { display: grid; gap: 4px; height: 100%; padding: 16px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .04); color: inherit; text-decoration: none; }
.ra-travel a:hover { border-color: #ff5a36; }
.ra-travel small { color: #ff8a6b; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .72rem; }
.ra-travel b { font-size: 1.05rem; }
.ra-travel span { opacity: .8; font-size: .92rem; line-height: 1.5; }
