/* Public mobile menu (drawer, site links only) + mobile avatar account popover. Partial: src/Views/partials/gp-drawer.php. Tokens only, petrol accent, no gradients. 2026-10-18 */
.gp-dr { overflow: hidden; overscroll-behavior: contain; height: 100dvh; }
.gp-dr:not([hidden]) { animation: gpDrIn .2s ease-out; }
@keyframes gpDrIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.gp-dr__top { flex: none; background: var(--g-surface); }
.gp-dr__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 8px var(--gp-pad) calc(24px + env(safe-area-inset-bottom, 0px)); }
.gp-dr__foot { flex: none; display: grid; gap: 8px; padding: 12px var(--gp-pad) calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--g-line); background: var(--g-surface); }
.gp-dr__foot .gp-btn { min-height: 48px; width: 100%; }
.gp-dr__group { display: flex; flex-direction: column; padding-top: 16px; margin-inline: -12px; }
.gp-dr__label { margin: 0 0 4px; padding-inline: 12px; font-size: 13px; font-weight: 600; color: var(--g-ink-3); }
.gp-dr .gp-dr__row { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 0 12px; margin: 0; font-size: 17px; font-weight: 500; line-height: 1.3; color: var(--g-ink) !important; text-decoration: none; border-radius: var(--g-radius-sm); }
.gp-dr .gp-dr__row:hover { background: var(--g-bg, #FAF9F7); }
.gp-dr .gp-dr__row[aria-current="page"] { background: var(--g-accent-tint, #E8EEF0); color: var(--g-accent) !important; font-weight: 600; }
@media (min-width: 600px) { .gp-dr__body, .gp-dr__foot { padding-inline: max(var(--gp-pad), calc((100% - 560px) / 2)); } }

/* Account popover: same shared component (g_account_menu) on desktop and mobile; 0.2s open */
.g-acct-pop:not([hidden]) { animation: gpDrIn .2s ease-out; }
.gp-av-btn { display: none; flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: var(--g-accent); color: #fff; font-weight: 700; font-size: 15px; line-height: 36px; text-align: center; cursor: pointer; overflow: hidden; -webkit-appearance: none; appearance: none; }
.gp-av-btn img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gp-av-btn[aria-expanded="true"] { box-shadow: 0 0 0 2px var(--g-surface), 0 0 0 4px var(--g-accent); }
.gp-av-btn:focus-visible { outline: 2px solid var(--g-accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .gp-dr:not([hidden]), .g-acct-pop:not([hidden]) { animation: none; } }
@media (max-width: 960px) {
  .gp-header__inner { position: relative; }
  .gp-header .gp-actions.gp-actions--in { display: flex; margin-inline-start: auto; }
  .gp-actions--in > .gp-btn, .gp-actions--in #gpAccountBtn { display: none; }
  .gp-actions--in .gp-account { position: static; }
  .gp-av-btn { display: block; }
  .gp-actions--in + .gp-burger { margin-inline-start: 0; }
  .gp-actions--in .g-acct-pop { inset-inline-end: 12px; top: calc(100% + 4px); width: min(320px, calc(100vw - 24px)); max-height: calc(100dvh - var(--gp-header-h) - 16px); overflow-y: auto; box-shadow: 0 8px 24px rgba(17, 24, 39, .12); }
}
