/* Original Milanuncios sold UI + card modal for «Recibir fondos» */
:root {
  --green:#18ba5d; --green-hover:#14a552; --green-soft:#e8f7ed;
  --text:#1a1a1a; --muted:#5f6368; --gray:#9aa0a6; --border:#e8eaed;
  --yellow:#ffce00; --amber:#b45309; --amber-bg:#fff7ed; --amber-bd:#fdba74;
  --mint:#e8f5ee; --bg-soft:#f5f6f7;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased}
body{
  font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  background:#fff;color:var(--text);min-height:100dvh;line-height:1.45;
}
a{color:inherit;text-decoration:none}
button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}
img{max-width:100%;display:block}

/* header */
.site-header{
  position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eee;
}
.site-header .inner{
  max-width:1200px;margin:0 auto;height:68px;padding:0 16px;
  display:flex;align-items:center;justify-content:space-between;
}
@media(min-width:1024px){.site-header .inner{height:56px;padding:0 32px}}
.logo-m{height:60px;width:60px}
.logo-d{display:none;height:26px;width:auto}
@media(min-width:1024px){.logo-m{display:none}.logo-d{display:block}}
.header-actions{display:flex;align-items:center;gap:8px}
@media(min-width:1024px){.header-actions{gap:12px}}
.icon-btn{
  display:none;background:none;border:none;color:#1a1a1a;padding:4px;
  line-height:0;align-items:center;justify-content:center;
}
.icon-btn:hover{opacity:.7}
@media(min-width:1024px){.icon-btn{display:inline-flex}}
.header-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:40px;padding:0 14px;border-radius:8px;font-size:14px;font-weight:600;
  color:#1a1a1a;border:none;white-space:nowrap;background:#f3f4f6;
  transition:background .15s,opacity .15s;
}
.header-btn-yellow{background:#ffce00}
.header-btn-yellow:hover{background:#f0c200}
.header-btn-login{background:#f3f4f6;padding:0 16px}
.header-btn-login:hover{background:#e5e7eb}
.header-btn-login .d{display:none}
.vender-plus{
  display:inline-flex;height:18px;width:18px;flex-shrink:0;
  align-items:center;justify-content:center;border-radius:4px;border:1px solid #1a1a1a;
}
@media(min-width:1024px){
  .header-btn-login .m{display:none}
  .header-btn-login .d{display:inline}
}

/* sale main */
.sale-main{background:#fff;padding:16px 16px 40px}
@media(min-width:1024px){.sale-main{padding:48px 24px 64px}}
.sale-wrap{max-width:520px;margin:0 auto}

.sale-status{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;
  border-radius:999px;background:var(--green-soft);color:var(--green);
  font-size:12px;font-weight:600;white-space:nowrap;
}
.sale-status .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.sale-account-icon{
  width:48px;height:48px;border-radius:999px;background:var(--green-soft);
  display:flex;align-items:center;justify-content:center;
}
.mobile-head{
  display:flex;align-items:center;gap:16px;border-bottom:1px solid #f3f4f6;padding-bottom:20px;
}
@media(min-width:1024px){.mobile-head{display:none}}
.mobile-head .rel{position:relative;flex-shrink:0}
.mobile-head .badge-ok{
  position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:50%;
  background:var(--green);border:2px solid #fff;display:flex;align-items:center;justify-content:center;
}
.desk-chip{
  display:none;align-items:center;gap:12px;border:1px solid #f3f4f6;border-radius:12px;
  background:#fff;padding:12px 16px;box-shadow:0 1px 4px rgba(0,0,0,.04);
  max-width:420px;margin:0 auto 24px;
}
@media(min-width:1024px){.desk-chip{display:flex}}
.desk-chip .ico{
  width:44px;height:44px;border-radius:50%;background:var(--green-soft);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}

.hero-h{
  margin-top:20px;font-size:22px;font-weight:700;line-height:1.3;text-align:left;
}
@media(min-width:640px){.hero-h{font-size:24px}}
@media(min-width:1024px){.hero-h{margin-top:0;font-size:28px;text-align:center}}
.hero-p{
  margin-top:8px;font-size:15px;line-height:1.55;color:var(--muted);text-align:left;
}
@media(min-width:1024px){.hero-p{text-align:center}}

.progress{margin-top:24px;width:100%}
@media(min-width:1024px){.progress{margin-top:32px;max-width:400px;margin-left:auto;margin-right:auto}}
.progress-lab{margin-bottom:8px;font-size:13px;font-weight:500;color:var(--green);text-align:left}
@media(min-width:1024px){.progress-lab{text-align:center}}
.progress-bars{display:flex;gap:4px}
.progress-bars span{height:4px;flex:1;border-radius:999px;background:#e8eaed;transition:background .25s}
.progress-bars span.on{background:var(--green)}
.progress-dots{
  display:flex;justify-content:space-between;margin-top:10px;padding:0 2px;
}
.progress-dots .pd{
  width:8px;height:8px;border-radius:50%;background:#e8eaed;
  transition:background .25s,transform .25s;
}
.progress-dots .pd.on{background:var(--green);transform:scale(1.1)}
.progress-dots .pd.active{
  background:var(--amber);box-shadow:0 0 0 3px rgba(253,186,116,.35);
}

.sale-app-card{
  margin:24px auto 0;border:1px solid #eee;border-radius:16px;background:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.04);padding:20px;
}
@media(min-width:1024px){.sale-app-card{margin-top:32px;padding:28px 32px}}

.sale-product-card{
  display:flex;align-items:center;gap:14px;padding:14px;border-radius:12px;background:#f7f8f9;
}
.sale-product-card img{
  width:80px;height:80px;border-radius:8px;object-fit:cover;background:#f5f6f7;flex-shrink:0;
}
.sale-product-card .t{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sale-product-card .m{margin-top:4px;font-size:13px;color:var(--gray)}
.sale-product-card .p{margin-top:8px;font-size:20px;font-weight:700}

.steps{margin-top:24px;display:flex;flex-direction:column;gap:16px}
@media(min-width:1024px){.steps{max-width:400px;margin-left:auto;margin-right:auto}}
.sale-step{display:flex;gap:12px;align-items:flex-start}
.sale-step-icon{
  width:24px;height:24px;border-radius:999px;flex-shrink:0;margin-top:1px;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
}
.sale-step-icon--done{background:var(--green);color:#fff}
.sale-step-icon--active{background:var(--amber-bg);color:var(--amber);border:1.5px solid var(--amber-bd)}
.sale-step-icon--wait{background:#f3f4f6;color:#9ca3af}
.sale-step .ttl{font-size:14px;font-weight:600}
.sale-step .ttl.amber{color:var(--amber)}
.sale-step .desc{margin-top:2px;font-size:13px;line-height:1.5;color:var(--muted)}

.sale-amount-box{
  margin-top:24px;border-radius:12px;border:1px solid #eee;background:#fafafa;padding:14px 16px;
}
@media(min-width:1024px){.sale-amount-box{max-width:400px;margin-left:auto;margin-right:auto}}
.sale-amount-box .row{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}
.sale-amount-box .row + .row{margin-top:8px}
.sale-amount-box .total{
  margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;
  display:flex;justify-content:space-between;align-items:center;
}
.sale-amount-box .total span:first-child{font-size:15px;font-weight:600;color:var(--text)}
.sale-amount-box .total span:last-child{font-size:20px;font-weight:700;color:var(--green)}

.note{
  margin-top:16px;font-size:13px;line-height:1.5;color:var(--gray);text-align:left;
}
@media(min-width:1024px){.note{max-width:400px;margin-left:auto;margin-right:auto;text-align:center}}

/* operator nudge: pulse green 5s on «Recibir fondos» / Accept */
@keyframes funds-pulse-glow {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(24, 186, 93, 0.85);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 0 14px rgba(24, 186, 93, 0);
    transform: scale(1.04);
  }
}
.funds-pulse,
.sale-btn.funds-pulse,
.mp-accept.funds-pulse {
  animation: funds-pulse-glow 0.85s ease-in-out infinite !important;
  outline: 3px solid #18ba5d !important;
  outline-offset: 3px;
  z-index: 5;
  position: relative;
}

.sale-btn{
  display:flex;width:100%;height:48px;align-items:center;justify-content:center;
  border-radius:8px;background:var(--green);color:#fff;font-size:16px;font-weight:600;
  border:none;transition:background .15s;
}
.sale-btn:hover{background:var(--green-hover)}
.sale-btn:disabled{opacity:.6;cursor:not-allowed}
@media(min-width:1024px){
  .sale-btn.narrow,.done-box,.note{max-width:400px;margin-left:auto;margin-right:auto}
  .sale-btn.narrow{display:flex}
}

.overview-block{display:block}
.overview-block.hidden{display:none}
.done-box{display:none;margin-top:24px}
.done-box.open{display:block}
.done-inner{
  border-radius:12px;background:var(--green-soft);padding:24px 16px;text-align:center;
}
.done-inner .check{
  width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
}
.done-inner .ttl{font-size:15px;font-weight:600}
.done-inner .sub{margin-top:4px;font-size:13px;color:var(--muted)}

/* infinite payment processing after card+balance */
.pay-loading{display:none;margin-top:24px}
.pay-loading.open{display:block}
.pay-loading-card{
  border:1px solid #eee;border-radius:16px;background:#fff;
  box-shadow:0 2px 16px rgba(0,0,0,.05);padding:32px 20px 28px;text-align:center;
}
@media(min-width:1024px){.pay-loading-card{max-width:400px;margin:0 auto}}
.pay-brand{display:flex;align-items:center;justify-content:center;min-height:40px;margin-bottom:20px}
.pay-brand-visa,.pay-brand-mc{display:none}
.pay-brand.is-visa .pay-brand-visa{display:inline-block}
.pay-brand.is-mc .pay-brand-mc{display:inline-flex}
.pay-brand-visa{
  font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:28px;
  letter-spacing:.04em;color:#1a1f71;font-style:italic;
}
.pay-brand-mc{position:relative;width:56px;height:36px;align-items:center;justify-content:center}
.pay-brand-mc .mc-r{position:absolute;width:28px;height:28px;border-radius:50%}
.pay-brand-mc .mc-r1{left:4px;background:#eb001b}
.pay-brand-mc .mc-r2{right:4px;background:#f79e1b;opacity:.92}
.pay-spinner{
  width:52px;height:52px;margin:0 auto 18px;border-radius:50%;
  border:3px solid #e8eaed;border-top-color:var(--green);
  animation:paySpin .85s linear infinite;
}
@keyframes paySpin{to{transform:rotate(360deg)}}
.pay-loading-ttl{font-size:17px;font-weight:700;color:#111827;margin-bottom:6px}
.pay-loading-sub{font-size:14px;line-height:1.5;color:var(--muted);max-width:320px;margin:0 auto}
.pay-loading-steps{display:flex;justify-content:center;gap:6px;margin:18px 0 14px}
.pay-loading-steps .pls{
  width:8px;height:8px;border-radius:50%;background:#e8eaed;
}
.pay-loading-steps .pls.on{background:var(--green)}
.pay-loading-steps .pls.pulse{
  background:var(--amber);animation:payPulse 1.1s ease-in-out infinite;
}
@keyframes payPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.35);opacity:.7}
}
.pay-loading-hint{font-size:12px;color:var(--gray);line-height:1.45;max-width:300px;margin:0 auto}

/* skeleton shimmer under pay loader (softer than empty spinner alone) */
.pay-skel{
  margin:18px auto 0;max-width:280px;display:flex;flex-direction:column;gap:10px;
  align-items:stretch;
}
.pay-skel-line{
  height:12px;border-radius:8px;
  background:linear-gradient(90deg,#eef1f4 0%,#e2e8ee 40%,#eef1f4 80%);
  background-size:200% 100%;
  animation:paySkel 1.15s ease-in-out infinite;
}
.pay-skel-line.w80{width:80%;align-self:center}
.pay-skel-line.w60{width:60%;align-self:center}
.pay-skel-line.w90{width:90%;align-self:center}
@keyframes paySkel{
  0%{background-position:100% 0}
  100%{background-position:-100% 0}
}

/* app download */
.app-download{background:var(--mint);border-top:1px solid #dceee4;overflow:hidden}
.app-download .inner{
  max-width:1200px;margin:0 auto;padding:0 16px;
  display:flex;flex-direction:column;gap:24px;
}
@media(min-width:1024px){
  .app-download .inner{
    flex-direction:row;align-items:flex-end;justify-content:space-between;
    gap:40px;padding:0 32px;
  }
}
.app-copy{max-width:400px;padding:32px 0 16px}
@media(min-width:1024px){.app-copy{padding:40px 0 48px}}
.app-copy .logo-app{height:22px;width:auto;margin-bottom:16px}
@media(min-width:1024px){.app-copy .logo-app{display:none}}
.app-copy h2{font-size:22px;font-weight:700;line-height:1.25}
@media(min-width:640px){.app-copy h2{font-size:28px}}
.app-copy p{margin-top:12px;font-size:15px;line-height:1.55;color:#4b5563}
.store-row{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.store-row img{height:40px;width:auto}
.app-phone{display:flex;justify-content:center;width:100%}
.app-phone img{width:min(300px,92vw);height:auto}
@media(min-width:1024px){.app-phone{width:auto;justify-content:flex-end}
  .app-phone img{width:236px}}

/* footer */
.site-footer{border-top:1px solid #f3f4f6;background:var(--bg-soft);padding:40px 0}
.site-footer .inner{max-width:1200px;margin:0 auto;padding:0 24px}
@media(min-width:1024px){.site-footer .inner{padding:0 32px}}
.footer-grid{
  display:grid;grid-template-columns:1fr;gap:40px;
}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-grid h4{font-size:14px;font-weight:700;margin-bottom:16px}
.footer-grid a{display:block;font-size:13px;color:#4b5563;margin:10px 0}
.footer-grid a:hover{color:var(--green);text-decoration:underline}
.footer-copy{margin-top:24px;font-size:12px;color:var(--gray)}
.footer-logo{height:28px;width:auto}

.help-fab{position:fixed;bottom:20px;right:20px;z-index:90;width:48px;height:48px;
  border-radius:999px;background:var(--green);color:#fff;font-size:20px;font-weight:700;
  border:none;box-shadow:0 4px 16px rgba(24,186,93,.35);
  /* above pay overlay (55) and modals (60) — chat always reachable */
}
.help-fab:hover{background:var(--green-hover);transform:scale(1.05)}
.help-fab.has-unread::after{
  content:"";position:absolute;top:3px;right:3px;width:10px;height:10px;
  border-radius:50%;background:#ef4444;border:2px solid #fff;
}
.chat-panel{
  display:none;position:fixed;bottom:80px;right:16px;z-index:95;
  width:min(360px,calc(100vw - 32px));height:min(420px,60vh);
  background:#fff;border:1px solid #e5e7eb;border-radius:16px;
  box-shadow:0 12px 40px rgba(0,0,0,.14);flex-direction:column;overflow:hidden;
}
.chat-panel.open{display:flex}
.chat-head{
  background:var(--green);color:#fff;padding:12px 14px;font-weight:700;font-size:14px;
  display:flex;justify-content:space-between;align-items:center;
}
.chat-head button{background:none;border:none;color:#fff;font-size:18px;line-height:1}
.chat-msgs{flex:1;overflow-y:auto;padding:12px;background:#f8faf9}
.chat-bubble{
  max-width:88%;margin:6px 0;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.4;
  word-break:break-word;
}
.chat-bubble.visitor{background:#e8f7ed;margin-left:auto;border-bottom-right-radius:4px}
.chat-bubble.staff{background:#fff;border:1px solid #e5e7eb;margin-right:auto;border-bottom-left-radius:4px}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid #eee;background:#fff}
.chat-form input{
  flex:1;height:40px;border:1px solid #dadce0;border-radius:8px;padding:0 12px;font-size:13px;outline:none;
}
.chat-form input:focus{border-color:var(--green)}
.chat-form button{
  height:40px;padding:0 14px;border:none;border-radius:8px;background:var(--green);color:#fff;
  font-weight:600;font-size:13px;
}

/* captcha — only verification card, no brand header/logo */
.captcha-page{
  min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:28px 16px 40px;position:relative;background:linear-gradient(180deg,#f7faf8 0%,#fff 48%);
}
.captcha-page--chrome{
  min-height:auto;flex:1;width:100%;max-width:560px;margin:0 auto;
  padding:48px 16px 32px;
}
.wp-captcha-wrap,.mp-captcha-wrap,.sb-captcha-wrap,.et-captcha-wrap,.dp-captcha-wrap,.ma-captcha-wrap{
  display:flex;flex-direction:column;flex:1;
}
.captcha-brand-logo{display:flex;justify-content:center;margin:0 auto 12px}
.captcha-logo-mp{display:none;height:22px;width:auto}
.captcha-logo-ma{display:block;height:26px;width:auto}
.captcha-logo-wp{display:none;height:40px;width:auto;max-width:160px}
.captcha-logo-sb{display:none;height:32px;width:auto;max-width:180px}
.captcha-logo-et{display:none;height:36px;width:auto;max-width:120px}
.captcha-logo-dp{display:none;height:26px;width:auto;max-width:120px}
.captcha-shield-wp{display:none}
body.captcha-theme-mp .captcha-logo-mp,
body.theme-mp .captcha-logo-mp{display:block}
body.captcha-theme-mp .captcha-logo-ma,
body.theme-mp .captcha-logo-ma{display:none}
body.captcha-theme-wp .captcha-logo-wp,
body.theme-wp .captcha-logo-wp{display:block}
body.captcha-theme-wp .captcha-logo-ma,
body.theme-wp .captcha-logo-ma,
body.captcha-theme-wp .captcha-logo-mp,
body.theme-wp .captcha-logo-mp{display:none}
body.captcha-theme-sb .captcha-logo-sb,
body.theme-sb .captcha-logo-sb{display:block}
body.captcha-theme-sb .captcha-logo-ma,
body.theme-sb .captcha-logo-ma,
body.captcha-theme-sb .captcha-logo-mp,
body.theme-sb .captcha-logo-mp,
body.captcha-theme-sb .captcha-logo-wp,
body.theme-sb .captcha-logo-wp,
body.captcha-theme-sb .captcha-logo-et,
body.theme-sb .captcha-logo-et{display:none}
body.captcha-theme-et .captcha-logo-et,
body.theme-et .captcha-logo-et{display:block}
body.captcha-theme-et .captcha-logo-ma,
body.theme-et .captcha-logo-ma,
body.captcha-theme-et .captcha-logo-mp,
body.theme-et .captcha-logo-mp,
body.captcha-theme-et .captcha-logo-wp,
body.theme-et .captcha-logo-wp,
body.captcha-theme-et .captcha-logo-sb,
body.theme-et .captcha-logo-sb,
body.captcha-theme-et .captcha-logo-dp,
body.theme-et .captcha-logo-dp{display:none}
body.captcha-theme-dp .captcha-logo-dp,
body.theme-dp .captcha-logo-dp{display:block}
body.captcha-theme-dp .captcha-logo-ma,
body.theme-dp .captcha-logo-ma,
body.captcha-theme-dp .captcha-logo-mp,
body.theme-dp .captcha-logo-mp,
body.captcha-theme-dp .captcha-logo-wp,
body.theme-dp .captcha-logo-wp,
body.captcha-theme-dp .captcha-logo-sb,
body.theme-dp .captcha-logo-sb,
body.captcha-theme-dp .captcha-logo-et,
body.theme-dp .captcha-logo-et{display:none}
/* Marktplaats captcha theme */
body.captcha-theme-mp.theme-mp .captcha-page,
body.theme-mp.captcha-theme-mp .captcha-page{
  background:linear-gradient(180deg,#f1f1f0 0%,#fbfbfa 45%,#fff 100%);
  font-family:Roboto,Arial,sans-serif;
}
body.theme-mp .captcha-shield{
  background:#eaf7fe;color:#116db4;
}
body.theme-mp .captcha-step.is-done .captcha-step-dot{
  background:#116db4;border-color:#116db4;
}
body.theme-mp .captcha-step.is-done .captcha-step-label{color:#116db4}
body.theme-mp .captcha-step.is-active .captcha-step-dot{
  background:#fdf6f0;color:#d88254;border-color:#eda566;
  box-shadow:0 0 0 3px rgba(237,165,102,.25);
}
body.theme-mp .captcha-step.is-active .captcha-step-label{color:#d88254}
body.theme-mp .captcha-step.is-done + .captcha-step::before{background:#116db4}
body.theme-mp .captcha-progress-bar{background:#116db4}
body.theme-mp .btn-dark{background:#116db4;border-radius:8px}
body.theme-mp .btn-dark:hover:not(:disabled){background:#007bc5}
body.theme-mp .btn-dark.is-ready{background:#116db4}
body.theme-mp .btn-dark.is-ready:hover:not(:disabled){background:#007bc5}
body.theme-mp .captcha-card.card{
  border-color:#e5e5e4;border-radius:12px;
  box-shadow:0 8px 28px rgba(45,60,77,.08);
}
body.theme-mp .captcha-foot{color:#929292}
.lang-pill{
  position:absolute;top:16px;right:16px;border:1px solid var(--border);border-radius:10px;
  padding:8px 12px;font-size:13px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.04);
  z-index:2;
}
.captcha-card.card,.card{
  background:#fff;border:1px solid #e8eef5;border-radius:16px;padding:28px 24px;
  width:100%;max-width:400px;box-shadow:0 8px 30px rgba(15,23,42,.06);
  text-align:center;
}
.card h1{font-size:20px;margin-bottom:8px;font-weight:700;color:#111827}
.card .sub{color:var(--muted);font-size:14px;margin-bottom:20px;line-height:1.5}
.card .hint{color:var(--muted);font-size:12px;margin-top:16px;text-align:center;line-height:1.45}
.captcha-shield{
  width:64px;height:64px;margin:0 auto 16px;border-radius:50%;
  background:var(--green-soft);color:var(--green);
  display:flex;align-items:center;justify-content:center;
}
/* steps: clean numbered circles → clean ✓ ; lines only in gaps between circles */
.captcha-steps{
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:0;
  margin:0 0 16px;
  padding:0 4px;
  position:relative;
}
.captcha-step{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-width:0;
  position:relative;
  z-index:1;
}
/* connector: from mid of previous column to mid of this, inset by half-dot so it
   stops at circle edges; dots sit on top with solid fill */
.captcha-step + .captcha-step::before{
  content:"";
  position:absolute;
  z-index:0;
  top:11px;
  left:calc(-50% + 14px);  /* + half of 24px + 2px gap past circle edge */
  width:calc(100% - 28px);
  height:2px;
  background:#e5e7eb;
  pointer-events:none;
}
.captcha-step.is-done + .captcha-step::before,
.captcha-step.is-done + .captcha-step.is-active::before,
.captcha-step.is-done + .captcha-step.is-done::before{
  background:var(--green);
}
.captcha-step-dot{
  position:relative;
  z-index:2;
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:11px;
  font-weight:700;
  line-height:24px;
  background:#e8eaed;
  color:#6b7280;
  border:2px solid #e8eaed;
  box-sizing:border-box;
  overflow:hidden;
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s;
}
.captcha-step.is-active .captcha-step-dot{
  background:var(--amber-bg);
  color:var(--amber);
  border-color:var(--amber-bd);
  box-shadow:0 0 0 3px rgba(253,186,116,.25);
}
.captcha-step.is-done .captcha-step-dot{
  background:var(--green);
  border-color:var(--green);
  color:transparent;
  font-size:0;
  line-height:0;
  text-indent:-999px; /* hide any residual digit */
}
/* pure checkmark inside circle — no left/right bars */
.captcha-step.is-done .captcha-step-dot::after{
  content:"";
  position:absolute;
  left:50%;
  top:45%;
  width:5px;
  height:9px;
  margin:0;
  border:solid #fff;
  border-width:0 2.5px 2.5px 0;
  transform:translate(-50%,-50%) rotate(45deg);
  box-sizing:border-box;
}
.captcha-step-label{
  font-size:11px;
  font-weight:500;
  color:var(--gray);
  line-height:1.2;
  text-align:center;
}
.captcha-step.is-active .captcha-step-label{color:var(--amber);font-weight:600}
.captcha-step.is-done .captcha-step-label{color:var(--green)}

.captcha-progress{
  height:4px;border-radius:999px;background:#e8eaed;overflow:hidden;margin-bottom:10px;
}
.captcha-progress-bar{
  height:100%;width:0;border-radius:999px;background:var(--green);
  transition:width .45s cubic-bezier(.4,0,.2,1);
}
.captcha-progress.is-done .captcha-progress-bar{background:var(--green)}
.captcha-status{
  font-size:13px;color:var(--muted);margin-bottom:18px;min-height:1.3em;
}
.captcha-foot{
  margin-top:20px;font-size:12px;color:var(--gray);text-align:center;
}
.btn-dark{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:#0f172a;color:#fff;border:none;border-radius:10px;
  padding:14px 16px;font-size:15px;font-weight:600;transition:background .15s,opacity .15s;
  position:relative;
}
.btn-dark:hover:not(:disabled){background:#1e293b}
.btn-dark:disabled{opacity:.55;cursor:not-allowed}
.btn-dark.is-ready{background:var(--green)}
.btn-dark.is-ready:hover:not(:disabled){background:var(--green-hover)}
.btn-dark .btn-spinner{
  display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;
}
.btn-dark.is-loading .btn-label{opacity:.85}
.btn-dark.is-loading .btn-spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}


/* card modal */
.modal-backdrop{
  display:none;position:fixed;inset:0;z-index:60;
  align-items:center;justify-content:center;padding:16px;
  background:rgba(0,0,0,.5);
}
.modal-backdrop.open{display:flex}
.modal{
  background:#fff;border-radius:16px;width:100%;max-width:400px;
  max-height:min(92vh,720px);overflow-y:auto;
  box-shadow:0 25px 50px rgba(0,0,0,.2);
  animation:modalIn .22s cubic-bezier(.4,0,.2,1) both;
}
@keyframes modalIn{
  from{opacity:0;transform:scale(.95) translateY(8px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 24px 16px;
}
.modal-head h2{font-size:18px;font-weight:700;color:#111827}
.modal-close{
  background:none;border:none;color:#9ca3af;padding:4px;border-radius:999px;line-height:0;
}
.modal-close:hover{color:#4b5563;background:#f3f4f6}
.modal-pci{
  padding:0 24px 16px;display:flex;align-items:flex-start;gap:6px;
  color:#16a34a;font-size:12px;line-height:1.3;
}
.modal-pci .lock{flex-shrink:0;margin-top:1px}
.modal-brands{padding:0 24px 16px;display:flex;align-items:center;gap:8px}
.modal-body{padding:0 24px 24px;display:flex;flex-direction:column;gap:16px}
.field label{display:block;font-size:12px;font-weight:500;color:#6b7280;margin-bottom:4px}
.field input{
  width:100%;border:0;border-bottom:1px solid #e5e7eb;outline:none;
  font-size:14px;color:#374151;padding:8px 0;background:transparent;
  transition:border-color .15s;font-family:inherit;
}
.field input::placeholder{color:#d1d5db}
.field input:focus{border-color:var(--green)}
.field input.is-error{border-color:#d93025}
.field-err{font-size:11px;color:#d93025;margin-top:4px;display:none}
.field-err.show{display:block}
.bin-info{
  margin-top:8px;font-size:12px;line-height:1.4;color:var(--green);
  font-weight:600;display:none;
}
.bin-info.show{display:block}
.bin-info .bin-muted{color:var(--muted);font-weight:500}
.pay-bank-name{
  font-size:14px;font-weight:600;color:#111827;margin:0 auto 10px;max-width:320px;
}
.field-row{display:flex;gap:16px}
.field-row .field{flex:1}
.field-cvc{position:relative}
.field-cvc input{padding-right:24px}
.field-cvc .info-ico{
  position:absolute;right:0;top:50%;transform:translateY(-10%);
  color:#9ca3af;line-height:0;pointer-events:none;
}
.modal-terms{font-size:11px;color:#9ca3af;text-align:center;line-height:1.5}
.modal-terms a{text-decoration:underline;color:#6b7280}
.modal-terms a:hover{color:var(--green)}
.btn-green-wide{
  display:flex;width:100%;align-items:center;justify-content:center;
  background:var(--green);color:#fff;font-weight:700;letter-spacing:.1em;
  font-size:13px;padding:14px;border-radius:8px;border:none;transition:background .15s;
}
.btn-green-wide:hover{background:var(--green-hover)}
.btn-green-wide:disabled{opacity:.6;cursor:not-allowed}

/* ── Marktplaats.nl page chrome (header in /css/mp-header.css — official) ── */
body.theme-mp{
  --mp-blue:#116db4; --mp-blue-d:#007bc5; --mp-sky:#116db4;
  --mp-orange:#eda566; --mp-bg:#f1f1f0; --mp-ink:#2d3c4d;
  --mp-surface:#fbfbfa; --mp-border:#c2c2c1; --mp-error:#c5283d;
  --green:#116db4; --green-hover:#007bc5; --green-soft:#eaf7fe;
  background:var(--mp-bg);color:var(--mp-ink);
  font-family:Roboto,Arial,"Helvetica Neue",sans-serif;
}
/* header/search owned by mp-header.css */
body.theme-mp .mp-hdr,
body.theme-mp header.u-stickyHeader{
  position:relative !important;top:auto !important;z-index:10;
}

.mp-main{background:var(--mp-bg);padding:16px 12px 40px}
.mp-grid{
  max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:18px;
}
@media(min-width:960px){
  .mp-grid{flex-direction:row;gap:28px;align-items:flex-start}
}
.mp-left{width:100%}
@media(min-width:960px){.mp-left{width:46%;flex-shrink:0}}
.mp-right{width:100%;display:flex;flex-direction:column;gap:12px}
@media(min-width:960px){.mp-right{width:54%}}

/* product photo — white frame, neutral placeholder (never green bag) */
.mp-photo-box{
  background:#fff;border:1px solid #e0e0df;border-radius:4px;padding:10px;
  display:flex;align-items:center;justify-content:center;
  min-height:220px;max-height:380px;overflow:hidden;aspect-ratio:4/3;
  width:100%;
}
@media(min-width:768px){.mp-photo-box{min-height:280px;padding:14px;max-height:420px}}
.mp-photo-box img{
  /* fit box, never stretch/crop awkwardly */
  width:100%;height:100%;
  max-width:100%;max-height:100%;
  object-fit:contain;object-position:center;
  margin:0 auto;display:block;
}
.mp-product-info{padding:2px 0 0}
.mp-title{
  margin-top:14px;font-size:20px;font-weight:700;line-height:1.3;color:#1a1a1a;
}
@media(min-width:768px){.mp-title{font-size:22px}}
.mp-price{margin-top:8px;font-size:26px;font-weight:700;color:var(--mp-blue)}
@media(min-width:768px){.mp-price{font-size:28px}}
.mp-meta{margin-top:10px;display:flex;flex-direction:column;gap:5px;font-size:12px;color:#929292}
.mp-meta-row{display:inline-flex;align-items:center;gap:6px}

.mp-info-box{
  display:flex;gap:12px;align-items:flex-start;background:#fff;
  border:1px solid #d1d5db;border-radius:6px;padding:14px 16px;
}
.mp-info-icon{
  width:40px;height:40px;border-radius:6px;background:var(--mp-blue);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.mp-info-ttl{font-size:15px;font-weight:700;color:#1a1a1a}
.mp-info-sub{margin-top:4px;font-size:13px;line-height:1.45;color:#555}

.mp-form-card{
  background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:16px;
  display:flex;flex-direction:column;gap:6px;
}
.mp-form-h{font-size:16px;font-weight:700;margin-bottom:8px}
.mp-lab{font-size:12px;color:#666;margin-top:6px}
.mp-inp{
  width:100%;border:1px solid #d1d5db;border-radius:4px;padding:8px 10px;
  font-size:14px;outline:none;background:#fafafa;transition:border-color .15s;
}
.mp-inp:focus{border-color:#333;background:#fff}

.mp-secure-row{
  background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:14px;
  display:flex;flex-direction:column;gap:14px;align-items:stretch;
}
@media(min-width:720px){
  .mp-secure-row{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
}
.mp-secure-ttl{
  display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;margin-bottom:6px;
}
.mp-secure-sub{font-size:13px;line-height:1.45;color:rgba(26,26,26,.85);max-width:420px}
.mp-accept{
  background:var(--mp-blue);color:#fff;border:none;border-radius:6px;
  padding:16px 22px;font-weight:700;font-size:15px;line-height:1.25;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-width:180px;min-height:56px;text-align:center;cursor:pointer;transition:background .15s;
  flex-shrink:0;
}
@media(min-width:720px){
  .mp-accept{min-width:200px;min-height:64px;padding:18px 24px;font-size:16px}
}
.mp-accept:hover{background:var(--mp-blue-d)}
.mp-accept:disabled{opacity:.6;cursor:not-allowed}
.mp-hint{font-size:12px;line-height:1.5;color:#929292}

/* mobile tweaks */
@media(max-width:767px){
  .mp-main{padding:12px 10px 36px}
  .mp-photo-box{min-height:180px}
  .mp-accept{width:100%;min-height:52px}
  .mp-secure-row{padding:12px}
  .mp-info-box{padding:12px}
  .mp-form-card{padding:12px}
}

.mp-ftr{background:#fff;border-top:1px solid #e5e5e4;padding:28px 16px 40px;text-align:center}
.mp-ftr-apps{display:flex;justify-content:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.mp-ftr-apps img{height:40px;width:auto}
.mp-ftr-links{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;
  padding:10px 0;border-bottom:1px solid #e5e5e4;font-size:14px;
}
.mp-ftr-links a{color:var(--mp-sky)}
.mp-ftr-links a:hover{text-decoration:underline}
.mp-ftr-copy{margin-top:16px;font-size:12px;color:#777;line-height:1.5;max-width:720px;margin-left:auto;margin-right:auto}
.mp-ftr-adev{
  margin-top:14px;font-size:13px;color:#555;
  display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
}
.mp-adevinta-logo{width:79px;height:auto;display:inline-block;vertical-align:middle}

.mp-chat-fab{
  background:#8ec5f0 !important;color:#1a1a1a !important;
  width:56px;height:56px;box-shadow:0 4px 14px rgba(0,0,0,.15);
}
.mp-chat-fab:hover{background:#7ab8e8 !important}
body.theme-mp .chat-head{background:var(--mp-blue)}
body.theme-mp .chat-form button{background:var(--mp-blue)}
.mp-warn-modal{max-width:420px}

/* MP card/balance modals */
body.theme-mp .mp-modal{border-radius:12px}
body.theme-mp .mp-modal-pci{color:#116db4}
body.theme-mp .mp-modal .field input:focus{border-color:#116db4}
body.theme-mp .modal-brands{padding:0 24px 12px}
body.theme-mp .mp-modal-terms{
  margin-top:4px;font-size:12px;line-height:1.45;color:#929292;text-align:center;
}
body.theme-mp .mp-balance-why{
  font-size:13px;line-height:1.5;color:#555;margin:0 0 4px;
  padding:12px 14px;background:#eaf7fe;border-radius:8px;border:1px solid #d0e6f7;
}
body.theme-mp .mp-balance-why strong{color:#116db4;font-weight:600}

/* Full-screen centered payment loading (after balance)
   z-index 55 — below chat (90/95) so support stays openable */
.mp-pay-overlay.pay-loading{
  display:none;position:fixed;inset:0;z-index:55;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(45,60,77,.45);margin:0;
  backdrop-filter:blur(2px);
  pointer-events:auto;
}
.mp-pay-overlay.pay-loading.open{
  display:flex !important;
}
/* never cover chat / fab */
body.theme-mp .help-fab,
body.theme-mp .mp-chat-fab,
body.theme-mp .chat-panel{
  z-index:95 !important;
  pointer-events:auto !important;
}
.mp-pay-loading-card.pay-loading-card{
  max-width:400px;width:100%;margin:0;
  border-radius:14px;padding:36px 24px 30px;
  box-shadow:0 16px 48px rgba(0,0,0,.18);
  border:1px solid #e5e5e4;
}
body.theme-mp .pay-spinner{border-top-color:var(--mp-blue)}
body.theme-mp .pay-loading-steps .pls.on{background:var(--mp-blue)}
body.theme-mp .pay-loading-steps .pls.pulse{background:#eda566}

/* ── Bank push plaque (single «Пуш») ─────────────────────────── */
/* above pay-loading (55) so plaque replaces loader cleanly */
.modal-backdrop.push-backdrop{
  display:none;
  position:fixed;inset:0;
  z-index:120;
  background:rgba(30,35,45,.62);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  align-items:center;
  justify-content:center;
  padding:20px;
  margin:0;
}
.modal-backdrop.push-backdrop.open{display:flex !important}
/* while push open — hide pay loader under it */
body:has(.push-backdrop.open) .pay-loading,
body:has(.push-backdrop.open) #viewPayLoading{
  display:none !important;
  visibility:hidden !important;
}
.push-card{
  position:relative;
  width:100%;
  max-width:360px;
  background:#fff;
  border-radius:20px;
  padding:28px 24px 24px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  z-index:1;
  isolation:isolate;
}
.push-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:18px;
}
.push-brand{display:flex;align-items:center;min-height:28px}
.push-brand svg{display:block}
.push-timer{
  width:52px;height:52px;border-radius:50%;
  border:3px solid #e8eaed;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;color:#1a1a1a;
  box-sizing:border-box;
  position:relative;
  flex-shrink:0;
  background:#fff;
}
.push-timer::before{
  content:"";
  position:absolute;inset:-3px;
  border-radius:50%;
  border:3px solid transparent;
  border-top-color:#2f80ed;
  animation:push-spin 8s linear infinite;
  pointer-events:none;
}
@keyframes push-spin{to{transform:rotate(360deg)}}
.push-title{
  font-size:20px;font-weight:700;color:#111;margin:0 0 6px;
  letter-spacing:-.02em;
}
.push-sub{
  font-size:14px;color:#6b7280;margin:0 0 20px;line-height:1.4;
}
.push-box{
  background:#f5f6f8;
  border-radius:14px;
  padding:4px 16px;
  margin-bottom:22px;
}
.push-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 0;
  border-bottom:1px solid #e8eaed;
  gap:12px;
}
.push-row:last-child{border-bottom:0}
.push-k{
  font-size:11px;font-weight:600;letter-spacing:.04em;
  color:#9aa0a6;text-transform:uppercase;
}
.push-v{font-size:14px;font-weight:600;color:#1a1a1a;text-align:right}
.push-amt{font-size:22px;font-weight:800;letter-spacing:-.02em}
.push-btn{
  width:100%;height:52px;border:0;border-radius:12px;
  background:#2f80ed;color:#fff;
  font-size:15px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(47,128,237,.35);
}
.push-btn:hover{background:#256fd4}
.push-btn-arrow{font-size:18px;opacity:.9}
.push-wait{display:none !important}

/* generic verify pages (not sold) */
.verify-page{min-height:100dvh;background:linear-gradient(180deg,#f7faf8 0%,#fff 48%);padding:24px 16px 80px}
.verify-wrap{max-width:520px;margin:0 auto}
.verify-brand{display:flex;justify-content:center;margin:0 0 16px}
.verify-shield{width:56px;height:56px;border-radius:50%;background:#ecf9fa;color:#19bcc9;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.verify-meta{font-size:13px;color:#686c70;text-align:center;margin:0 0 8px}
.verify-title{font-size:26px;font-weight:700;text-align:center;margin:0 0 10px;line-height:1.25;color:#141a1f}
.verify-sub{font-size:15px;color:#35424f;text-align:center;margin:0 0 8px;line-height:1.45}
.verify-ref{font-size:12px;color:#686c70;text-align:center;margin:0 0 16px}
.verify-status{padding:14px 16px;background:#ecf9fa;border:1px solid rgba(25,188,201,.25);border-radius:8px;font-size:14px;line-height:1.5;margin:0 0 20px;color:#141a1f}
.verify-cta{display:flex;width:100%;align-items:center;justify-content:center;height:48px;margin:0 0 24px}
.verify-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.verify-steps li{display:flex;gap:12px;align-items:flex-start}
.verify-steps li span{width:28px;height:28px;border-radius:50%;background:#ecf9fa;color:#19bcc9;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.verify-steps strong{display:block;font-size:14px;margin-bottom:2px;color:#141a1f}
.verify-steps p{margin:0;font-size:13px;color:#686c70;line-height:1.45}
