/* gd-rebates public claim form — mobile-first, older-demographic-friendly */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #f6f4ef; color: #23301f; line-height: 1.55; font-size: 17px; }
.gdr-wrap { max-width: 560px; margin: 0 auto; padding: 16px; }
.gdr-brand { text-align: center; padding: 14px 0; }
.gdr-brand a { color: #2f5d33; font-weight: 700; font-size: 22px; text-decoration: none; letter-spacing: .2px; }
.gdr-card { background: #fff; border-radius: 14px; padding: 26px 22px; box-shadow: 0 2px 14px rgba(35,48,31,.08); }
.gdr-card h1 { font-size: 26px; line-height: 1.25; margin-bottom: 6px; color: #23301f; }
.gdr-sub { color: #5c6d55; font-weight: 600; margin-bottom: 16px; }
.gdr-steps { list-style: none; display: flex; gap: 8px; margin: 0 0 22px; }
.gdr-steps li { flex: 1; background: #eef4ea; border-radius: 10px; padding: 10px 8px; font-size: 14px; text-align: center; }
.gdr-field { margin-bottom: 18px; border: 0; }
.gdr-field label, .gdr-field legend { display: block; font-weight: 600; margin-bottom: 6px; font-size: 16px; }
.gdr-field input[type="text"], .gdr-field input[type="email"] {
  width: 100%; font-size: 17px; padding: 13px 14px; border: 2px solid #cfd8c9; border-radius: 10px; background: #fff; }
.gdr-field input:focus { outline: none; border-color: #2f5d33; box-shadow: 0 0 0 3px rgba(47,93,51,.15); }
.gdr-field input.gdr-invalid { border-color: #b3372c; }
.gdr-radio { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 2px solid #cfd8c9;
  border-radius: 10px; margin-bottom: 8px; cursor: pointer; font-weight: 400; }
.gdr-radio input { margin-top: 4px; width: 20px; height: 20px; flex: none; }
.gdr-radio:has(input:checked) { border-color: #2f5d33; background: #f3f8f1; }
.gdr-help { font-size: 14px; color: #5c6d55; margin-top: 6px; }
.gdr-muted { font-weight: 400; color: #7a8a72; font-size: 14px; }
.gdr-status { font-size: 14px; margin-top: 6px; min-height: 1em; }
.gdr-status.ok { color: #2f5d33; font-weight: 600; }
.gdr-status.err { color: #b3372c; font-weight: 600; }
.gdr-error { background: #fbeae8; color: #8c2a21; border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; font-size: 15px; }
#gdr-submit { width: 100%; background: #2f5d33; color: #fff; font-size: 19px; font-weight: 700;
  padding: 16px; border: 0; border-radius: 12px; cursor: pointer; }
#gdr-submit:hover:not(:disabled) { background: #264d2a; }
#gdr-submit:disabled { opacity: .55; cursor: default; }
.gdr-result { text-align: center; padding: 26px 6px 6px; }
.gdr-result h2 { font-size: 24px; margin-bottom: 10px; color: #2f5d33; }
.gdr-result p { font-size: 17px; }
.gdr-center { text-align: center; }
.gdr-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }
.gdr-foot { text-align: center; font-size: 13px; color: #7a8a72; padding: 22px 8px; }
.gdr-foot a { color: #5c6d55; }
.gdr-spinner { display: inline-block; width: 18px; height: 18px; border: 3px solid rgba(255,255,255,.4);
  border-top-color: #fff; border-radius: 50%; animation: gdrspin .8s linear infinite; vertical-align: -3px; margin-right: 8px; }
@keyframes gdrspin { to { transform: rotate(360deg); } }
@media (max-width: 420px) { .gdr-steps { flex-direction: column; } .gdr-card h1 { font-size: 23px; } }
