/* Harvest Drive giving form. Uses the theme's colors when present. */
.hdc-give {
  --g-orange: var(--orange, #ee7b1e); --g-orange-deep: var(--orange-deep, #d4620b); --g-ink: var(--ink, #25160e);
  --g-muted: var(--muted, #6e5a4c); --g-line: var(--line, rgba(43, 20, 10, 0.12)); --g-paper: var(--paper, #fffdf8);
  --g-espresso: var(--espresso, #2b140a); --g-teal: var(--teal, #14928f); --g-gold: var(--gold, #d9ae2b);
  position: relative; scroll-margin-top: 110px;
  background: var(--g-paper); color: var(--g-ink); border-radius: 26px; box-shadow: 0 1px 2px rgba(43, 20, 10, 0.06), 0 30px 70px -30px rgba(43, 20, 10, 0.45);
  border-top: 6px solid var(--g-orange); overflow: hidden;
}
.hdc-give-panel { padding: clamp(1.6rem, 3.5vw, 2.4rem); }
.hdc-give-title { margin: 0 0 1.1rem; font-family: var(--font-display, Georgia, serif); font-size: clamp(1.7rem, 2.6vw, 2.1rem); line-height: 1.1; }
.hdc-give-admin { margin: 0; padding: 0.7rem clamp(1.6rem, 3.5vw, 2.4rem); background: #fff4d6; color: #7a5600; font-size: 0.88rem; font-weight: 600; }
.hdc-give-admin a { color: inherit; }

.hdc-give-freq { display: grid; grid-template-columns: 1fr 1fr; padding: 5px; margin-bottom: 1.1rem; border-radius: 999px; background: #f3ebde; }
.hdc-give-freq label { position: relative; cursor: pointer; }
.hdc-give-freq input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.hdc-give-freq span { display: block; padding: 0.7em 1em; border-radius: 999px; text-align: center; font-weight: 700; color: var(--g-muted); transition: background 0.3s, color 0.3s, box-shadow 0.3s; }
.hdc-give-freq input:checked + span { background: var(--g-paper); color: var(--g-ink); box-shadow: 0 4px 14px -6px rgba(43, 20, 10, 0.35); }
.hdc-give-freq input:focus-visible + span { outline: 3px solid var(--g-orange); outline-offset: 2px; }

.hdc-give-amounts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.hdc-give-amounts label { position: relative; display: grid; place-items: center; min-height: 58px; border-radius: 14px; border: 1.5px solid var(--g-line); background: #fff; cursor: pointer;
  font: 700 1.2rem/1 var(--font-display, Georgia, serif); transition: border-color 0.2s, background 0.2s, color 0.2s, transform 0.2s; }
.hdc-give-amounts label:hover { border-color: var(--g-orange); transform: translateY(-2px); }
.hdc-give-amounts input[type="radio"] { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.hdc-give-amounts label.is-on { background: var(--g-orange); border-color: var(--g-orange); color: #fff; box-shadow: 0 12px 24px -12px rgba(238, 123, 30, 0.9); }
.hdc-give-amounts label:has(input:focus-visible) { outline: 3px solid var(--g-orange); outline-offset: 2px; }
.hdc-give-other { grid-column: span 1; cursor: text !important; }
.hdc-give-amounts .hdc-give-other[hidden] { display: none; }
.hdc-give-other > span[aria-hidden] { position: absolute; left: 0.85rem; top: 50%; translate: 0 -52%; color: var(--g-muted); pointer-events: none; }
.hdc-give-other input { position: absolute; inset: 0; width: 100%; min-width: 0; border: 0; border-radius: 14px; background: transparent; font: inherit; color: inherit; outline: 0; padding: 0 0.6rem 0 1.7rem; text-align: left; }
.hdc-give-other input::placeholder { color: var(--g-muted); font-family: var(--font-body, system-ui, sans-serif); font-weight: 600; font-size: 1rem; }
.hdc-give-other.is-on { background: #fff !important; color: var(--g-ink) !important; border-color: var(--g-orange) !important; box-shadow: 0 0 0 3px rgba(238, 123, 30, 0.2) !important; }

.hdc-give-impact { min-height: 3em; margin: 1rem 0 1.1rem; padding: 0.75rem 1rem 0.75rem 2.9rem; position: relative; border-radius: 12px; background: #e6f3f2; color: #0d5654; font-weight: 600; line-height: 1.45; font-size: 0.98rem; }
.hdc-give-impact:empty { visibility: hidden; }
.hdc-give-impact::before { content: ""; position: absolute; left: 1rem; top: 50%; translate: 0 -50%; width: 18px; height: 28px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 52'%3E%3Cpath d='M16 51 Q17.5 30 16 9' stroke='black' stroke-width='2.4' fill='none'/%3E%3Cellipse cx='10.6' cy='38' rx='3.6' ry='7' transform='rotate(-38 10.6 38)'/%3E%3Cellipse cx='21.6' cy='36' rx='3.6' ry='7' transform='rotate(38 21.6 36)'/%3E%3Cellipse cx='10.8' cy='27.5' rx='3.4' ry='6.6' transform='rotate(-36 10.8 27.5)'/%3E%3Cellipse cx='21.4' cy='25.5' rx='3.4' ry='6.6' transform='rotate(36 21.4 25.5)'/%3E%3Cellipse cx='11.6' cy='17.5' rx='3.1' ry='6' transform='rotate(-32 11.6 17.5)'/%3E%3Cellipse cx='20.6' cy='16' rx='3.1' ry='6' transform='rotate(32 20.6 16)'/%3E%3Cellipse cx='16.2' cy='7' rx='3' ry='6.2'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 52'%3E%3Cpath d='M16 51 Q17.5 30 16 9' stroke='black' stroke-width='2.4' fill='none'/%3E%3Cellipse cx='10.6' cy='38' rx='3.6' ry='7' transform='rotate(-38 10.6 38)'/%3E%3Cellipse cx='21.6' cy='36' rx='3.6' ry='7' transform='rotate(38 21.6 36)'/%3E%3Cellipse cx='10.8' cy='27.5' rx='3.4' ry='6.6' transform='rotate(-36 10.8 27.5)'/%3E%3Cellipse cx='21.4' cy='25.5' rx='3.4' ry='6.6' transform='rotate(36 21.4 25.5)'/%3E%3Cellipse cx='11.6' cy='17.5' rx='3.1' ry='6' transform='rotate(-32 11.6 17.5)'/%3E%3Cellipse cx='20.6' cy='16' rx='3.1' ry='6' transform='rotate(32 20.6 16)'/%3E%3Cellipse cx='16.2' cy='7' rx='3' ry='6.2'/%3E%3C/svg%3E") center / contain no-repeat; }

.hdc-give-tribute { margin-bottom: 1.2rem; }
.hdc-give-check { display: inline-flex; align-items: center; gap: 0.6rem; cursor: pointer; font-weight: 600; font-size: 0.98rem; }
.hdc-give-check input { width: 20px; height: 20px; accent-color: var(--g-orange); }
.hdc-give-tribute-fields { display: grid; grid-template-columns: auto 1fr; gap: 0.5rem; margin-top: 0.7rem; }
.hdc-give-tribute-fields[hidden] { display: none; }
.hdc-give-tribute-fields select, .hdc-give-tribute-fields input { font: inherit; font-size: 1rem; padding: 0.7rem 0.8rem; border-radius: 12px; border: 1.5px solid var(--g-line); background: #fff; color: var(--g-ink); min-width: 0; }
.hdc-give-tribute-fields :focus { outline: 0; border-color: var(--g-orange); box-shadow: 0 0 0 3px rgba(238, 123, 30, 0.2); }
.hdc-give-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.hdc-give-submit { display: flex; align-items: center; justify-content: center; gap: 0.6rem; width: 100%; padding: 1.05rem 1.4rem; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--g-orange); color: #fff; font: 800 1.12rem/1.1 var(--font-body, system-ui, sans-serif); box-shadow: 0 16px 34px -14px rgba(238, 123, 30, 0.95); transition: background 0.2s, transform 0.2s; }
.hdc-give-submit::before { content: "\2665"; font-size: 1.1em; }
.hdc-give-submit:hover:not(:disabled) { background: var(--g-orange-deep); transform: translateY(-2px); }
.hdc-give-submit:disabled { opacity: 0.55; cursor: not-allowed; box-shadow: none; }
.hdc-give-submit:focus-visible { outline: 3px solid var(--g-espresso); outline-offset: 3px; }
.hdc-give-msg { margin: 0.9rem 0 0; padding: 0.7rem 0.9rem; border-radius: 12px; background: #fdecea; color: #8a1f11; font-weight: 600; font-size: 0.95rem; }
.hdc-give-fine { margin: 1rem 0 0; font-size: 0.82rem; line-height: 1.55; color: var(--g-muted); }

.hdc-give-wait, .hdc-give-thanks { text-align: center; padding-block: clamp(2.4rem, 5vw, 3.4rem); }
.hdc-give-wait p, .hdc-give-thanks p { color: var(--g-muted); margin: 0 auto 1rem; max-width: 34ch; }
.hdc-give-spinner { display: block; width: 46px; height: 46px; margin: 0 auto 1.2rem; border-radius: 50%; border: 4px solid #f3ebde; border-top-color: var(--g-orange); animation: hdc-spin 0.9s linear infinite; }
@keyframes hdc-spin { to { rotate: 360deg; } }
.hdc-give-link { display: block; margin: 0.4rem auto; border: 0; background: none; color: var(--g-orange-deep); font: 700 0.95rem/1.4 var(--font-body, system-ui, sans-serif); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hdc-give-heart { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 1rem; border-radius: 50%; background: var(--g-orange); color: #fff; font-size: 2rem;
  box-shadow: 0 0 0 10px rgba(238, 123, 30, 0.15), 0 0 0 22px rgba(238, 123, 30, 0.07); animation: hdc-pop 0.8s cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes hdc-pop { from { transform: scale(0.4); opacity: 0; } }
.hdc-give-share { font-family: var(--font-display, Georgia, serif); font-style: italic; color: var(--g-orange-deep) !important; font-size: 1.1rem; }

@media (max-width: 520px) {
  .hdc-give-amounts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hdc-give-other { grid-column: span 2; }
  .hdc-give-tribute-fields { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .hdc-give-spinner, .hdc-give-heart { animation: none; }
}
