/* Site-owned mobile shell. Existing checkout and support handlers stay in place. */
.vf-mobile-dock { display: none; }
@media (max-width: 720px) {
  html.vf-mobile-ui { scroll-padding-bottom: 106px; }
  html.vf-mobile-ui body { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  html.vf-mobile-ui .vf-mobile-dock {
    display: block; position: fixed; z-index: 2147482998;
    left: 12px; right: 12px; bottom: max(10px, env(safe-area-inset-bottom, 0px));
    height: 66px; border: 1px solid #aca2e433; border-radius: 23px;
    background: #12121eeF; backdrop-filter: blur(18px);
    box-shadow: 0 8px 35px #0006, inset 0 1px 0 #ffffff09;
    pointer-events: none;
  }
  html.vf-mobile-ui .vf-buy-flyout,
  html.vf-mobile-ui[lang^='es'] .vf-buy-flyout {
    left: calc(50% + 3px); right: 21px;
    bottom: calc(max(10px, env(safe-area-inset-bottom, 0px)) + 9px);
    width: calc(50% - 24px); height: 48px; min-height: 48px; padding: 0 10px;
    border: 1px solid #ffffff19; border-radius: 15px;
    background: linear-gradient(115deg, #4d73ff, #9658e7 68%, #bc4ecb);
    color: #fff; box-shadow: 0 3px 13px #6354d52e;
    font: 650 14px/1.15 var(--font-display, system-ui), sans-serif;
    letter-spacing: 0; text-transform: none; transition: filter .15s ease;
    visibility: visible; pointer-events: auto;
  }
  html.vf-mobile-ui .garden-at-buy .vf-buy-flyout:not(:focus-visible) { visibility: visible; pointer-events: auto; }
  html.vf-mobile-ui .vf-buy-flyout:hover { filter: brightness(1.1); }
  html.vf-mobile-ui .garden-motion { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); width: 34px; height: 34px; opacity: .8; }
  /* Sharing belongs to the article, not a second fixed toolbar over this dock. */
  html.vf-mobile-ui .share-rail { position: static; transform: none; width: fit-content; max-width: calc(100% - 28px); margin: 20px auto; flex-direction: row; }
  html.vf-mobile-ui .share-rail-links { flex-direction: row; flex-wrap: wrap; }
  html.vf-mobile-ui .share-rail-label { writing-mode: horizontal-tb; transform: none; }
  html.vf-mobile-ui.vf-mobile-overlay .vf-mobile-dock,
  html.vf-mobile-ui.vf-mobile-overlay .vf-buy-flyout,
  html.vf-mobile-ui.vf-mobile-overlay .garden-motion,
  html.vf-mobile-ui.vf-mobile-other-dialog .vf-mobile-dock,
  html.vf-mobile-ui.vf-mobile-other-dialog .vf-buy-flyout,
  html.vf-mobile-ui.vf-mobile-other-dialog .garden-motion,
  html.vf-mobile-ui.vf-mobile-keyboard .vf-mobile-dock,
  html.vf-mobile-ui.vf-mobile-keyboard .vf-buy-flyout { visibility: hidden; pointer-events: none; }
  html.vf-mobile-ui .vf-buy-modal {
    inset: auto; left: var(--vf-view-left, 0px); top: var(--vf-view-top, 0px);
    width: var(--vf-view-width, 100%); height: var(--vf-view-height, 100dvh);
    padding: 0; align-items: stretch; overscroll-behavior: none;
  }
  html.vf-mobile-ui .vf-buy-box {
    width: 100%; height: 100%; max-height: none; min-height: 0;
    display: grid; grid-template-rows: auto auto minmax(0, 1fr);
    padding: max(20px, env(safe-area-inset-top, 0px)) 0 0;
    border: 0; border-radius: 0; overflow: hidden; background: #10111c;
  }
  html.vf-mobile-ui .vf-buy-heading { grid-row: 1; margin: 0; padding: 3px 60px 19px 20px; text-align: left; font-size: 1.35rem; line-height: 1.25; }
  html.vf-mobile-ui .vf-buy-close { position: absolute; top: max(10px, env(safe-area-inset-top, 0px)); right: 10px; float: none; margin: 0; width: 44px; height: 44px; border: 1px solid #ffffff15; border-radius: 50%; background: #ffffff08; color: #eeeaf9; }
  html.vf-mobile-ui .vf-buy-tabs { grid-row: 2; width: calc(100% - 24px); margin: 0 12px 14px; }
  html.vf-mobile-ui .vf-buy-tab { min-width: 0; flex: 1 1 0; padding: 9px 4px; font-size: .76rem; }
  html.vf-mobile-ui .vf-buy-grid { grid-row: 3; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; padding: 0 12px max(24px, env(safe-area-inset-bottom, 0px)); scroll-padding: 18px; }
  html.vf-mobile-ui .vf-buy-actions { grid-template-columns: 1fr; }
  html.vf-mobile-ui .vf-buy-actions .btn { min-height: 50px; font-size: .95rem; border-radius: 12px; }
  html.vf-mobile-ui .vf-code-input { font-size: 16px; min-height: 48px; }
  html.vf-mobile-ui .vf-code-apply { min-height: 46px; }
  html.vf-mobile-ui .vf-buy-creator { min-height: 44px; }
  html.vf-mobile-ui .vf-buy-tab:focus-visible { outline-offset: -3px; }
  html.vf-mobile-ui.vf-mobile-keyboard .vf-buy-box { padding-top: 8px; }
  html.vf-mobile-ui.vf-mobile-keyboard .vf-buy-heading { padding-bottom: 13px; }
  html.vf-mobile-ui.vf-mobile-keyboard .vf-buy-close { top: 4px; }
}
