/* Family discovery uses the existing RoyanTex palette and spacing. */
.rt-family-link { color: var(--rt-color-link); text-decoration: underline; text-underline-offset: .2em; }
.rt-family-link:hover { color: var(--rt-color-link-hover); }
.rt-family-discovery { padding: var(--rt-space-3); margin-bottom: var(--rt-space-4); border: 1px solid var(--rt-color-border); border-radius: var(--rt-radius-md); }
.rt-family-discovery h2 { font-size: var(--rt-fs-h3); }
.rt-family-list { display: flex; flex-wrap: wrap; gap: var(--rt-space-3); list-style: none; padding: 0; margin-block: var(--rt-space-3); }
.rt-family-list li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rt-space-2); padding: var(--rt-space-2) var(--rt-space-3); border: 1px solid var(--rt-color-border); border-radius: var(--rt-radius-md); }
.rt-family-list span { color: var(--rt-color-text-secondary); font-size: var(--rt-fs-small); }
.rt-nav__list > .menu-item-has-children { position: relative; }
.rt-nav__list > .menu-item-has-children > a::after { content: '⌄'; margin-inline-start: .4em; }
.rt-nav__list .sub-menu { display: none; position: absolute; inset-inline-start: 0; top: 100%; min-width: 210px; padding: var(--rt-space-2); background: var(--rt-color-surface); border: 1px solid var(--rt-color-border); border-radius: var(--rt-radius-md); box-shadow: var(--rt-shadow-md); z-index: 10; }
.rt-nav__list li:hover > .sub-menu, .rt-nav__list li:focus-within > .sub-menu { display: block; }
.rt-nav__list .sub-menu a { display: block; padding: 12px; }
.rt-mobile-menu__list .sub-menu { padding-inline-start: var(--rt-space-3); margin-block-start: var(--rt-space-2); border-inline-start: 1px solid var(--rt-color-border); }
.rt-mobile-menu__list .sub-menu a { display: block; padding-block: 10px; color: var(--rt-color-link); }
