/* Google Sorry-style captcha page — 1:1 clone
   Layout: minimal, left-aligned, no card/shadow */

:root { color-scheme: light; }

.recaptcha-wrap {
  margin: 0 0 10px;
  display: block;
}

.recaptcha-wrap .rc-anchor {
  border-radius: 3px;
  border: 1px solid #d3d3d3;
  box-shadow: none;
  display: inline-block;
}

.recaptcha-wrap .rc-anchor-normal {
  height: 74px;
  width: 300px;
}

.recaptcha-wrap .rc-anchor-light {
  background: #f9f9f9;
  color: #000;
}

.recaptcha-wrap .rc-anchor-checkbox-label {
  font-family: Roboto, arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  color: #000;
}

/* ========== Loading spinner (blue ring rotate) ========== */
.recaptcha-checkbox-loading .recaptcha-checkbox-border,
.recaptcha-checkbox-loading .recaptcha-checkbox-borderAnimation {
  opacity: 0 !important;
  visibility: hidden !important;
}

.recaptcha-checkbox-loading .recaptcha-checkbox-spinner {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  animation: rc-spinner-spin 0.9s linear infinite !important;
  animation-play-state: running !important;
  -webkit-animation: rc-spinner-spin 0.9s linear infinite !important;
  -webkit-animation-play-state: running !important;
  border: 3px solid #1a73e8 !important;
  border-top-color: transparent !important;
  border-left-color: transparent !important;
  border-radius: 50% !important;
  background: transparent !important;
  width: 28px !important;
  height: 28px !important;
  left: 0 !important;
  top: 0 !important;
  box-sizing: border-box !important;
  transition: opacity 0.15s ease !important;
}

.recaptcha-checkbox-loading .recaptcha-checkbox-spinner-overlay {
  display: none !important;
}

.recaptcha-checkbox-loading .recaptcha-checkbox-checkmark {
  opacity: 0 !important;
  visibility: hidden !important;
}

@keyframes rc-spinner-spin {
  to { transform: rotate(360deg); }
}
@-webkit-keyframes rc-spinner-spin {
  to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

/* ========== Verified checkmark ========== */
.recaptcha-checkbox-checked .recaptcha-checkbox-border,
.recaptcha-checkbox-checked .recaptcha-checkbox-borderAnimation,
.recaptcha-checkbox-checked .recaptcha-checkbox-spinner {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}

.recaptcha-checkbox-checked .recaptcha-checkbox-checkmark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  /* Prefer crisp CSS check over sprite when possible */
  background-image: none !important;
  width: 28px !important;
  height: 28px !important;
  left: 0 !important;
  top: 0 !important;
  position: absolute !important;
  animation: rc-check-pop 0.35s cubic-bezier(0.2, 0.9, 0.3, 1.2) both;
}

.recaptcha-checkbox-checked .recaptcha-checkbox-checkmark::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 4px;
  width: 7px;
  height: 14px;
  border: solid #1a73e8;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  box-sizing: border-box;
  animation: rc-check-draw 0.28s ease-out 0.05s both;
}

@keyframes rc-check-pop {
  0% { transform: scale(0.4); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes rc-check-draw {
  0% { height: 0; opacity: 0; }
  100% { height: 14px; opacity: 1; }
}

/* Mobile — widget stays 300x74 as Google's does */
@media (max-width: 480px) {
  body {
    padding: 15px !important;
  }
  .recaptcha-wrap {
    max-width: 100%;
    overflow: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .recaptcha-wrap .rc-anchor { transition: none; }
  .recaptcha-checkbox-loading .recaptcha-checkbox-spinner {
    animation: none !important;
    border-top-color: #1a73e8 !important;
  }
  .recaptcha-checkbox-checked .recaptcha-checkbox-checkmark,
  .recaptcha-checkbox-checked .recaptcha-checkbox-checkmark::before {
    animation: none !important;
  }
}
