/* rotaflow-child header + footer chrome (Phase 6.5 §C, Option B). */
.top-bar { background: #1a1a1a; color: #fff; font-size: 0.85rem; }
.top-bar-inner { max-width: 1280px; margin: 0 auto; padding: 0.4rem 1.5rem; display: flex; justify-content: flex-end; }
.top-bar-menu { list-style: none; display: flex; gap: 1.5rem; margin: 0; padding: 0; }
.top-bar-menu a { color: #fff; text-decoration: none; }
.top-bar-menu a:hover { text-decoration: underline; }

.header-main { background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,0.08); }
.header-inner { max-width: 1280px; margin: 0 auto; padding: 1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-branding img { max-height: 50px; width: auto; }
.site-title { font-size: 1.25rem; font-weight: 700; text-decoration: none; color: inherit; }

.primary-menu { list-style: none; display: flex; gap: 1.25rem; margin: 0; padding: 0; align-items: center; }
.primary-menu > li { position: relative; }
.primary-menu a { text-decoration: none; color: #1a1a1a; font-weight: 500; }
.primary-menu a:hover { color: #c00; }
.primary-menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; background: #fff; min-width: 240px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 0.5rem 0; list-style: none; margin: 0; z-index: 100; }
.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu { display: block; }
.primary-menu .sub-menu li { padding: 0; }
.primary-menu .sub-menu a { display: block; padding: 0.5rem 1rem; }

.site-footer { background: #f4f4f4; padding: 2rem 1.5rem; margin-top: 3rem; }
.footer-inner { max-width: 1280px; margin: 0 auto; }
.footer-menu { list-style: none; display: flex; gap: 1.5rem; margin: 0 0 1rem; padding: 0; flex-wrap: wrap; }
.footer-menu a { color: #1a1a1a; text-decoration: none; }
.footer-meta { color: #555; font-size: 0.85rem; }

@media (max-width: 768px) {
  .header-inner { flex-direction: column; align-items: flex-start; }
  .primary-menu { flex-wrap: wrap; }
  .primary-menu .sub-menu { position: static; box-shadow: none; min-width: 0; }
}
