/* Shared public-only CTA. No desktop, private dashboard or auth-flow changes. */
.rp-mobile-guest-login { display: none; }

@media (max-width: 1100px) {
    .rp-guest-entry-header .rp-mobile-guest-login {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 8px 12px;
        border: 1px solid #cbd8eb;
        border-radius: 8px;
        background: #f2f6fd;
        color: #14243d;
        font: 600 12px/1.25 "RP Onest", "Onest", "Segoe UI", sans-serif;
        text-decoration: none;
        white-space: nowrap;
        box-sizing: border-box;
    }
    .rp-guest-entry-header .rp-mobile-guest-login:hover { background: #e7effc; border-color: #97b5e8; }
    .rp-guest-entry-header .rp-mobile-guest-login:focus-visible { outline: 2px solid #256bff; outline-offset: 3px; }
    .public-premium .rp-guest-entry-header { column-gap: 8px; }
    .public-premium .rp-guest-entry-header .rp-mobile-guest-login { margin-inline-start: auto; }
    .public-premium .rp-guest-entry-header .rp-nav-toggle { margin: 0; }
    .rp-guest-entry-header.page-header .header-inner {
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-areas: "brand guest actions";
        gap: 10px;
    }
    .rp-guest-entry-header.page-header .brand { grid-area: brand; }
    .rp-guest-entry-header.page-header .header-title { display: none; }
    .rp-guest-entry-header.page-header .rp-mobile-guest-login { grid-area: guest; }
    .rp-guest-entry-header.page-header .header-actions { grid-area: actions; }
}

@media (max-width: 900px) {
    .rp-guest-entry-header.page-header .desktop-lang-switch { display: none; }
    .rp-guest-entry-header.page-header .mobile-lang-menu { display: block; }
    .rp-guest-entry-header.page-header .mobile-lang-menu summary {
        display: flex; align-items: center; gap: 5px; min-height: 44px; padding: 0 8px;
        border: 1px solid #cbd8eb; border-radius: 8px; background: #fff;
        color: #14243d; font-size: 12px; font-weight: 600; list-style: none; cursor: pointer;
    }
    .rp-guest-entry-header.page-header .mobile-lang-menu summary::-webkit-details-marker { display: none; }
    .rp-guest-entry-header.page-header .mobile-lang-menu summary img { width: 17px; height: 17px; object-fit: cover; border-radius: 50%; }
    .rp-guest-entry-header.page-header .mobile-lang-options {
        position: absolute; z-index: 20; top: calc(100% + 6px); inset-inline-end: 0;
        display: grid; gap: 5px; min-width: 118px; padding: 7px;
        background: #fff; border: 1px solid #cbd8eb; border-radius: 8px;
    }
    .rp-guest-entry-header.page-header .mobile-lang-options .lang-btn { width: 100%; justify-content: flex-start; }
    .rp-guest-entry-header.page-header .support-link small,
    .rp-guest-entry-header.page-header .support-action-desktop { display: none; }
    .rp-guest-entry-header.page-header .support-action-mobile { display: block; }
}

@media (max-width: 767px) {
    .public-premium .rp-guest-entry-header .rp-brand { flex: 0 1 clamp(104px, 31vw, 146px); min-width: 0; }
    .public-premium .rp-guest-entry-header .rp-brand img { width: 100%; height: auto; }
    .public-premium .rp-guest-entry-header .rp-nav-toggle { gap: 6px; padding: 8px; font-size: 12px; }
    .public-premium .rp-guest-entry-header .rp-nav-toggle svg { width: 18px; height: 18px; }
    .rp-guest-entry-header .rp-mobile-guest-login { padding-inline: 10px; }
    .rp-guest-entry-header.page-header .header-inner { padding-inline: 12px; gap: 6px; }
    .rp-guest-entry-header.page-header .brand { gap: 4px; }
    .rp-guest-entry-header.page-header .brand img { width: 28px; max-width: 28px; height: 28px; }
    .rp-guest-entry-header.page-header .brand-name { font-size: 12px; }
    .rp-guest-entry-header.page-header .header-actions { gap: 4px; }
    .rp-guest-entry-header.page-header .mobile-lang-menu summary { min-height: 44px; padding-inline: 6px; gap: 3px; }
    .rp-guest-entry-header.page-header .header-separator { display: none; }
    .rp-guest-entry-header.page-header .support-link { min-width: 44px; min-height: 44px; justify-content: center; }
    .rp-guest-entry-header.page-header .support-link svg { width: 24px; height: 24px; flex-basis: 24px; }
    .rp-guest-entry-header.page-header .support-link > span { display: none; }
}

@media (max-width: 359px) {
    .public-premium .rp-guest-entry-header { column-gap: 6px; }
    .public-premium .rp-guest-entry-header .rp-brand { flex-basis: 92px; }
    .rp-guest-entry-header.page-header .brand-name { display: none; }
}
