/* Scoped cream / forest / gold visitor account styles. No template globals. */
.vb-action, .vb-dialog button, .vb-dialog input { font: inherit; box-sizing: border-box; }
.vb-action, .vb-dialog button { cursor: pointer; min-height: 44px; border: 1px solid #8f6f28; border-radius: 8px; padding: 10px 16px; background: #fffdf8; color: #1c261e; line-height: 1.35; white-space: normal; overflow-wrap: anywhere; }
.vb-action:hover, .vb-dialog button:hover { background: #f6f1e6; }
.vb-action:focus-visible, .vb-dialog :focus-visible { outline: 3px solid #8f6f28; outline-offset: 3px; }
.vb-overlay { position: fixed; z-index: 10050; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; background: rgba(12, 27, 18, .64); overscroll-behavior: contain; }
.vb-dialog { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 24px; border: 1px solid #8f6f28; border-radius: 14px; background: #fffdf8; color: #1c261e; box-shadow: 0 24px 80px rgba(0,0,0,.28); font: 15px/1.55 Poppins, system-ui, sans-serif; overflow-wrap: anywhere; }
.vb-dialog h2, .vb-dialog h3 { color: #1c261e; font-family: 'Tenor Sans', Georgia, serif; font-weight: 400; line-height: 1.25; }
.vb-dialog h2 { font-size: 26px; margin: 4px 80px 22px 0; }
.vb-dialog h3 { font-size: 21px; margin: 0 0 12px; }
.vb-dialog p { margin: 12px 0; }
.vb-dialog .vb-close { position: absolute; top: 16px; right: 16px; padding: 8px 12px; }
.vb-dialog form { display: grid; gap: 14px; margin: 20px 0; }
.vb-dialog label { display: grid; gap: 7px; font-weight: 500; }
.vb-dialog input { width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid #7b867d; border-radius: 7px; background: #fff; color: #1c261e; font-size: 16px; }
.vb-dialog button[type=submit], .vb-dialog .vb-choices button { background: #1c3829; color: #fffdf8; border-color: #1c3829; }
.vb-dialog button[type=submit]:hover, .vb-dialog .vb-choices button:hover { background: #2d523c; }
.vb-dialog button:disabled, .vb-dialog input:disabled { opacity: .6; cursor: wait; }
.vb-dialog .vb-choices { display: grid; gap: 10px; }
.vb-dialog .vb-notice { border-top: 1px solid #ddd4bf; padding-top: 14px; color: #5e6a60; font-size: 13px; }
.vb-dialog [role=status] { color: #604919; font-weight: 500; }
.vb-dialog [role=status]:empty { margin: 0; }
.vb-dialog .vb-list { padding: 16px 0; border-top: 1px solid #ddd4bf; }
.vb-dialog .vb-home { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin: 12px 0; }
.vb-dialog .vb-home a { color: #264d37; text-decoration: underline; min-width: 0; }
.vb-dialog .vb-home button { flex-shrink: 0; }
@media (max-width: 440px) {
  .vb-overlay { padding: 10px; }
  .vb-dialog { padding: 18px; max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); }
  .vb-dialog h2 { font-size: 23px; margin-right: 72px; }
  .vb-dialog .vb-close { top: 12px; right: 12px; }
  .vb-dialog .vb-home { flex-wrap: wrap; }
}
