* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    background: linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

.buyer-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 24px 14px;
}

.image-wrap {
    width: min(90vw, 420px);
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(20, 72, 130, .12);
}

.image-wrap[hidden] {
    display: none;
}

.main-image {
    display: block;
    width: 100%;
    height: auto;
}

.pay-button {
    width: min(90vw, 420px);
    min-height: 54px;
    padding: 0 20px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #1677ff, #00b7ff);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    font-family: inherit;
    box-shadow: 0 10px 24px rgba(22, 119, 255, .28);
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
    -webkit-tap-highlight-color: transparent;
}

.pay-button:active:not(:disabled) {
    transform: scale(.98);
    box-shadow: 0 6px 16px rgba(22, 119, 255, .22);
}

.pay-button:disabled {
    opacity: .65;
    cursor: not-allowed;
}

@media (max-width: 480px) {
    .buyer-page {
        justify-content: flex-start;
        padding-top: max(24px, env(safe-area-inset-top));
        padding-bottom: max(24px, env(safe-area-inset-bottom));
    }
}
