/*
 * Payism V3 website: account shell, account pages and auth (lane shop-b).
 * design/account/*_v3.png. Needs buy-account-kit.css. Scoped to .v3b-acct and .v3b-auth.
 */

/* ---------- shell: 3-column side nav + 9-column content ---------- */
.v3b-shell { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
.v3b-shell__nav { position: sticky; top: 96px; }
.v3b-shell__main { min-width: 0; }
.v3b-back { display: none; }
@media (max-width: 1199.98px) { .v3b-shell { grid-template-columns: 260px minmax(0, 1fr); gap: 24px; } }
@media (max-width: 991.98px) {
    .v3b-shell { grid-template-columns: 1fr; }
    .v3b-shell__nav { position: static; display: none; order: 2; }
    .v3b-shell__nav:has(.v3b-nav--home) { display: block; }
    .v3b-acct .v3b-crumb { display: none; }
    .v3b-back { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-weight: 600; margin-bottom: 4px; }
}

/* side nav card */
.v3b-nav { background: #fff; border-radius: 20px; box-shadow: var(--v3-shadow-1); padding: 20px 16px; }
.v3b-nav__me { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 4px 8px 16px; border-bottom: 1px solid var(--v3-line); }
.v3b-avatar { position: relative; width: 72px; height: 72px; border-radius: 50%; background: var(--v3-brand-100); color: var(--v3-brand-700); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 24px; overflow: hidden; flex: none; }
.v3b-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v3b-nav__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v3b-nav__who strong { font-size: 17px; line-height: 24px; }
.v3b-nav__who a { font-weight: 600; }
.v3b-nav__group { padding: 12px 0 8px; border-bottom: 1px solid var(--v3-line); }
.v3b-nav__title { font-size: 13px; font-weight: 600; color: var(--v3-muted); padding: 0 12px 4px; }
.v3b-nav ul { list-style: none; margin: 0; padding: 0; }
.v3b-nav .v3b-nav__link { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: 12px; color: var(--v3-ink) !important; font-size: 15px; font-weight: 500; text-decoration: none !important; }
.v3b-nav .v3b-nav__link .v3x-ico { color: var(--v3-ink-2); }
.v3b-nav .v3b-nav__link:hover { background: var(--v3-brand-50); }
.v3b-nav .v3b-nav__link.is-active { background: var(--v3-brand-50); color: var(--v3-brand-700) !important; font-weight: 700; }
.v3b-nav .v3b-nav__link.is-active::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 3px; background: var(--v3-brand-600); }
.v3b-nav .v3b-nav__link.is-active .v3x-ico { color: var(--v3-brand-600); }
.v3b-nav__link > span:first-of-type { flex: 1; }
.v3b-nav__badge { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--v3-brand-600); color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.v3b-nav__chev { display: none; color: var(--v3-muted) !important; }
.v3b-nav__group--more .v3b-nav__link { font-size: 14px; min-height: 40px; }
.v3b-nav__retail { display: flex; gap: 12px; align-items: flex-start; margin: 16px 0 8px; padding: 16px; border-radius: 16px; background: var(--v3-brand-50); border: 1px solid var(--v3-brand-100); color: var(--v3-ink) !important; text-decoration: none !important; }
.v3b-nav__retail strong { display: block; font-size: 15px; }
.v3b-nav__retail-cta { color: var(--v3-brand-600); font-weight: 600; display: block; margin-top: 4px; }
.v3b-nav__foot { padding-top: 8px; }
.v3b-nav .v3b-nav__link--danger { color: var(--v3-error) !important; font-size: 14px; }
.v3b-nav .v3b-nav__link--danger .v3x-ico { color: var(--v3-error); }
@media (max-width: 991.98px) {
    .v3b-nav { padding: 12px; }
    .v3b-nav__me { flex-direction: row; text-align: left; }
    .v3b-nav__chev { display: inline-block; }
    .v3b-nav .v3b-nav__link { min-height: 52px; }
}

/* page heads inside the shell */
.v3b-shell__main > .v3b-head .v3b-h1, .v3b-dash .v3b-h1 { font-size: 36px; }
@media (max-width: 767.98px) { .v3b-dash .v3b-h1 { font-size: 26px; } }

/* ---------- overview ---------- */
.v3b-dash > * + * { margin-top: 16px; }
.v3b-dash .v3b-card + .v3b-card { margin-top: 16px; }
.v3b-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.v3b-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin: 0 !important; color: var(--v3-ink) !important; text-decoration: none !important; transition: box-shadow .15s, transform .15s; }
a.v3b-tile:hover { box-shadow: var(--v3-shadow-2); transform: translateY(-2px); }
.v3b-tile .v3b-well { margin-bottom: 10px; }
.v3b-tile__num { font-size: 26px; line-height: 32px; font-weight: 800; }
.v3b-tile__label { color: var(--v3-muted); font-size: 15px; }
.v3b-tile__link { color: var(--v3-brand-600); font-weight: 600; font-size: 14px; margin-top: 8px; }
.v3b-linkbtn { background: none; border: 0; padding: 0; color: var(--v3-brand-600); font-weight: 600; cursor: pointer; font-family: var(--v3-font); text-align: left; min-height: 32px; }
@media (max-width: 1199.98px) { .v3b-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .v3b-tiles { gap: 12px; } .v3b-tile__num { font-size: 20px; line-height: 26px; } }

.v3b-arriving__body { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: 16px; }
.v3b-arriving__pics { display: flex; gap: 12px; }
.v3b-arriving__info { min-width: 0; }
.v3b-arriving__cta { display: flex; flex-direction: column; gap: 4px; align-items: stretch; align-self: start; }
@media (max-width: 1199.98px) { .v3b-arriving__body { grid-template-columns: 1fr; } .v3b-arriving__cta { flex-direction: row; } }

.v3b-orow { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--v3-line); }
.v3b-orow:first-of-type { border-top: 0; }
.v3b-orow__amt { min-width: 90px; text-align: right; }
@media (max-width: 767.98px) {
    .v3b-orow { grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px 12px; }
    .v3b-orow > .v3b-thumb { grid-row: span 2; }
    .v3b-orow__main { grid-column: 2 / 4; }
    .v3b-orow .v3b-pill { grid-column: 2; justify-self: start; }
    .v3b-orow__amt { grid-column: 3; min-width: 0; }
    /* the row name already links to the order; the phone keeps the row compact */
    .v3b-orow__act { display: none !important; }
}

.v3b-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.v3b-two > .v3b-card { margin: 0 !important; }
@media (max-width: 767.98px) { .v3b-two { grid-template-columns: 1fr; gap: 12px; } }
.v3b-addr { margin: 12px 0 !important; color: var(--v3-ink-2); }
.v3b-bignum { font-size: 36px; line-height: 44px; font-weight: 800; color: var(--v3-success); margin: 12px 0 4px; }
.v3b-bignum span { font-size: 18px; font-weight: 600; }
.v3b-mt { margin-top: 32px !important; }
.v3b-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.v3b-quick__item { display: flex; align-items: center; gap: 12px; margin: 0 !important; padding: 16px; color: var(--v3-ink) !important; font-weight: 600; font-size: 15px; text-decoration: none !important; }
.v3b-quick__item > .v3x-ico:last-child { margin-left: auto; color: var(--v3-muted); }
@media (max-width: 1199.98px) { .v3b-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .v3b-quick { grid-template-columns: 1fr; gap: 8px; } }

.v3b-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 64px) / 5); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 16px 2px 8px; }
.v3b-rail__item { scroll-snap-align: start; min-width: 0; }
@media (max-width: 1199.98px) { .v3b-rail { grid-auto-columns: calc((100% - 32px) / 3); } }
@media (max-width: 767.98px) { .v3b-rail { grid-auto-columns: 46%; gap: 12px; } }
.v3b-empty--sm { padding: 24px; }

/* ---------- legacy account page content restyled inside the shell ---------- */
.v3b-shell__main .card { border: 0 !important; border-radius: 20px !important; box-shadow: var(--v3-shadow-1) !important; background: #fff; overflow: hidden; }
.v3b-shell__main .card + .card { margin-top: 16px; }
.v3b-shell__main .card-header { background: #fff !important; border-bottom: 1px solid var(--v3-line) !important; padding: 18px 24px !important; }
.v3b-shell__main .card-header h5, .v3b-shell__main .card-header .h5, .v3b-shell__main .card-header h6 { font-size: 18px !important; font-weight: 700 !important; color: var(--v3-ink); margin: 0; }
.v3b-shell__main .card-body { padding: 20px 24px !important; }
.v3b-shell__main h1, .v3b-shell__main .h1, .v3b-shell__main .payism-dashboard-title { font-family: var(--v3-font); font-weight: 800; color: var(--v3-ink); }
.v3b-shell__main .btn { border-radius: 12px !important; font-weight: 600; font-family: var(--v3-font); min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.v3b-shell__main .btn-sm { min-height: 36px; }
.v3b-shell__main .btn-primary { background: var(--v3-grad-btn) !important; border: 0 !important; color: #fff !important; }
.v3b-shell__main .btn-outline-primary, .v3b-shell__main .btn-soft-primary { background: #fff !important; border: 1.5px solid var(--v3-brand-600) !important; color: var(--v3-brand-600) !important; }
.v3b-shell__main .form-control { border-radius: 12px !important; border-color: var(--v3-line-strong) !important; min-height: 48px; font-family: var(--v3-font); }
.v3b-shell__main .form-control:focus { border-color: var(--v3-brand-600) !important; box-shadow: var(--v3-focus) !important; }
.v3b-shell__main textarea.form-control { min-height: 96px; }
.v3b-shell__main label, .v3b-shell__main .col-form-label { font-weight: 600; color: var(--v3-ink); font-size: 14px; }
.v3b-shell__main .table { font-size: 14px; color: var(--v3-ink-2); }
.v3b-shell__main .table thead th, .v3b-shell__main .table th { color: var(--v3-muted); font-weight: 600; font-size: 13px; border-top: 0; border-bottom: 1px solid var(--v3-line) !important; }
.v3b-shell__main .table td { border-top: 1px solid var(--v3-line); vertical-align: middle; }
.v3b-shell__main .badge { border-radius: 999px !important; font-weight: 600; padding: 4px 10px; height: auto; }
.v3b-shell__main .badge-success, .v3b-shell__main .badge-soft-success { background: var(--v3-success-50) !important; color: var(--v3-success) !important; }
.v3b-shell__main .badge-warning, .v3b-shell__main .badge-soft-warning { background: var(--v3-warning-50) !important; color: var(--v3-warning) !important; }
.v3b-shell__main .badge-danger, .v3b-shell__main .badge-soft-danger { background: var(--v3-error-50) !important; color: var(--v3-error) !important; }
.v3b-shell__main .badge-info, .v3b-shell__main .badge-primary, .v3b-shell__main .badge-soft-info { background: var(--v3-brand-100) !important; color: var(--v3-brand-700) !important; }
.v3b-shell__main .text-primary { color: var(--v3-brand-600) !important; }
.v3b-shell__main .rounded-0 { border-radius: 12px !important; }
.v3b-shell__main .border { border-color: var(--v3-line) !important; }
.v3b-shell__main .bg-white.border, .v3b-shell__main .bg-white.shadow-sm { border-radius: 20px !important; }
.v3b-shell__main img.img-fit, .v3b-shell__main .size-60px, .v3b-shell__main .size-70px { border-radius: 12px; background: var(--v3-tile); }
.v3b-shell__main .pagination .page-link { border-radius: 10px !important; min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.v3b-shell__main .pagination .active .page-link { background: var(--v3-brand-600); border-color: var(--v3-brand-600); }
@media (max-width: 767.98px) {
    .v3b-shell__main .card-header { padding: 14px 16px !important; }
    .v3b-shell__main .card-body { padding: 16px !important; }
    .v3b-shell__main .table-responsive, .v3b-shell__main table { display: block; max-width: 100%; overflow-x: auto; }
}

/* the V2 page heads (psf / payism dashboards) as V3 heads */
.v3b-shell__main .psf-page-head h1, .v3b-shell__main .payism-retail-section-head h1, .v3b-shell__main .psf-title { font-size: 36px !important; line-height: 44px; font-weight: 800 !important; }
.v3b-shell__main .psf-card { border-radius: 20px !important; border: 0 !important; box-shadow: var(--v3-shadow-1) !important; }
@media (max-width: 767.98px) {
    .v3b-shell__main .psf-page-head h1, .v3b-shell__main .payism-retail-section-head h1, .v3b-shell__main .psf-title { font-size: 26px !important; line-height: 34px; }
}

/* ---------- wallet hero ---------- */
.v3b-acct .v3b-wallet-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 24px; align-items: center; margin-bottom: 16px; }
.v3b-wallet-hero__amt { font-size: 44px; line-height: 52px; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
.v3b-wallet-hero__label { color: rgba(255,255,255,.86); font-weight: 600; }
.v3b-wallet-hero__stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v3b-wallet-hero__stat { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 16px; padding: 12px 16px; }
.v3b-wallet-hero__stat strong { display: block; font-size: 18px; }
.v3b-wallet-hero__stat span { font-size: 13px; color: rgba(255,255,255,.86); }
.v3b-wallet-hero .v3b-actions { justify-content: flex-end; }
@media (max-width: 767.98px) {
    .v3b-acct .v3b-wallet-hero { grid-template-columns: 1fr; }
    .v3b-wallet-hero__amt { font-size: 32px; line-height: 40px; }
    .v3b-wallet-hero__stats { grid-template-columns: 1fr; }
    .v3b-wallet-hero .v3b-actions { justify-content: flex-start; }
    /* Round 15 web: on the phone the hero repeated Recharge Wallet, Request Settlement and Download PDF,
       which sit in the Add money / Request Settlement / Wallet history cards right below. Keep one of
       each and show the three totals side by side so the balance and the actions fit on one screen. */
    .v3b-wallet-hero .v3b-actions { display: none; }
}

/* ---------- addresses ---------- */
.v3b-addr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.v3b-addr-card { position: relative; margin: 0 !important; display: flex; flex-direction: column; gap: 8px; border: 1.5px solid transparent; }
.v3b-addr-card.is-default { border-color: var(--v3-brand-600); }
.v3b-addr-card__tags { display: flex; gap: 8px; flex-wrap: wrap; }
.v3b-addr-card__acts { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--v3-line); }
.v3b-addr-add { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 200px; border: 2px dashed var(--v3-line-strong); border-radius: 20px; background: transparent; color: var(--v3-brand-600); font-weight: 700; font-size: 16px; cursor: pointer; font-family: var(--v3-font); }
.v3b-addr-add:hover { background: var(--v3-brand-50); border-color: var(--v3-brand-400); }
@media (max-width: 767.98px) { .v3b-addr-grid { grid-template-columns: 1fr; gap: 12px; } .v3b-addr-add { min-height: 120px; } }

/* ---------- auth (sign in, OTP) split card ---------- */
.v3b-auth { padding: 40px 0 64px; }
.v3b-auth__card { display: grid; grid-template-columns: 1fr 1fr; max-width: 1040px; margin: 0 auto; background: #fff; border-radius: 24px; box-shadow: var(--v3-shadow-2); overflow: hidden; }
.v3b-auth__brand { position: relative; padding: 40px; color: #fff; display: flex; flex-direction: column; gap: 20px; }
.v3b-auth__brand h2 { color: #fff !important; font-size: 30px; line-height: 38px; font-weight: 800; }
.v3b-auth__brand p { color: rgba(255,255,255,.88); }
.v3b-auth__benefits { list-style: none; margin: auto 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.v3b-auth__benefits li { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.v3b-auth__benefits .v3b-well { background: rgba(255,255,255,.16); color: #fff; }
.v3b-auth__art { width: 180px; height: 180px; object-fit: contain; align-self: center; }
.v3b-auth__form { padding: 40px; min-width: 0; }
.v3b-auth__form h1 { font-size: 28px; line-height: 36px; font-weight: 800; margin-bottom: 6px; }
.v3b-auth__form .v3b-sub { margin-bottom: 24px; }
.v3b-auth__why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1040px; margin: 32px auto 0; }
.v3b-auth__why .v3b-card { margin: 0 !important; display: flex; gap: 12px; align-items: flex-start; }
@media (max-width: 991.98px) {
    .v3b-auth__card { grid-template-columns: 1fr; }
    .v3b-auth__brand { padding: 20px; flex-direction: row; align-items: center; gap: 14px; }
    .v3b-auth__brand h2 { font-size: 18px; line-height: 26px; }
    .v3b-auth__brand p, .v3b-auth__benefits, .v3b-auth__art { display: none; }
    .v3b-auth__form { padding: 20px 16px 24px; }
    .v3b-auth__why { grid-template-columns: 1fr; }
    .v3b-auth { padding: 12px 0 40px; }
}
/* the existing auth form controls inside the split card */
.v3b-auth__form .form-control { height: 48px; border-radius: 12px !important; border: 1px solid var(--v3-line-strong) !important; font-size: 15px; font-family: var(--v3-font); }
.v3b-auth__form .form-control:focus { border-color: var(--v3-brand-600) !important; box-shadow: var(--v3-focus) !important; }
.v3b-auth__form label { font-weight: 600; font-size: 14px; color: var(--v3-ink); }
/* review lane account-panels: the V2 fs-12 helpers (labels, "Login with password", "Remember me") stay at 13 px or more */
.v3b-auth__form label.fs-12, .v3b-auth__form .form-group > label { font-size: 14px !important; font-weight: 600 !important; color: var(--v3-ink) !important; }
.v3b-auth__form .fs-12 { font-size: 14px !important; }
.v3b-auth__form .fs-10, .v3b-auth__form .fs-11 { font-size: 13px !important; }
.v3b-auth__brand h2 { margin-bottom: 12px; }
.v3b-auth__form .toggle-login-with-otp, .v3b-auth__form .btn-link { color: var(--v3-brand-600) !important; font-weight: 600 !important; }
.v3b-auth__form .btn-primary, .v3b-auth__form button[type=submit].btn { min-height: 48px; border-radius: 12px !important; background: var(--v3-grad-btn) !important; border: 0 !important; font-weight: 700; font-size: 15px; box-shadow: 0 6px 16px rgba(9,119,192,.22); }
.v3b-auth__form .btn-outline-primary, .v3b-auth__form .btn-soft-primary, .v3b-auth__form .btn-light { min-height: 48px; border-radius: 12px !important; }
.v3b-auth__form a { color: var(--v3-brand-600); font-weight: 600; }
.v3b-auth__form .input-group-text { border-radius: 12px 0 0 12px !important; background: var(--v3-tile); border-color: var(--v3-line-strong); font-weight: 700; }
.v3b-auth__form .input-group > .form-control:not(:first-child) { border-radius: 0 12px 12px 0 !important; }
.v3b-auth__form .separator, .v3b-auth__form .separator span { color: var(--v3-muted); }
.v3b-auth__form .social li a, .v3b-auth__form .social a { border-radius: 12px; }
@media (max-width: 767.98px) { .v3b-auth__form .form-control, .v3b-auth__form .btn-primary { min-height: 52px; height: 52px; } }
.v3b-auth__form .btn-primary:disabled, .v3b-auth__form .btn-primary.disabled { color: #fff !important; opacity: .55; box-shadow: none; }
.v3b-wallet-hero .v3b-wallet-hero__ghost { color: #fff !important; border: 1.5px solid rgba(255,255,255,.5); padding: 0 16px; min-height: 48px; }
.v3b-wallet-hero .v3b-wallet-hero__ghost:hover { background: rgba(255,255,255,.12); text-decoration: none !important; }

/* return request form card */
.v3b-return .card { margin-top: 0; }
.v3b-return .form-group { margin-bottom: 20px; }

/* order detail */
.v3b-shell__main .psf-od-head .payism-retail-eyebrow { display: none; }
.v3b-shell__main .psf-od-head h1 { font-size: 36px !important; line-height: 44px; font-weight: 800 !important; font-family: var(--v3-font); }
.v3b-shell__main .psf-od-head .psf-back { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--v3-brand-600); min-height: 32px; }
.v3b-od-hero { margin-bottom: 16px; }
.v3b-od-hero__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; }
.v3b-od-hero__title { margin-top: 8px !important; }
.v3b-shell__main .payism-retail-order-attribution-banner { border-radius: 16px !important; background: var(--v3-success-50) !important; border: 1px solid #CDEBDB !important; }
@media (max-width: 767.98px) { .v3b-shell__main .psf-od-head h1 { font-size: 24px !important; line-height: 32px; } }

/* V2 page titles inside the shell read as the V3 h1 */
.v3b-shell__main > .payism-titlebar h1, .v3b-shell__main > div > .payism-titlebar h1, .v3b-shell__main .payism-profile-head h1 { font-size: 36px !important; line-height: 44px !important; font-weight: 800 !important; color: var(--v3-ink) !important; font-family: var(--v3-font); }
.v3b-shell__main .badge-secondary-base { background: var(--v3-success-50) !important; color: var(--v3-success) !important; }
.v3b-shell__main .bg-gray { background: var(--v3-tile) !important; color: var(--v3-ink) !important; border-radius: 10px !important; }
.v3b-shell__main .nav-tabs, .v3b-shell__main .payism-profile-tabs a { border-radius: 999px; }
@media (max-width: 767.98px) { .v3b-shell__main > .payism-titlebar h1, .v3b-shell__main > div > .payism-titlebar h1, .v3b-shell__main .payism-profile-head h1 { font-size: 26px !important; line-height: 34px !important; } }

/* wishlist cards, 3 across in the content column */
.v3b-wgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.v3b-wcard { margin: 0 !important; padding: 12px !important; border-radius: 16px; display: flex; flex-direction: column; transition: box-shadow .15s, transform .15s; }
.v3b-wcard:hover { box-shadow: var(--v3-shadow-2); transform: translateY(-2px); }
.v3b-wcard__img { position: relative; aspect-ratio: 1 / 1; border-radius: 12px; background: var(--v3-tile); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v3b-wcard__img > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.v3b-wcard__img img { width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.v3b-wcard.is-oos .v3b-wcard__img img { opacity: .6; }
.v3b-wcard__badge { position: absolute; top: 10px; left: 10px; }
.v3b-wcard__x { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #fff; box-shadow: var(--v3-shadow-1); color: var(--v3-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.v3b-wcard__x:hover { color: var(--v3-error); }
.v3b-wcard__body { display: flex; flex-direction: column; gap: 6px; padding: 12px 4px 4px; flex: 1; }
.v3b-wcard__body .v3b-btn { margin-top: auto; }
@media (max-width: 1199.98px) { .v3b-wgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .v3b-wgrid { gap: 12px; } .v3b-wcard { padding: 8px !important; } .v3b-wcard__img { aspect-ratio: 4 / 5; } }

/* auth: the existing boxed card as the V3 split card */
.v3b.v3b-auth { min-height: 100vh; justify-content: center !important; }
.v3b-auth .payism-retail-auth-card { max-width: 1040px; margin: 0 auto; border-radius: 24px !important; overflow: hidden; box-shadow: var(--v3-shadow-2) !important; background: #fff; }
.v3b-auth .payism-auth-image-col { padding: 0; display: flex; }
.v3b-auth .payism-auth-image-col > .v3b-auth__brand { flex: 1; border-radius: 0; }
.v3b-auth__icon { width: 48px; height: 48px; border-radius: 12px; background: #fff; padding: 6px; object-fit: contain; }
.v3b-auth .right-content { border: 0 !important; }
.v3b-auth .right-content > .size-48px { display: none; }
.v3b-auth__titles h1 { font-size: 28px; line-height: 36px; font-weight: 800; color: var(--v3-ink); }
.v3b-auth__titles .v3b-sub { margin-top: 6px; }
.v3b-auth .payism-retail-auth-shell, .v3b-auth .payism-retail-auth-container { background: transparent; }
.v3b-auth .payism-auth-back-wrapper { max-width: 1040px; margin-left: auto; margin-right: auto; }
.v3b-auth .text-primary { color: var(--v3-brand-600) !important; }
.v3b-auth h1.text-primary { color: var(--v3-ink) !important; text-transform: none !important; font-weight: 800 !important; }
@media (max-width: 991.98px) {
    .v3b-auth .payism-retail-auth-card { border-radius: 20px !important; margin: 0 16px; }
    .v3b-auth__titles h1 { font-size: 24px; line-height: 32px; }
    .v3b-auth .v3b-auth__brand { padding: 16px 20px; }
}

/* ---------- order detail (design/account/order_detail_*_v3.png) ---------- */
.v3b-od .v3b-back--inline { display: inline-flex; margin-bottom: 8px; }
.v3b-od .v3b-card { margin-bottom: 16px; }
.v3b-od-hero__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--v3-line); }
.v3b-od-hero__foot .v3b-small { display: inline-flex; align-items: center; gap: 8px; }
.v3b-oitem { display: flex; gap: 20px; padding: 20px 0; }
.v3b-oitem + .v3b-oitem { border-top: 1px solid var(--v3-line); }
.v3b-oitem__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.v3b-oitem__body .v3b-name { font-size: 16px; font-weight: 600; color: var(--v3-ink); }
.v3b-oitem__price { margin-top: 6px; }
.v3b-oitem__side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; text-align: right; min-width: 180px; }
.v3b-oitem__refund { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.v3b-od-reco { display: flex; align-items: center; gap: 16px; }
.v3b-od-reco p { margin: 2px 0 0 !important; }
.v3b-od-two { align-items: start; margin-bottom: 16px; }
.v3b-od-col { display: flex; flex-direction: column; gap: 16px; }
.v3b-od-col > .v3b-card, .v3b-od-two > .v3b-card { margin-bottom: 0 !important; }
.v3b-od-sub { margin: 16px 0 6px !important; font-weight: 700; color: var(--v3-ink); }
.v3b-od-prefs ul { margin: 4px 0 0; padding-left: 18px; }
.v3b-od-pay { display: flex; align-items: center; gap: 12px; margin: 12px 0; }
.v3b-rows--sm li { font-size: 14px; padding: 4px 0; }
.v3b-rows--sm li > :last-child { max-width: 60%; overflow-wrap: anywhere; }
.v3b-quick--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; }
.v3b-od-help .v3b-quick__item { border: 1px solid var(--v3-line); border-radius: 16px; }
.v3b-od-help .v3b-quick__item small { font-weight: 500; }
@media (max-width: 991.98px) { .v3b-quick--3 { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) {
    .v3b-oitem { flex-wrap: wrap; gap: 12px; }
    .v3b-oitem .v3b-thumb--lg { width: 88px; height: 88px; }
    .v3b-oitem__side { min-width: 0; width: 100%; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; text-align: left; }
    .v3b-oitem__refund { align-items: flex-start; }
    .v3b-od .v3b-head .v3b-actions { width: 100%; }
}
.v3b-acct .v3b-wrap:has(.v3b-od) > .v3b-back { display: none; }

/* ---------- wallet (design/account/wallet_*_v3.png) ---------- */
.v3b-wallet-hero__stat { display: flex; align-items: center; gap: 12px; }
.v3b-wallet-hero__stat .v3b-well { background: rgba(255,255,255,.16); color: #fff; flex-shrink: 0; }
.v3b-wallet-hero__stat small { display: block; font-size: 13px; color: rgba(255,255,255,.86); }
.v3b-wallet-hero__stat strong { color: #fff; }
.v3b-wallet-two { margin-bottom: 16px; }
.v3b-amt-chips { margin: 12px 0 16px; }
.v3b-amt-chips .v3b-chip.is-on { border-color: var(--v3-brand-600); background: var(--v3-brand-50); color: var(--v3-brand-700) !important; font-weight: 700; }
.v3b-mt-12 { margin-top: 12px !important; }
.v3b-wallet-settle { display: flex; align-items: center; gap: 16px; margin: 12px 0 16px; }
/* wallet history card inside the shell reads as a V3 card */
.v3b-shell__main > .card.rounded-0 { border-radius: 20px !important; border: 0 !important; box-shadow: var(--v3-shadow-1); overflow: hidden; }
.v3b-shell__main > .card.rounded-0 .card-header h5 { font-size: 22px !important; font-family: var(--v3-font); }
.v3b-shell__main .payism-table thead th { font-size: 13px; color: var(--v3-muted); font-weight: 600; border-top: 0; }
.v3b-shell__main .payism-table td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; border-color: var(--v3-line); }
@media (max-width: 767.98px) {
    /* Round 15 web: the three totals side by side on the phone (they were three full-width rows). */
    .v3b-wallet-hero__stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; }
    .v3b-wallet-hero__stat { padding: 8px 10px; border-radius: 12px; }
    .v3b-wallet-hero__stat .v3b-well { display: none; }
    .v3b-wallet-hero__stat small { font-size: 12px; line-height: 16px; }
    .v3b-wallet-hero__stat strong { font-size: 16px; }
}

/* ---------- return or exchange (design/account/returns_*_v3.png) ---------- */
.v3b-return__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.v3b-return__main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v3b-return__main > .v3b-card, .v3b-return__side > .v3b-card { margin: 0 !important; }
.v3b-return__side .v3b-sticky { position: sticky; top: 96px; }
.v3b-return__side .v3b-btn--primary { margin-top: 16px; }
.v3b-step-dot { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--v3-brand-600); color: #fff; font-size: 14px; font-weight: 700; margin-right: 10px; vertical-align: 2px; }
.v3b-ret-item { display: flex; align-items: center; gap: 16px; padding: 16px; margin: 16px 0 20px; border: 1px solid var(--v3-line); border-radius: 16px; }
.v3b-ret-item > div { flex: 1; min-width: 0; }
.v3b-req { color: var(--v3-error); }
.v3b-upload .input-group-text { border-radius: 12px 0 0 12px !important; background: var(--v3-brand-50) !important; color: var(--v3-brand-700); font-weight: 600; border-color: var(--v3-line-strong); }
.v3b-upload .form-control { height: 48px; border-radius: 0 12px 12px 0 !important; border-color: var(--v3-line-strong); }
.v3b-upload .input-group-prepend .input-group-text { height: 48px; }
.v3b-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.v3b-choice-card { margin: 0 !important; display: block; cursor: pointer; }
.v3b-choice-card input { position: absolute; opacity: 0; }
.v3b-choice-card .payism-megabox-elem { display: flex !important; align-items: center; gap: 12px; padding: 16px !important; border: 1.5px solid var(--v3-line-strong) !important; border-radius: 16px !important; background: #fff; min-height: 72px; }
.v3b-choice-card .payism-megabox-elem small { display: inline-flex; margin-left: 8px; }
.v3b-choice-card input:checked + .payism-megabox-elem { border-color: var(--v3-brand-600) !important; background: var(--v3-brand-50); box-shadow: 0 0 0 1px var(--v3-brand-600); }
.v3b-choice-card input:focus-visible + .payism-megabox-elem { box-shadow: var(--v3-focus); }
.v3b-ret-how { margin-top: 16px; }
.v3b-ret-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 16px 0; padding: 0; list-style: none; }
.v3b-ret-steps li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.v3b-ret-steps small { color: var(--v3-muted); font-size: 14px; }
@media (max-width: 991.98px) { .v3b-return__grid { grid-template-columns: 1fr; } .v3b-return__side .v3b-sticky { position: static; } }
@media (max-width: 767.98px) {
    .v3b-choices, .v3b-ret-steps { grid-template-columns: 1fr; }
    .v3b-ret-item { flex-wrap: wrap; }
}

/* ---------- wishlist extras ---------- */
.v3b-wfilter { margin: 0 0 16px; }
.v3b-wtotal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px !important; }
.v3b-wtotal__amt { font-size: 24px; font-weight: 800; margin-left: 8px; }
@media (max-width: 767.98px) { .v3b-wtotal .v3b-btn { width: 100%; } }

/* ---------- profile extras ---------- */
.v3b-prof-link { display: flex !important; flex-direction: row !important; align-items: center; gap: 16px; padding: 20px 24px; color: var(--v3-ink) !important; text-decoration: none !important; }
.v3b-prof-link > span:nth-child(2) { flex: 1; }
.v3b-prof-link strong { display: block; font-size: 18px; }
.v3b-prof-link small { display: block; color: var(--v3-muted); font-size: 14px; }
.v3b-shell__main #profile-language .v3b-chip, .v3b-shell__main #profile-delete .v3b-linkbtn { font-family: var(--v3-font); }
.v3b-act--danger { color: var(--v3-error) !important; }

/* auth on the phone: the card sits in the 16 px gutters (no sideways shift) */
@media (max-width: 767.98px) {
    .v3b-auth .payism-retail-auth-shell { padding: 12px 16px 32px !important; align-items: stretch !important; }
    .v3b-auth .payism-retail-auth-container { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
    .v3b-auth .payism-retail-auth-card { max-width: 100%; margin: 0 !important; }
    .v3b-auth .payism-retail-auth-card > .row { margin: 0 !important; }
    .v3b-auth .payism-auth-image-col { padding: 0 !important; }
}

/* dashboard: retailer workspace entry */
.v3b-retail-strip { display: flex; align-items: center; gap: 16px; margin-bottom: 16px !important; background: var(--v3-brand-50) !important; border: 1px solid var(--v3-brand-100); }
.v3b-retail-strip > div { flex: 1; min-width: 0; }
.v3b-retail-strip p { margin: 2px 0 0 !important; }
@media (max-width: 767.98px) { .v3b-retail-strip { flex-wrap: wrap; } .v3b-retail-strip .v3b-btn { width: 100%; } }
/* strips on account pages (same as checkout.css) */
.v3b-acct .v3b-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding: 12px 16px; border-radius: 16px; margin-bottom: 16px; font-size: 15px; }
.v3b-acct .v3b-strip--info { background: var(--v3-brand-50); color: var(--v3-ink-2); border: 1px solid var(--v3-brand-100); }
.v3b-acct .v3b-strip--info .v3x-ico { color: var(--v3-brand-600); }
.v3b-acct .v3b-strip--info span { flex: 1; min-width: 200px; }

/* 6-box OTP (system 7.2: 56 px boxes) */
.v3b-otp { display: flex; gap: 10px; }
.v3b-otp__box { width: 56px; height: 56px; border: 1px solid var(--v3-line-strong); border-radius: 12px; text-align: center; font-size: 22px; font-weight: 700; font-family: var(--v3-font); color: var(--v3-ink); background: #fff; font-variant-numeric: tabular-nums; }
.v3b-otp__box:focus { border-color: var(--v3-brand-600); box-shadow: var(--v3-focus); outline: 0; }
.v3b-auth__titles a.v3b-small { display: inline-block; margin-bottom: 8px; font-weight: 600; }
@media (max-width: 767.98px) { .v3b-otp { gap: 8px; } .v3b-otp__box { width: 100%; min-width: 0; height: 52px; flex: 1; } }
@media (max-width: 767.98px) {
    .v3b.v3b-auth { justify-content: flex-start !important; min-height: 0; }
    .v3b-auth > section { overflow: visible !important; padding: 12px 16px 32px; }
    .v3b-auth > section > .row { margin: 0 !important; }
    .v3b-auth > section > .row > [class*="col-"] { padding: 0 !important; }
}
@media (max-width: 991.98px) {
    .v3b-auth .card { display: block !important; height: auto !important; max-height: none !important; }
    .v3b-auth .card > .row { height: auto !important; align-content: flex-start !important; align-items: stretch !important; }
    .v3b-auth .right-content { justify-content: flex-start !important; margin-top: 0 !important; transform: none !important; }
}

/* ---------- wb-account: phone account home (dashboard_390_v3) ---------- */
/* a profile card on top, then the side nav as grouped cards (Shopping, Money, Account, Help) */
.v3b-dash__me { display: none; }
.v3b-nav__val { font-weight: 700; color: var(--v3-ink); }
@media (max-width: 991.98px) {
    .v3b-dash__me { display: flex; align-items: center; gap: 16px; padding: 16px; color: var(--v3-ink) !important; text-decoration: none !important; }
    .v3b-dash__me .v3b-avatar { width: 64px; height: 64px; font-size: 22px; }
    .v3b-dash__who { display: flex; flex-direction: column; flex: 1; min-width: 0; }
    .v3b-dash__who strong { font-size: 19px; line-height: 26px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .v3b-dash__who .v3b-muted { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .v3b-dash__edit { display: inline-flex; align-items: center; gap: 2px; color: var(--v3-brand-600); font-weight: 600; }
    .v3b-dash > .v3b-head { display: none; }

    .v3b-nav--home { background: none; box-shadow: none; padding: 0; border-radius: 0; }
    .v3b-nav--home .v3b-nav__me { display: none; }
    .v3b-nav--home .v3b-nav__group { border-bottom: 0; padding: 0; margin-top: 24px; }
    .v3b-nav--home .v3b-nav__title { font-size: 20px; line-height: 28px; font-weight: 800; color: var(--v3-ink); padding: 0 4px 10px; }
    .v3b-nav--home .v3b-nav__group ul { background: #fff; border-radius: 20px; box-shadow: var(--v3-shadow-1); padding: 4px 12px; }
    .v3b-nav--home .v3b-nav__group li + li { border-top: 1px solid var(--v3-line); }
    .v3b-nav--home .v3b-nav__link { min-height: 64px; padding: 0 4px; gap: 16px; font-size: 16px; }
    .v3b-nav--home .v3b-nav__link:hover, .v3b-nav--home .v3b-nav__link.is-active { background: none; }
    .v3b-nav--home .v3b-nav__link.is-active::before { display: none; }
    .v3b-nav--home .v3b-nav__link > .v3x-ico:first-child { width: 44px; height: 44px; padding: 11px; border-radius: 50%; background: var(--v3-brand-50); color: var(--v3-brand-600); flex: none; }
    .v3b-nav--home .v3b-nav__group--more .v3b-nav__link { min-height: 52px; font-size: 15px; }
    .v3b-nav--home .v3b-nav__group--more .v3b-nav__link > .v3x-ico:first-child { width: 36px; height: 36px; padding: 8px; }
    .v3b-nav--home .v3b-nav__retail { margin-top: 24px; padding: 20px; border: 0; border-radius: 20px; background: var(--v3-grad-brand, linear-gradient(135deg, #0A63A8, #0B2A4A)); color: #fff !important; }
    .v3b-nav--home .v3b-nav__retail .v3b-muted, .v3b-nav--home .v3b-nav__retail .v3b-nav__retail-cta { color: rgba(255,255,255,.9) !important; }
    .v3b-nav--home .v3b-nav__retail .v3b-well { background: rgba(255,255,255,.16); color: #fff; }
    .v3b-nav--home .v3b-nav__foot { margin-top: 16px; }
    .v3b-nav--home .v3b-nav__foot .v3b-nav__link { min-height: 52px; }
}

/* ==================== lane wb-account: text pages (404, policy, register, help) ==================== */
/*
 * Payism V3 website: the remaining pages (lane wb-account).
 * 404 (design/account/not_found_1440_v3.png), policy text pages (policy_1440_v3.png),
 * register extras (register_{1440,390}_v3.png), help & contact (contact_1440_v3.png), orders list (orders_{1440,390}_v3.png).
 * Reads the --v3-* tokens of v3/tokens.css. Scoped to .v3p / .v3p-* roots.
 */

.v3p { font-family: var(--v3-font); color: var(--v3-ink); }
.v3p-h1 { font: 800 36px/44px var(--v3-font); margin: 0; letter-spacing: -.3px; }
.v3p-h3 { font: 700 22px/30px var(--v3-font); margin: 0 0 16px; }
.v3p-h4 { font: 600 18px/26px var(--v3-font); margin: 0; }
.v3p-muted { color: var(--v3-muted); margin: 0; }
.v3p-sec { margin-top: 48px; }
.v3p-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.v3p-actions .v3-btn { min-width: 188px; }
.v3p-well { width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--v3-brand-100); color: var(--v3-brand-600); display: inline-flex; align-items: center; justify-content: center; }
.v3p-well--lg { width: 72px; height: 72px; }
.v3p-well--lg .v3i { width: 30px; height: 30px; }

/* ---------- 404 ---------- */
.v3p-nf { padding-top: 24px; padding-bottom: 16px; }
.v3p-nf__card { background: #fff; border-radius: var(--v3-r-24); box-shadow: var(--v3-shadow-1); padding: 32px 48px 40px; text-align: center; max-width: 1128px; margin: 0 auto; }
.v3p-nf__art { display: block; width: 270px; height: auto; max-height: 235px; margin: 0 auto 4px; }
.v3p-nf__code { color: var(--v3-muted); font: 600 17px/24px var(--v3-font); margin: 0; }
.v3p-nf__title { font: 800 48px/56px var(--v3-font); letter-spacing: -.5px; margin: 4px 0 8px; }
.v3p-nf__sub { color: var(--v3-ink-2); font-size: 17px; line-height: 28px; margin: 0 auto 24px; max-width: 640px; }
.v3p-nf__search { position: relative; display: flex; max-width: 680px; height: 56px; margin: 0 auto 20px; border: 1px solid var(--v3-line-strong); border-radius: var(--v3-r-12); background: #fff; overflow: hidden; }
.v3p-nf__search:focus-within { border-color: var(--v3-brand-600); box-shadow: var(--v3-focus); }
.v3p-nf__lens { display: inline-flex; align-items: center; padding: 0 4px 0 16px; color: var(--v3-muted); }
.v3p-nf__search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 12px; font: 400 16px var(--v3-font); color: var(--v3-ink); background: transparent; }
.v3p-nf__search button { width: 72px; border: 0; background: var(--v3-grad-btn); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.v3p-cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.v3p-cat { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 16px 12px; background: #fff; border-radius: var(--v3-r-16); box-shadow: var(--v3-shadow-1); color: var(--v3-ink) !important; text-decoration: none !important; transition: box-shadow .15s, transform .15s; }
.v3p-cat:hover { box-shadow: var(--v3-shadow-2); transform: translateY(-2px); }
.v3p-cat__img { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--v3-r-12); background: var(--v3-tile); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.v3p-cat__img img { width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.v3p-cat__name { font: 600 15px/22px var(--v3-font); text-align: center; }
.v3p-nf .v3-home-sec { margin-top: 48px; }

/* ---------- policy / text pages ---------- */
.v3p-policy { padding-top: 16px; padding-bottom: 24px; }
.v3p-crumbs { margin-bottom: 24px; }
.v3p-policy__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: start; }
.v3p-policy__side { position: sticky; top: 140px; border-right: 1px solid var(--v3-line); padding-right: 24px; }
.v3p-side-title { font: 700 16px/24px var(--v3-font); margin: 0 0 8px; }
.v3p-side-list { list-style: none; margin: 0 0 24px; padding: 0; }
.v3p-toc { padding-bottom: 8px; margin-bottom: 24px; border-bottom: 1px solid var(--v3-line); }
.v3p-side-list a { display: block; padding: 8px 12px 8px 16px; border-radius: 8px; color: var(--v3-ink-2) !important; font-size: 15px; line-height: 22px; text-decoration: none !important; border-left: 3px solid transparent; }
.v3p-side-list a:hover { background: var(--v3-brand-50); color: var(--v3-brand-600) !important; }
.v3p-side-list a.is-active, .v3p-side-list a[aria-current] { background: var(--v3-brand-100); color: var(--v3-brand-600) !important; border-left-color: var(--v3-brand-600); font-weight: 600; }
.v3p-policy__main { max-width: 860px; min-width: 0; }
.v3p-policy__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.v3p-policy__head .v3p-muted { margin-top: 6px; font-size: 15px; }
.v3p-print { flex: none; gap: 6px; }
.v3p-callout { display: flex; align-items: center; gap: 20px; padding: 20px 24px; border-radius: var(--v3-r-16); background: var(--v3-brand-100); margin-bottom: 32px; }
.v3p-callout p { margin: 0; font: 600 17px/26px var(--v3-font); color: var(--v3-ink); }
.v3p-callout .v3p-well { background: #fff; }
/* The body is admin HTML pasted from Word: one type scale for it, its inline fonts and colours neutralised. */
.v3p-prose { max-width: 760px; font: 400 17px/28px var(--v3-font); color: var(--v3-ink-2); overflow-wrap: anywhere; }
.v3p-prose * { font-family: inherit !important; }
.v3p-prose span, .v3p-prose font, .v3p-prose p, .v3p-prose li, .v3p-prose td { color: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.v3p-prose h1 { font: inherit !important; margin: 0; }
.v3p-prose h2 { font: 800 28px/36px var(--v3-font) !important; color: var(--v3-ink); margin: 40px 0 12px; scroll-margin-top: 140px; }
.v3p-prose h3 { font: 700 22px/30px var(--v3-font) !important; color: var(--v3-ink); margin: 32px 0 8px; scroll-margin-top: 140px; }
.v3p-prose p { margin: 0 0 12px; }
.v3p-prose ul, .v3p-prose ol { padding-left: 24px; margin: 0 0 16px; }
.v3p-prose li { margin-bottom: 6px; }
.v3p-prose li::marker { color: var(--v3-brand-600); }
.v3p-prose a { color: var(--v3-brand-600) !important; text-decoration: underline; }
.v3p-prose strong, .v3p-prose b { color: var(--v3-ink) !important; font-weight: 700; }
.v3p-prose table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--v3-line); border-radius: var(--v3-r-12); overflow: hidden; margin: 16px 0 24px; display: block; overflow-x: auto; }
.v3p-prose th, .v3p-prose td { padding: 12px 20px; border-bottom: 1px solid var(--v3-line); text-align: left; vertical-align: top; }
.v3p-prose thead th, .v3p-prose tr:first-child th { background: var(--v3-brand-50); color: var(--v3-ink); font-weight: 700; }
.v3p-prose img { max-width: 100%; height: auto; }
.v3p-help { display: flex; align-items: center; gap: 20px; margin-top: 40px; padding: 24px; background: #fff; border: 1px solid var(--v3-line); border-radius: var(--v3-r-20); box-shadow: var(--v3-shadow-1); }
.v3p-help__text { flex: 1; min-width: 0; }
.v3p-help__text .v3p-muted { margin-top: 4px; }
.v3p-help__actions { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.v3p-help__actions .v3-btn--primary { min-width: 200px; }
@media print {
    .v3-header, .v3-footer, .v3-trust, .v3p-policy__side, .v3p-help, .v3p-print, .v3p-crumbs, .v3-bottom-nav { display: none !important; }
    .v3p-policy__grid { display: block; }
}

/* ---------- register extras ---------- */
.v3p-reg__why { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1040px; margin: 32px auto 0; }
.v3p-reg__why .v3b-card { margin: 0 !important; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 28px 20px !important; }
.v3p-reg__why strong { font: 700 20px/28px var(--v3-font); margin-top: 8px; }

/* ---------- tablet / phone ---------- */
@media (max-width: 1199.98px) {
    .v3p-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v3p-policy__grid { grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767.98px) {
    .v3p-h1 { font-size: 26px; line-height: 34px; }
    .v3p-nf { padding-top: 12px; }
    .v3p-nf__card { padding: 24px 16px; border-radius: var(--v3-r-20); }
    .v3p-nf__art { width: 160px; }
    .v3p-nf__title { font-size: 30px; line-height: 38px; }
    .v3p-nf__sub { font-size: 16px; line-height: 24px; }
    .v3p-nf__search { height: 52px; }
    .v3p-actions .v3-btn { flex: 1 1 100%; min-width: 0; height: 52px; }
    .v3p-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .v3p-sec, .v3p-nf .v3-home-sec { margin-top: 32px; }

    .v3p-crumbs { margin-bottom: 16px; }
    .v3p-policy__grid { grid-template-columns: 1fr; gap: 16px; }
    .v3p-policy__side { position: static; border-right: 0; padding-right: 0; order: 2; border-top: 1px solid var(--v3-line); padding-top: 16px; }
    .v3p-policy__head { align-items: flex-start; }
    .v3p-print { display: none; }
    .v3p-callout { padding: 16px; gap: 14px; }
    .v3p-callout p { font-size: 16px; line-height: 24px; }
    .v3p-prose { font-size: 16px; line-height: 26px; }
    .v3p-prose h2 { font-size: 20px !important; line-height: 28px !important; margin-top: 28px; }
    .v3p-prose h3 { font-size: 18px !important; line-height: 26px !important; }
    .v3p-help { flex-direction: column; text-align: center; padding: 20px 16px; }
    .v3p-help__actions { width: 100%; }
    .v3p-help__actions .v3-btn--primary { width: 100%; height: 52px; }

    .v3p-reg__why { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; padding: 0; }
    .v3p-reg__why .v3b-card { display: grid; grid-template-columns: 48px 1fr; align-items: center; text-align: left; padding: 16px !important; gap: 2px 14px; }
    .v3p-reg__why .v3b-well--lg { grid-row: span 2; }
    .v3p-reg__why .v3b-well--lg { width: 48px; height: 48px; }
    .v3p-reg__why strong { font-size: 16px; line-height: 24px; margin: 0; }
}

/* ---------- orders list (orders_1440_v3, orders_390_v3) ---------- */
.v3o-head { margin-bottom: 16px; }
.v3o-tabs { list-style: none; margin: 0 0 20px; padding: 0; }
.v3o-tabs .v3b-chip.active { background: var(--v3-brand-600); border-color: var(--v3-brand-600); color: #fff !important; }
.v3o-tick { display: none; }
.v3o-tabs .v3b-chip.active .v3o-tick { display: inline-flex; }
.v3o-list #tab-content { display: flex; flex-direction: column; gap: 16px; min-height: 120px; }
.v3o-card { padding: 0 !important; overflow: hidden; margin: 0 !important; }
.v3o-meta { display: flex; align-items: center; padding: 14px 24px; background: var(--v3-brand-50, #F2F7FC); border-bottom: 1px solid var(--v3-line); }
.v3o-meta__cell { display: flex; align-items: center; gap: 10px; padding-right: 24px; margin-right: 24px; border-right: 1px solid var(--v3-line); color: var(--v3-muted); min-width: 0; }
.v3o-meta__cell:last-of-type { border-right: 0; }
.v3o-meta__cell > span { display: flex; flex-direction: column; line-height: 18px; font-size: 14px; color: var(--v3-ink); }
.v3o-meta__cell small { font-size: 12px; color: var(--v3-muted); }
.v3o-code { color: var(--v3-ink-2) !important; font-size: 14px; font-weight: 600; }
.v3o-invoice { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; color: var(--v3-brand-600) !important; font-weight: 600; font-size: 14px; }
.v3o-body { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 24px; padding: 20px 24px 24px; }
.v3o-status { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.v3o-headline { font: 700 20px/28px var(--v3-font); margin: 0; }
.v3o-items { list-style: none; margin: 0; padding: 0; }
.v3o-item { display: flex; gap: 16px; align-items: center; padding: 10px 0; }
.v3o-item + .v3o-item { border-top: 1px solid var(--v3-line); }
.v3o-item__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v3o-item__name { font-weight: 600; font-size: 15px; line-height: 22px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v3o-item__qty { font-size: 13px; }
.v3o-item__row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 16px; }
.v3o-item__row b { font-size: 18px; }
.v3o-item__row .v3b-muted { font-size: 13px; }
.v3o-phone { display: none; }
.v3o-actions { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.v3o-actions .v3b-btn { width: 100%; }
.v3o-actions .v3b-linkbtn { text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.v3o-count { text-align: center; margin: 20px 0 0; }
.v3o-pages { display: flex; justify-content: center; }
.v3o-again { margin-top: 40px; }
@media (max-width: 767.98px) {
    .v3o-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px 16px; padding: 0 16px; }
    .v3o-tabs::-webkit-scrollbar { display: none; }
    .v3o-tabs .v3b-chip { white-space: nowrap; }
    .v3o-hide-sm { display: none !important; }
    .v3o-card { border-radius: 20px !important; }
    .v3o-meta { background: none; border-bottom: 0; padding: 16px 16px 0; justify-content: flex-end; }
    .v3o-meta__cell { border: 0; margin: 0; padding: 0; }
    .v3o-body { grid-template-columns: 1fr; gap: 16px; padding: 0 16px 16px; margin-top: -40px; }
    .v3o-status { min-height: 40px; margin-bottom: 8px; }
    .v3o-headline { display: none; }
    .v3o-item { flex-direction: column; align-items: stretch; gap: 10px; }
    .v3o-item:nth-child(n+2) { display: none; }
    .v3o-item .v3o-thumb { width: 100%; height: 200px; }
    .v3o-item__name { font-size: 17px; line-height: 24px; }
    .v3o-item__qty, .v3o-item__row { display: none; }
    .v3o-phone { display: flex; flex-direction: column; gap: 4px; margin-top: 4px; font-size: 15px; }
    .v3o-phone b { font-size: 18px; }
    .v3o-actions .v3b-btn { height: 52px; }
}

/* ---------- help & contact (contact_1440_v3) ---------- */
.v3p-help-page { padding-top: 16px; padding-bottom: 24px; }
.v3p-hc-card { background: #fff; border-radius: var(--v3-r-20, 20px); box-shadow: var(--v3-shadow-1); padding: 24px; }
.v3p-hc-h2 { font: 800 24px/32px var(--v3-font); margin: 0 0 16px; letter-spacing: -.2px; }
.v3p-hc-hero { display: flex; align-items: center; gap: 32px; padding: 32px 40px; border-radius: var(--v3-r-24, 24px); background: linear-gradient(120deg, #fff 55%, var(--v3-brand-100, #E3EEFA)); box-shadow: var(--v3-shadow-1); }
.v3p-hc-hero__text { flex: 1; min-width: 0; }
.v3p-hc-title { font: 800 40px/48px var(--v3-font); letter-spacing: -.5px; margin: 0 0 4px; }
.v3p-hc-sub { font-size: 17px; line-height: 26px; color: var(--v3-ink-2); margin: 0 0 20px; }
.v3p-hc-search { display: flex; align-items: center; max-width: 680px; height: 56px; border: 1px solid var(--v3-line-strong); border-radius: var(--v3-r-12); background: #fff; overflow: hidden; }
.v3p-hc-search:focus-within { border-color: var(--v3-brand-600); box-shadow: var(--v3-focus); }
.v3p-hc-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 12px; font: 400 16px var(--v3-font); background: transparent; color: var(--v3-ink); }
.v3p-hc-search .v3-btn { height: 100%; border-radius: 0; padding: 0 28px; }
.v3p-hc-pop { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 16px 0 0; font-size: 14px; }
.v3p-hc-pop a { padding: 6px 14px; border-radius: 999px; background: var(--v3-brand-50, #F2F7FC); color: var(--v3-brand-600) !important; font-weight: 600; }
.v3p-hc-hero__art { flex: none; width: 200px; height: 200px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 30%, #fff, var(--v3-brand-100, #E3EEFA)); color: var(--v3-brand-600); }
.v3p-hc-recent { margin-top: 16px; }
.v3p-hc-recent .v3p-hc-h2 { font-size: 20px; margin-bottom: 12px; }
.v3p-hc-recent__row { display: flex; align-items: center; gap: 20px; }
.v3p-hc-recent__row .v3b-thumb--lg { width: 140px; height: 96px; }
.v3p-hc-recent__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.v3p-hc-link { display: inline-flex; align-items: center; gap: 4px; color: var(--v3-brand-600) !important; font-weight: 600; padding-left: 20px; border-left: 1px solid var(--v3-line); }
.v3p-hc-topics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.v3p-hc-topic { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 20px 12px; background: #fff; border-radius: var(--v3-r-16); box-shadow: var(--v3-shadow-1); color: var(--v3-ink) !important; text-decoration: none !important; transition: box-shadow .15s, transform .15s; }
.v3p-hc-topic:hover { box-shadow: var(--v3-shadow-2); transform: translateY(-2px); }
.v3p-hc-topic .v3p-well { margin-bottom: 6px; }
.v3p-hc-topic b { font-size: 15px; line-height: 22px; }
.v3p-hc-topic .v3b-muted { font-size: 13px; line-height: 18px; }
.v3p-hc-talk { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.v3p-hc-way { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.v3p-hc-way .v3p-well { margin-bottom: 10px; }
.v3p-hc-way b { font-size: 18px; line-height: 26px; }
.v3p-hc-big { font: 700 22px/30px var(--v3-font); overflow-wrap: anywhere; }
.v3p-hc-way .v3-btn { margin-top: 12px; min-width: 132px; }
.v3p-hc-two { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 16px; margin-top: 16px; align-items: start; }
.v3p-hc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.v3p-hc-field { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 600; font-size: 14px; }
.v3p-hc-field--wide { grid-column: 1 / -1; }
.v3p-hc-field .v3b-input { font-weight: 400; }
.v3p-hc-field textarea.v3b-input { min-height: 112px; height: auto; padding-top: 12px; resize: vertical; }
.v3p-hc-send { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.v3p-hc-send .v3b-muted { font-size: 14px; }
.v3p-hc-side { display: flex; flex-direction: column; gap: 16px; }
.v3p-hc-faq details { border: 1px solid var(--v3-line); border-radius: var(--v3-r-12); margin-bottom: 8px; }
.v3p-hc-faq details[open] { background: var(--v3-brand-50, #F2F7FC); border-color: var(--v3-brand-100, #E3EEFA); }
.v3p-hc-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; font-weight: 600; font-size: 15px; }
.v3p-hc-faq summary::-webkit-details-marker { display: none; }
.v3p-hc-faq details[open] summary svg { transform: rotate(180deg); }
.v3p-hc-faq details p { margin: 0; padding: 0 14px 14px; color: var(--v3-ink-2); font-size: 14px; line-height: 22px; }
.v3p-hc-office { display: flex; gap: 16px; align-items: flex-start; }
.v3p-hc-office > span:last-child { display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 21px; }
.v3p-hc-policies { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.v3p-hc-policy { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 28px 16px; background: #fff; border-radius: var(--v3-r-16); box-shadow: var(--v3-shadow-1); color: var(--v3-ink) !important; text-decoration: none !important; font-size: 18px; }
.v3p-hc-policy:hover { box-shadow: var(--v3-shadow-2); }
@media (max-width: 1199.98px) {
    .v3p-hc-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .v3p-hc-two { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .v3p-hc-hero { padding: 20px 16px; border-radius: var(--v3-r-20, 20px); }
    .v3p-hc-hero__art { display: none; }
    .v3p-hc-title { font-size: 28px; line-height: 36px; }
    .v3p-hc-sub { font-size: 15px; line-height: 22px; margin-bottom: 14px; }
    .v3p-hc-search { height: 52px; }
    .v3p-hc-search .v3-btn { padding: 0 16px; }
    .v3p-hc-card { padding: 16px; }
    .v3p-hc-h2 { font-size: 20px; line-height: 28px; }
    .v3p-hc-recent__row { flex-wrap: wrap; gap: 12px; }
    .v3p-hc-recent__row .v3b-thumb--lg { width: 88px; height: 72px; }
    .v3p-hc-link { border-left: 0; padding-left: 0; width: 100%; }
    .v3p-hc-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v3p-hc-talk { grid-template-columns: 1fr; gap: 12px; }
    .v3p-hc-fields { grid-template-columns: 1fr; }
    .v3p-hc-send .v3-btn { width: 100%; height: 52px; }
    .v3p-hc-policies { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .v3p-hc-policy { font-size: 15px; padding: 20px 12px; }
}

/* ==================== review lane account-panels (28 Oct): presentation fixes ==================== */
.v3p-hc-field small { font-size: 13px; }
/* notifications (frontend/user/customer/notification/index) inside the V3 account shell */
.v3b-notif-head { margin-bottom: 20px; }
.v3b-notif-head h1 { font: 800 36px/44px var(--v3-font); color: var(--v3-ink); margin: 0; letter-spacing: -.3px; }
.v3b-notif-head p { margin: 6px 0 0; color: var(--v3-muted); font-size: 15px; }
.v3b-notif { border-radius: 20px !important; border: 1px solid var(--v3-line) !important; box-shadow: var(--v3-shadow-1) !important; overflow: hidden; font-family: var(--v3-font); }
.v3b-notif .card-header { border-bottom: 1px solid var(--v3-line); background: #fff; padding: 12px 20px; min-height: 0; }
.v3b-notif .card-header h5 { font-size: 18px !important; line-height: 26px; font-weight: 700 !important; }
.v3b-notif .card-body { padding: 8px 20px 20px; }
.v3b-notif .list-group-item { border-color: var(--v3-line) !important; font-size: 15px; color: var(--v3-ink); }
.v3b-notif .list-group-item a { color: var(--v3-brand-600); font-weight: 600; }
.v3b-notif small.text-muted { font-size: 13px !important; color: var(--v3-muted) !important; }
.v3b-notif .btn-soft-danger { background: transparent !important; color: var(--v3-muted) !important; border: 1px solid var(--v3-line) !important; width: 40px; height: 40px; }
.v3b-notif .btn-soft-danger:hover, .v3b-notif .btn-soft-danger:focus-visible { color: var(--v3-error, #C62828) !important; border-color: currentColor !important; }
.v3b-notif .pagination .page-link { border-radius: 10px; min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 767.98px) { .v3b-notif-head h1 { font-size: 26px; line-height: 34px; } .v3b-notif .card-body { padding: 4px 16px 16px; } }
.v3p-nf__lock { margin: 8px auto 16px; }
/* profile: V2 switches read as V3 brand toggles; the retailer referral block gets the card it lacked */
.v3b-shell__main .payism-switch input:checked ~ span:before { background-color: var(--v3-brand-100) !important; }
.v3b-shell__main .payism-switch input:checked ~ span:after { background-color: var(--v3-brand-600) !important; }
.v3b-shell__main .payism-switch input:focus-visible ~ span:before { box-shadow: var(--v3-focus); }
.v3b-shell__main .payism-saas-card { background: #fff; border: 1px solid var(--v3-line); border-radius: 20px; box-shadow: var(--v3-shadow-1); margin-bottom: 16px; overflow: hidden; font-family: var(--v3-font); }
.v3b-shell__main .payism-saas-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--v3-line); }
.v3b-shell__main .payism-saas-header h5 { font-size: 18px !important; line-height: 26px; font-weight: 700 !important; color: var(--v3-ink) !important; }
.v3b-shell__main .payism-saas-header small { font-size: 13px !important; }
.v3b-shell__main .payism-saas-header-icon { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-right: 12px; flex: none; font-size: 20px; background: var(--v3-brand-100) !important; color: var(--v3-brand-600) !important; }
.v3b-shell__main .payism-saas-body { padding: 16px 20px 20px; }
.v3b-shell__main .payism-saas-label { font-size: 14px; font-weight: 600; color: var(--v3-ink); }
.v3b-shell__main .payism-saas-input, .v3b-shell__main .payism-saas-card .form-control { height: 48px; border-radius: 12px !important; border: 1px solid var(--v3-line-strong) !important; }
.v3b-shell__main .payism-saas-card .fs-12, .v3b-shell__main .payism-saas-card .fs-11 { font-size: 13px !important; }
.v3b-shell__main .card .fs-12.text-muted, .v3b-shell__main .card small.fs-12 { font-size: 13px !important; }
.v3b-od-pay__state { margin-top: 6px; }
.v3b-oitem__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.v3b-auth__form .v3b-field-error { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; font-size: 13px; line-height: 18px; color: var(--v3-error, #C62828); font-weight: 500; }
.v3b-auth__form input[aria-invalid="true"], .v3b-auth__form .iti input[aria-invalid="true"] { border-color: var(--v3-error, #C62828) !important; }

/* ---- V3 match lane account-panels (28 Oct): sign-in / register / OTP closer to signin_1440_v3 and register_1440_v3.
   The hero image and headline are admin-managed (auth_brand.blade.php); this only lays them out. ---- */
.v3b-authbar { display: none; }
.v3b-auth .v3b-auth__brand { padding: 56px 56px 48px 64px; gap: 0; justify-content: flex-start; }
.v3b-auth .v3b-auth__brand h2 { font-size: 42px; line-height: 46px; font-weight: 800; letter-spacing: -.01em; margin: 0; max-width: 380px; }
.v3b-auth .v3b-auth__art { display: block; width: 100%; max-width: 430px; height: auto; aspect-ratio: 430 / 280; object-fit: contain; align-self: center; margin: 4px 0 20px; }
.v3b-auth .v3b-auth__benefits { margin: auto 0 0; gap: 22px; }
.v3b-auth .v3b-auth__benefits li { font-size: 18px; line-height: 26px; font-weight: 500; gap: 36px; color: #fff; }
.v3b-auth .v3b-auth__benefits li .v3x-ico { flex: none; color: #fff; }
.v3b-auth .right-content.v3b-auth__form { padding: 64px 44px 48px 60px !important; justify-content: flex-start !important; }
.v3b-auth .v3b-auth__titles h1 { font-size: 32px; line-height: 40px; }
.v3b-auth .v3b-auth__titles .v3b-sub { font-size: 16px; line-height: 24px; margin: 8px 0 0; }
.v3b-auth .v3b-auth__form .phone-form-group label { font-size: 15px !important; }
.v3b-auth .v3b-auth__form .submit-button { min-height: 54px; font-size: 18px !important; }
.v3b-auth__terms { font-size: 14px; line-height: 20px; color: var(--v3-ink-2); margin: 4px 0 0; }
.v3b-auth__or { display: flex; align-items: center; gap: 16px; margin: 26px 0 16px; color: var(--v3-muted); font-size: 15px; }
.v3b-auth__or::before, .v3b-auth__or::after { content: ''; flex: 1; height: 1px; background: var(--v3-line-strong); }
.v3b-auth .v3b-auth__alt { min-height: 56px; font-size: 17px; font-weight: 700; border-radius: 12px; border-width: 1.5px; }
.v3b-auth__social { display: flex; flex-direction: column; gap: 14px; margin-top: 14px; }
.v3b-auth .v3b-auth__socialbtn { min-height: 56px; border: 1.5px solid var(--v3-line-strong); background: #fff; color: var(--v3-ink) !important; font-size: 17px; font-weight: 700; gap: 14px; border-radius: 12px; }
.v3b-auth__socialbtn i { font-size: 26px; }
.v3b-auth__links { display: flex; flex-wrap: wrap; gap: 10px 0; border-top: 1px solid var(--v3-line-strong); margin-top: 30px; padding-top: 26px; font-size: 14px; color: var(--v3-ink-2); }
.v3b-auth__links > span { padding: 0 18px; border-left: 1px solid var(--v3-line-strong); white-space: nowrap; }
.v3b-auth__links > span:first-child { padding-left: 0; border-left: 0; }
.v3b-auth__links a { font-weight: 700; display: inline-flex; align-items: center; gap: 2px; }
.v3b-auth .v3b-auth__why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 1212px; margin: 70px auto 0; }
.v3b-auth__whycard { background: #fff; border-radius: 16px; box-shadow: var(--v3-shadow-1); text-align: center; padding: 30px 24px 40px; }
.v3b-auth__whyico { display: inline-grid; place-items: center; width: 110px; height: 110px; border-radius: 50%; background: var(--v3-brand-50); color: var(--v3-brand-600); }
.v3b-auth__whycard h2 { font-size: 26px; line-height: 34px; font-weight: 800; margin: 26px 0 6px !important; color: var(--v3-ink); }
.v3b-auth__whycard p { font-size: 19px; line-height: 28px; color: var(--v3-muted); margin: 0; }
.v3b-auth__trust { list-style: none; display: flex; justify-content: space-between; align-items: center; max-width: 1304px; margin: 78px auto 0; padding: 14px 32px 14px 60px; background: #fff; border-radius: 12px; }
.v3b-auth__trust li { display: flex; align-items: center; gap: 18px; font-size: 15px; color: var(--v3-ink); padding-right: 54px; border-right: 1px solid var(--v3-line-strong); }
.v3b-auth__trust li:last-child { border-right: 0; padding-right: 0; }
.v3b-auth__trust .v3x-ico { color: var(--v3-brand-700); }
@media (min-width: 992px) {
    .v3b.v3b-auth .payism-retail-auth-shell, .v3b.v3b-auth .payism-retail-auth-container { max-width: none !important; width: 100% !important; }
    .v3b.v3b-auth { padding: 36px 16px 64px; justify-content: flex-start !important; }
    .v3b-auth .payism-retail-auth-card { max-width: 1100px !important; width: 100% !important; }
    .v3b-auth__links > span:first-child { flex-basis: 100%; margin-bottom: 8px; }
    .v3b-auth__links > span:nth-child(2) { padding-left: 0; border-left: 0; }
    .v3b-auth .payism-auth-image-col > .v3b-auth__brand { min-height: 680px; }
}
@media (max-width: 991.98px) {
    .v3b-auth .v3b-auth__trust { display: none; }
    .v3b-auth .v3b-auth__why { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .v3b.v3b-auth { min-height: 0; justify-content: flex-start !important; padding: 0 0 32px; }
    .v3b-authbar { display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; height: 76px; padding: 0 12px; background: #fff; border-bottom: 1px solid var(--v3-line); margin-bottom: 24px; }
    .v3b-authbar__back { color: var(--v3-ink) !important; display: inline-grid; place-items: center; width: 44px; height: 44px; }
    .v3b-authbar__logo { justify-self: center; }
    .v3b-authbar__logo img { height: 36px; width: auto; }
    .v3b-authbar__help { justify-self: end; font-size: 16px; font-weight: 600; }
    .v3b-auth .payism-retail-auth-card { background: transparent; box-shadow: none !important; border-radius: 0 !important; overflow: visible; }
    .v3b-auth .payism-auth-image-col { padding: 0 16px; }
    .v3b-auth .payism-auth-image-col > .v3b-auth__brand { flex-direction: column; align-items: stretch; padding: 40px 24px 20px; border-radius: 16px; overflow: hidden; }
    .v3b-auth .v3b-auth__brand h2 { font-size: 30px; line-height: 34px; max-width: 260px; }
    .v3b-auth .v3b-auth__art { display: block; max-width: 320px; margin: 8px auto 0; }
    .v3b-auth .v3b-auth__benefits { display: none; }
    .v3b-auth .right-content.v3b-auth__form { padding: 40px 21px 24px !important; background: transparent; }
    .v3b.v3b-auth .payism-retail-auth-content .v3b-auth__titles h1 { font-size: 25px !important; line-height: 32px !important; }
    .v3b-auth .v3b-auth__titles .v3b-sub { font-size: 14px; line-height: 20px; }
    .v3b-auth__terms { text-align: center; }
    .v3b-auth__links { border-top: 0; justify-content: center; margin-top: 20px; padding-top: 12px; }
    .v3b-auth__links > span { padding: 0 10px; border-left: 0; }
    .v3b-auth__links .v3b-auth__q { display: none; }
    .v3b-auth .v3b-auth__why { display: none; }
}

/* Orders list tools + load more + return-window chip (orders_1440_v3, match lane account-panels). */
.v3o-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.v3o-tools { display: flex; gap: 12px; align-items: center; margin: 4px 0 0; }
.v3o-search { position: relative; display: flex; align-items: center; margin: 0; }
.v3o-search .v3x-ico { position: absolute; z-index: 1; left: 14px; color: var(--v3-muted); pointer-events: none; }
.v3o-search input { width: 320px; height: 40px; border: 1px solid var(--v3-line-strong); border-radius: 10px; padding: 0 12px 0 40px; font: 400 14px/20px var(--v3-font); background: #fff; color: var(--v3-ink); }
.v3o-range { margin: 0; }
.v3o-range select { height: 40px; border: 1px solid var(--v3-line-strong); border-radius: 10px; padding: 0 32px 0 14px; font: 500 14px/20px var(--v3-font); background: #fff; color: var(--v3-ink); }
.v3o-search input:focus, .v3o-range select:focus { outline: none; border-color: var(--v3-brand-600); box-shadow: var(--v3-focus); }
.v3o-more { display: flex; align-items: center; justify-content: center; gap: 20px; margin: 24px 0 0; }
.v3o-more .v3b-btn { min-width: 184px; }
.v3o-window { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--v3-warning-50); color: var(--v3-deal); font-size: 13px; line-height: 18px; font-weight: 600; }
@media (max-width: 767.98px) {
    .v3o-tools { width: 100%; }
    .v3o-search { flex: 1; min-width: 0; }
    .v3o-search input { width: 100%; }
    .v3o-more { flex-direction: column; gap: 12px; }
    .v3o-more .v3b-btn { width: 100%; }
}
@media (max-width: 767.98px) {
    /* register_390_v3: no hero on the phone register page; the form leads with a large title. */
    .v3b.v3b-auth.v3p-reg .payism-retail-auth-card .row.no-gutters > div.payism-auth-image-col[class*="col-"]:first-child { display: none !important; }
    .v3b-auth.v3p-reg .right-content.v3b-auth__form { padding-top: 8px !important; }
    .v3b.v3b-auth.v3p-reg .payism-retail-auth-content .v3b-auth__titles h1 { font-size: 32px !important; line-height: 40px !important; }
    .v3b-auth.v3p-reg .v3b-auth__titles .v3b-sub { font-size: 17px; line-height: 24px; }
}
/* Wishlist "Price dropped" chip (wishlist_1440_v3): real drop since the product was saved. */
.v3b-wcard__badge.v3b-wcard__drop { display: inline-flex; align-items: center; gap: 6px; background: var(--v3-success-50); color: var(--v3-success); }
.v3b-wcard__badge.v3b-wcard__drop { white-space: nowrap; }
@media (max-width: 767.98px) { .v3b-wcard__droplbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* ---------- V3 match (profile_1440_v3.png): Personal details + Sign-in and security ---------- */
.v3pp-card { background: #fff; border-radius: var(--v3-r-20, 20px); box-shadow: var(--v3-shadow-1); padding: 24px; margin-bottom: 16px; scroll-margin-top: 90px; }
.v3pp-h2 { font: 800 26px/34px var(--v3-font); letter-spacing: -.2px; color: var(--v3-ink); margin: 0 0 16px; }
.v3pp-grid { display: grid; grid-template-columns: 246px 1fr; gap: 0 40px; }
.v3pp-photo { border-right: 1px solid var(--v3-line); padding-right: 24px; }
.v3pp-avatar-wrap { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 24px; cursor: pointer; }
.v3pp-avatar { position: relative; width: 160px; height: 160px; border-radius: 50%; overflow: hidden; background: var(--v3-brand-50); display: flex; align-items: center; justify-content: center; }
.v3pp-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v3pp-initials { font: 800 48px/1 var(--v3-font); color: var(--v3-brand-600); }
.v3pp-cam { position: absolute; top: 110px; left: calc(50% + 38px); width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: var(--v3-brand-600); box-shadow: var(--v3-shadow-2, 0 2px 8px rgba(16,24,40,.16)); display: inline-flex; align-items: center; justify-content: center; }
.v3pp-change { color: var(--v3-brand-600); font-weight: 600; font-size: 15px; }
.v3pp-fields { display: flex; flex-direction: column; max-width: 640px; padding-top: 8px; }
.v3pp-label { display: block; font-size: 14px; line-height: 20px; color: var(--v3-ink-2); margin: 14px 0 6px; }
.v3pp-fields > .v3pp-label:first-child { margin-top: 0; }
.v3pp-input, .v3pp-input--ro input { width: 100%; height: 40px; border: 1px solid var(--v3-line-strong); border-radius: 8px; padding: 0 16px; font: 400 15px/1 var(--v3-font); color: var(--v3-ink); background: #fff; }
.v3pp-input:focus, .v3pp-input--ro input:focus { outline: none; border-color: var(--v3-brand-600); box-shadow: var(--v3-ring); }
.v3pp-input--ro { position: relative; padding: 0; border: 0; height: auto; flex: 1 1 auto; min-width: 0; }
.v3pp-input--ro input { padding-right: 120px; }
.v3pp-ok { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 6px; color: var(--v3-success); font-size: 14px; font-weight: 500; }
.v3pp-ok svg { width: 20px; height: 20px; }
.v3pp-warn { display: inline-flex; align-items: center; gap: 6px; color: var(--v3-warning); font-size: 14px; white-space: nowrap; }
.v3pp-warn svg { width: 18px; height: 18px; }
.v3pp-row { display: flex; align-items: center; gap: 16px; }
.v3pp-link { color: var(--v3-brand-600) !important; font-weight: 600; font-size: 15px; white-space: nowrap; }
.v3pp-linkbtn { background: none; border: 0; padding: 0; }
.v3pp-radios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 512px; }
.v3pp-radio { display: flex; align-items: center; gap: 12px; height: 38px; padding: 0 14px; border: 1px solid var(--v3-line-strong); border-radius: 6px; margin: 0; cursor: pointer; font-size: 15px; color: var(--v3-ink); }
.v3pp-radio input { width: 18px; height: 18px; accent-color: var(--v3-brand-600); margin: 0; }
.v3pp-radio:has(input:checked) { border-color: var(--v3-brand-600); background: var(--v3-brand-50); box-shadow: inset 0 0 0 1px var(--v3-brand-600); }
.v3pp-actions { display: flex; align-items: center; gap: 28px; border-top: 1px solid var(--v3-line); margin-top: 24px; padding-top: 12px; }
.v3pp-save { min-width: 176px; height: 40px; }
.v3pp-list { list-style: none; margin: 0; padding: 0; }
.v3pp-item { display: flex; align-items: center; gap: 24px; padding: 12px 0; border-bottom: 1px solid var(--v3-line); }
.v3pp-item:last-child { border-bottom: 0; }
.v3pp-item--top { align-items: flex-start; }
.v3pp-well { flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%; background: var(--v3-brand-50); color: var(--v3-brand-600); display: inline-flex; align-items: center; justify-content: center; }
.v3pp-item__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v3pp-item__text strong { font-size: 17px; line-height: 24px; color: var(--v3-ink); }
.v3pp-on { color: var(--v3-brand-600); font-size: 15px; }
.v3pp-muted { color: var(--v3-muted); font-size: 15px; }
.v3pp-btn { height: 40px; padding: 0 24px; }
.v3pp-pwd { padding: 12px 0 16px 78px; border-bottom: 1px solid var(--v3-line); }
.v3pp-pwd[hidden] { display: none; }
.v3pp-pwd__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 16px; align-items: end; }
.v3pp-pwd__form .v3pp-label { margin-top: 0; }
.v3pp-device { display: flex; align-items: center; gap: 14px; padding: 10px 0; font-size: 15px; color: var(--v3-ink); border-bottom: 1px solid var(--v3-line); }
.v3pp-device:last-child { border-bottom: 0; }
.v3pp-device > svg { flex: 0 0 auto; color: var(--v3-ink-2); }
.v3pp-this { color: var(--v3-brand-600); }
.v3pp-switch { flex: 0 0 auto; }
@media (max-width: 767px) {
    .v3pp-card { padding: 20px 16px; border-radius: 16px; }
    .v3pp-h2 { font-size: 22px; line-height: 28px; }
    .v3pp-grid { grid-template-columns: 1fr; }
    .v3pp-photo { border-right: 0; padding-right: 0; }
    .v3pp-avatar-wrap { margin: 4px 0 16px; }
    .v3pp-avatar { width: 120px; height: 120px; }
    .v3pp-cam { top: 80px; left: calc(50% + 26px); width: 40px; height: 40px; }
    .v3pp-row { flex-wrap: wrap; gap: 8px 16px; }
    .v3pp-input--ro { flex-basis: 100%; }
    .v3pp-radios { grid-template-columns: 1fr 1fr; }
    .v3pp-item { gap: 14px; flex-wrap: wrap; }
    .v3pp-well { width: 44px; height: 44px; }
    .v3pp-item__text { flex-basis: calc(100% - 140px); }
    .v3pp-pwd { padding-left: 0; }
    .v3pp-pwd__form { grid-template-columns: 1fr; }
    .v3pp-device { flex-wrap: wrap; }
}
.v3pp-radios { max-width: none; grid-template-columns: repeat(3, minmax(150px, 166px)); }
.v3pp-radio { white-space: nowrap; }
.v3pp-langs { display: flex; flex-wrap: wrap; gap: 10px; }
.v3pp-lang { background: #fff; min-width: 108px; height: 38px; }
.v3pp-dot { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--v3-ink-2); flex: 0 0 auto; }
.v3pp-lang[aria-pressed="true"] { border-color: var(--v3-brand-600); background: var(--v3-brand-50); box-shadow: inset 0 0 0 1px var(--v3-brand-600); color: var(--v3-brand-600); font-weight: 600; }
.v3pp-lang[aria-pressed="true"] .v3pp-dot { border-color: var(--v3-brand-600); box-shadow: inset 0 0 0 4px #fff; background: var(--v3-brand-600); }
@media (max-width: 767px) { .v3pp-radios { grid-template-columns: 1fr 1fr; } .v3pp-lang { min-width: 0; } }
/* V3 match (contact_1440_v3.png): admin-managed clay headset on the right of the help hero, fading into the panel */
.v3p-hc-hero { position: relative; overflow: hidden; min-height: 280px; }
.v3p-hc-hero__text { position: relative; z-index: 1; max-width: 660px; }
.v3p-hc-hero__pic { position: absolute; top: 0; right: 0; height: 100%; width: auto; max-width: 46%; object-fit: cover; object-position: right center; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%); mask-image: linear-gradient(to right, transparent 0, #000 22%); pointer-events: none; }
@media (max-width: 991px) { .v3p-hc-hero__pic { display: none; } .v3p-hc-hero { min-height: 0; } }

/* Round 6 polish (final rounds): followed shops as V3 cards (followed_sellers.blade.php). */
.v3r6-follow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.v3r6-follow .v3b-card + .v3b-card { margin-top: 0; }
.v3r6-follow__card { display: flex; align-items: center; gap: 16px; }
.v3r6-follow__logo { flex: none; width: 64px; height: 64px; border-radius: 16px; background: var(--v3-tile); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.v3r6-follow__logo img { width: 100%; height: 100%; object-fit: cover; }
.v3r6-follow__info { flex: 1; min-width: 0; }
.v3r6-follow__name { margin: 0 0 4px; font: 700 17px/24px var(--v3-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v3r6-follow__name a { color: var(--v3-ink) !important; }
.v3r6-follow__muted { font-size: 14px; color: var(--v3-muted); }
.v3r6-follow__actions { flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.v3r6-follow__actions .v3b-btn { height: 40px; padding: 0 16px; font-size: 14px; }
.v3r6-follow__unfollow { border: 0; background: none; padding: 2px 4px; font: 600 13px var(--v3-font); color: var(--v3-muted); cursor: pointer; }
.v3r6-follow__unfollow:hover { color: var(--v3-error, #D63B3B); }
@media (max-width: 991.98px) { .v3r6-follow { grid-template-columns: minmax(0, 1fr); gap: 12px; } }
@media (max-width: 419.98px) {
    .v3r6-follow__card { flex-wrap: wrap; }
    .v3r6-follow__actions { flex-direction: row; justify-content: space-between; width: 100%; }
}

/* H8 E2E round 14: a policy body pasted from another page (inline widths of 700 or 1400 px, its own grid and
   breadcrumb) ran off the right edge at 1440 and under the phone screen. Everything inside stays in the column. */
.v3p-prose * { max-width: 100%; box-sizing: border-box; }
.v3p-prose [style*="width"] { width: auto !important; }
.v3p-prose .row { margin-left: 0; margin-right: 0; }
.v3p-prose img, .v3p-prose video, .v3p-prose iframe { height: auto; }
.v3p-prose table { display: block; overflow-x: auto; }
.v3p-prose b, .v3p-prose strong, .v3p-prose em, .v3p-prose i, .v3p-prose u, .v3p-prose a, .v3p-prose div { font-size: inherit !important; line-height: inherit !important; }
/* E2E 30 r9: the profile's own field errors (they were never shown). */
.v3pp-error { display: block; margin: -4px 0 8px; font-size: 13px; line-height: 18px; color: var(--v3-error, #C62828); font-weight: 500; }
