/* 配置下半区使用文档流，自定义数量展开时自然推开后续选项。 */
.v2-purchase { height: auto; min-height: 1078px; overflow: visible; }
.v2-purchase__inner {
    display: grid;
    grid-template-columns: minmax(0, 793px) minmax(0, 387px);
    align-items: stretch;
    gap: 20px;
    height: auto;
    padding: 276px 0 100px;
}
.v2-purchase .v2-purchase-config,
.v2-purchase.is-ip .v2-purchase-config,
.v2-purchase.is-traffic .v2-purchase-config {
    position: relative;
    top: auto;
    left: auto;
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: start;
    gap: 36px 18px;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 248px 28px 40px 26px;
}
.v2-purchase-summary { position: relative; top: auto; left: auto; width: 100%; }
.v2-purchase button.v2-purchase-summary__pay { margin-top: auto; }
.v2-purchase-section-standard,
.v2-purchase-section-traffic { grid-column: 1 / -1; }
.v2-purchase-section-standard:not([style*="none"]),
.v2-purchase-section-traffic:not([style*="none"]),
.v2-purchase-section-duration:not([style*="none"]) {
    display: grid !important;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: start;
    column-gap: 18px;
}
.v2-purchase-section-standard .v2-purchase-label,
.v2-purchase-section-traffic .v2-purchase-label,
.v2-purchase .v2-purchase-label--payment {
    position: static;
    padding-top: 10px;
}
.v2-purchase-validity { position: static; width: 100%; padding-top: 10px; }
.v2-purchase-validity__note { position: static; grid-column: 2; margin: 8px 0 28px; }
.v2-purchase-quantity { display: grid; grid-template-columns: minmax(0, 1fr) 80px; gap: 14px 8px; min-width: 0; }
.v2-purchase .v2-purchase-segmented--daily,
.v2-purchase .v2-purchase-segmented--duration {
    position: static;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
}
.v2-purchase .v2-purchase-segmented--daily button,
.v2-purchase .v2-purchase-segmented--duration button {
    width: auto;
    height: 42px;
    padding: 0 4px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}
.v2-purchase .v2-purchase-segmented button.is-selected {
    border-color: var(--color-brand);
    color: #357b24;
    background: var(--color-brand-soft);
    font-weight: 500;
}
.v2-purchase .v2-purchase-segmented button:hover { border-color: var(--color-brand); }
.v2-purchase .v2-purchase-manual-trigger {
    position: static;
    justify-content: center;
    height: 42px;
    padding: 0 8px;
    border-radius: 6px;
    color: #626b78;
}
.v2-purchase-manual-editor {
    position: static;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 24px;
    width: 100%;
    height: auto;
    padding: 16px 0 0;
    border: 0;
    border-top: 1px solid #edf0f3;
    border-radius: 0;
    background: transparent;
}
.v2-purchase-manual-slider { width: auto; min-width: 0; }
.v2-purchase-manual-input input[type="number"] { width: 112px; height: 40px; }
.v2-purchase-manual-error { position: static; grid-column: 1 / -1; text-align: right; white-space: normal; }
.v2-purchase-section-duration { grid-column: 1 / -1; margin-top: 28px; }
.v2-purchase-expiry { position: static; grid-column: 2; margin-top: 12px; }
.v2-purchase-expiry strong { color: #626b78; }
.v2-purchase-segmented--traffic { position: static; width: 100%; }
.v2-purchase .v2-purchase-payments { position: static; width: 100%; gap: 12px; flex-wrap: wrap; }
.v2-purchase .v2-purchase-payment { flex: 1; min-width: 130px; }
.v2-purchase button:focus-visible { outline: 2px solid #357b24; outline-offset: 3px; }
