/* Scoped to the test store's existing order modal. */
.gp-order-auth { display:flex; flex-direction:column; min-height:0; max-height:calc(100dvh - 56px); color:#132d3d; background:#fff; }
.gp-order-auth-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; padding:32px 36px 12px; }
.gp-order-auth-heading h2 { margin:0 40px 10px 0; color:#132d3d; font-size:30px; line-height:1.15; letter-spacing:-.035em; }
.gp-order-auth-heading p { margin:0 0 18px; color:#5d6f78; font-size:16px; line-height:1.5; }
.gp-order-summary-line { margin:0 0 18px; padding:12px 14px; border-radius:10px; background:#edf8f3; color:#234f3d; font-size:14px; font-weight:700; line-height:1.5; }
.gp-order-auth-tabs { display:flex; gap:4px; padding:4px; margin-bottom:18px; border-radius:10px; background:#edf2ef; }
.gp-order-auth-tabs button { flex:1; min-height:44px; padding:10px 8px; border:0; border-radius:7px; background:transparent; color:#566870; font-size:14px; font-weight:700; cursor:pointer; }
.gp-order-auth-tabs button[aria-selected="true"] { background:#fff; color:#08754b; box-shadow:0 2px 7px #122d3b12; }
.gp-order-auth [hidden] { display:none !important; }
.gp-order-auth-form { display:grid; gap:7px; margin:0; padding:0; border:0; }
.gp-order-auth-form > label { margin:4px 0 0; color:#31454f; font-size:14px; font-weight:650; }
.gp-order-auth-form input:not([type="hidden"]):not([type="checkbox"]) { box-sizing:border-box; display:block; width:100%; min-height:46px; margin:0 0 7px; padding:10px 12px; border:1px solid #bfcec8; border-radius:8px; background:#fff; color:#132d3d; font:inherit; font-size:16px; }
.gp-order-auth :focus-visible { outline:3px solid #159d6655; outline-offset:2px; }
.gp-order-forgot { justify-self:end; padding:4px 0; color:#08754b; font-size:14px; font-weight:600; }
.gp-order-auth-form .gp-order-terms { display:flex; gap:9px; align-items:flex-start; margin-top:6px; font-size:13px; line-height:1.5; font-weight:400; }
.gp-order-terms input { flex:none; width:17px; height:17px; margin:2px 0 0; accent-color:#159d66; }
.gp-order-terms a { color:#08754b; text-decoration:underline; }
.gp-order-auth-hint { margin:16px 0 0; color:#60747c; font-size:13px; line-height:1.5; }
.gp-order-auth-footer { flex:none; padding:14px 36px 22px; border-top:1px solid #e3ece7; background:#fff; }
.gp-order-auth-footer button { width:100%; min-height:50px; padding:12px 18px; border:0; border-radius:9px; background:#159d66; color:#fff; font-size:16px; font-weight:750; cursor:pointer; }
.gp-order-auth-footer button:disabled { opacity:.6; cursor:wait; }
.gp-order-auth-message { margin:0 0 16px; padding:12px; border-radius:8px; background:#fff0ec; color:#952e22; font-size:14px; line-height:1.5; }
.gp-plan-modal.gp-order-auth-open .gp-plan-modal-dialog { width:min(520px,100%); max-height:none; }
.gp-plan-modal.gp-order-auth-open .gp-plan-modal-content { max-height:none; overflow:hidden; scrollbar-gutter:auto; }
.gp-plan-modal.gp-order-auth-open .gp-single-wrap { padding:0; }
.gp-plan-modal .gp-plan-modal-backdrop,
.gp-plan-modal .gp-plan-modal-backdrop:hover,
.gp-plan-modal .gp-plan-modal-backdrop:focus { border:0; border-radius:0; background:rgba(7,18,28,.7); }
.gp-plan-modal .gp-plan-modal-close { padding:0; min-width:0; min-height:0; font-size:0; line-height:1; color:#132d3d; }
.gp-plan-modal .gp-plan-modal-close::before,
.gp-plan-modal .gp-plan-modal-close::after { content:""; position:absolute; top:50%; left:50%; width:16px; height:2px; border-radius:1px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
.gp-plan-modal .gp-plan-modal-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.gp-plan-modal .gp-plan-modal-close:hover,
.gp-plan-modal .gp-plan-modal-close:focus { color:#132d3d; background:#f4f8f6; }
.gp-plan-modal.gp-order-auth-open .gp-plan-modal-close { width:36px; height:36px; top:20px; right:20px; font-size:0; }
.gp-account-auth-card { width:100%; max-width:520px; justify-self:end; overflow:hidden; border:1px solid #e1e8e5; border-radius:22px; background:#fff; box-shadow:0 24px 70px rgba(6,31,51,.13); }
.gp-account-auth-card .gp-order-auth { max-height:none; }
.gp-account-auth-card .gp-order-auth-scroll { overflow:visible; padding-bottom:22px; }
.gp-account-auth-card .gp-order-auth-heading h2 { margin-right:0; }
.gp-account-auth-card .gp-order-auth-form .password-input { display:block; width:100%; }
@media(max-width:1024px) { .gp-account-auth-card { justify-self:center; } }
.gp-wizard-plan-summary.gp-order-summary-compact { display:block; padding:12px 14px; font-size:14px; line-height:1.5; font-weight:700; color:#234f3d; }
@media(max-width:600px) {
  .gp-plan-modal.gp-order-auth-open { padding:14px; align-items:center; top:var(--gp-order-viewport-top, 0px); bottom:auto; height:var(--gp-order-viewport, 100dvh); box-sizing:border-box; }
  .gp-order-auth { max-height:calc(var(--gp-order-viewport, 100dvh) - 30px); }
  .gp-order-auth-scroll { padding:24px 20px 12px; }
  .gp-order-auth-heading h2 { margin-right:32px; font-size:27px; }
  .gp-order-auth-heading p { font-size:14px; }
  .gp-order-auth-footer { padding:12px 20px max(16px, env(safe-area-inset-bottom)); }
  .gp-plan-modal.gp-order-auth-open .gp-plan-modal-close { top:14px; right:14px; }
  .gp-order-summary-line { padding:10px 11px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .gp-plan-modal,.gp-plan-modal-dialog { transition:none; } }
