.purchase-captcha {
  --captcha-accent: #159667;
  --captcha-accent-dark: #087451;
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) minmax(210px, .72fr);
  align-items: center;
  gap: 16px;
  overflow: hidden;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #cfe0d8;
  border-color: color-mix(in srgb, var(--captcha-accent) 28%, #dce5e1);
  border-radius: 16px;
  background: #f6faf8;
  background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--captcha-accent) 12%, transparent), transparent 46%), linear-gradient(135deg, #fff, #f6faf8);
  box-shadow: 0 16px 38px rgba(15, 55, 38, .08);
}
.prof-booking-form .purchase-captcha { --captcha-accent: #14885c; --captcha-accent-dark: #086443; }
.purchase-captcha::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--captcha-accent), #5dcfa2); content: ""; }
.purchase-captcha-brand { position: relative; display: grid; place-items: center; width: 52px; height: 58px; clip-path: polygon(50% 0, 92% 16%, 88% 70%, 50% 100%, 12% 70%, 8% 16%); background: linear-gradient(145deg, var(--captcha-accent), var(--captcha-accent-dark)); color: #fff; box-shadow: 0 12px 24px color-mix(in srgb, var(--captcha-accent) 25%, transparent); }
.purchase-captcha-brand span { font-size: 12px; font-weight: 950; letter-spacing: -.04em; }
.purchase-captcha-brand i { position: absolute; right: 8px; bottom: 12px; width: 7px; height: 4px; border: solid #fff; border-width: 0 0 2px 2px; transform: rotate(-45deg); }
.purchase-captcha-copy { min-width: 0; }
.purchase-captcha-copy > span { display: block; color: var(--captcha-accent-dark); font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.purchase-captcha-copy strong { display: block; margin-top: 4px; color: #10251d; font-size: 14px; line-height: 1.25; }
.purchase-captcha-copy p { margin: 4px 0 0; color: #64766e; font-size: 10px; line-height: 1.45; }
.purchase-captcha-challenge { display: grid !important; grid-template-columns: auto minmax(92px, 1fr) !important; align-items: center !important; gap: 10px !important; margin: 0 !important; padding: 8px 9px 8px 13px !important; border: 1px solid #cddbd5 !important; border-radius: 11px !important; background: rgba(255, 255, 255, .88) !important; color: #18352a !important; box-shadow: inset 0 1px 0 #fff; }
.purchase-captcha-equation { white-space: nowrap; font-size: 18px; font-weight: 900; letter-spacing: .02em; }
.purchase-captcha .purchase-captcha-input { width: 100% !important; min-height: 40px !important; margin: 0 !important; padding: 8px 10px !important; border: 1px solid #bfd0c8 !important; border-radius: 8px !important; outline: 0; background: #fff !important; color: #10251d !important; font-size: 15px !important; font-weight: 800 !important; text-align: center; }
.purchase-captcha .purchase-captcha-input:focus { border-color: var(--captcha-accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--captcha-accent) 15%, transparent); }
.purchase-captcha:has(.purchase-captcha-input:valid) .purchase-captcha-challenge { border-color: color-mix(in srgb, var(--captcha-accent) 62%, #fff) !important; }
.purchase-captcha-privacy { grid-column: 2 / -1; display: flex; align-items: center; gap: 6px; margin-top: -8px; color: #718078; font-size: 9px; }
.purchase-captcha-privacy i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: #e5f5ed; color: var(--captcha-accent-dark); font-style: normal; font-size: 9px; font-weight: 900; }
@media (max-width: 680px) { .purchase-captcha { grid-template-columns: 46px 1fr; gap: 12px; padding: 16px; } .purchase-captcha-brand { width: 44px; height: 50px; } .purchase-captcha-challenge { grid-column: 1 / -1; } .purchase-captcha-privacy { grid-column: 1 / -1; margin-top: -2px; } }
@media (forced-colors: active) { .purchase-captcha, .purchase-captcha-challenge, .purchase-captcha-input { border: 1px solid CanvasText !important; } }
