@media (min-width: 901px) {
    .candidate {
        width: 435px;
        height: 595px;
        bottom: 0;
        object-fit: cover;
        object-position: top;
    }
}

.bank-report {
    display: block;
    margin-top: 22px;
    padding: 13px 18px;
    border-radius: 999px;
    color: #fff;
  background: var(--blue);
    text-align: center;
    text-decoration: none;
    font-weight: 800;
}

.bank-report:focus-visible,
.back-button:focus-visible,
.submit-button:focus-visible,
.choose-reward:focus-visible,
.amount-button:focus-visible {
    outline: 3px solid #222;
    outline-offset: 3px;
}

.gift-card { position: relative; }
.gift-card.sold-out img { filter: grayscale(1); opacity: .48; }
.gift-card .choose-reward:disabled { background: #666; cursor: not-allowed; opacity: 1; }
.stock-warning { position: absolute; top: 64px; right: 12px; padding: 5px 9px; border-radius: 999px; background: #fff4d9; color: #8a4f00; font-size: 13px; font-weight: 800; box-shadow: 0 3px 10px rgba(0,0,0,.1); }

.support-landing {
    min-height: 640px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    align-items: stretch;
    background: #f9f5f6;
}
.support-product { display: grid; place-items: center; padding: 70px 8vw; background: #f5c5d5; }
.support-landing.blue .support-product { background: #c8e6f3; }
.support-product img { width: min(520px, 100%); max-height: 510px; object-fit: contain; filter: drop-shadow(0 18px 28px rgba(50,55,65,.12)); }
.support-copy { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(38px, 6vw, 110px); background: #fff; }
.support-kicker { color: var(--blue); font-size: 14px; font-weight: 900; letter-spacing: .1em; }
.support-copy h1 { margin: 8px 0 0; font-size: clamp(46px, 5vw, 74px); line-height: 1; color: var(--pink); }
.support-landing.blue .support-copy h1 { color: var(--blue); }
.support-tagline { margin: 10px 0 28px !important; color: #65707b; font-size: 20px; }
.support-copy h2 { margin: 0 0 15px; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.35; }
.support-copy > p:not(.support-tagline):not(.support-note) { margin: 0; color: #555f69; font-size: 17px; line-height: 1.9; }
.support-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 18px; }
.support-meta span { padding: 14px 16px; border: 1px solid #dde1e5; border-radius: 14px; color: #6a727c; font-size: 13px; }
.support-meta strong { display: block; margin-top: 3px; color: #292d32; font-size: 21px; }
.support-cta { display: block; width: 100%; border: 0; border-radius: 999px; padding: 15px 20px; background: var(--pink); color: #fff; text-align: center; text-decoration: none; font-size: 17px; font-weight: 900; cursor: pointer; }
.support-landing.blue .support-cta { background: var(--blue); }
.support-cta.sold { background: #555; }
.support-note { margin: 10px 0 0 !important; color: #7b828a; font-size: 13px; text-align: center; }

@media (max-width: 800px) {
    .support-landing { min-height: 0; grid-template-columns: 1fr; }
    .support-product { padding: 40px 38px 24px; }
    .support-product img { max-height: 300px; }
    .support-copy { padding: 34px 20px 42px; }
    .support-copy h1 { font-size: 44px; }
    .support-tagline { font-size: 17px; margin-bottom: 22px !important; }
    .support-copy h2 { font-size: 24px; }
    .support-copy > p:not(.support-tagline):not(.support-note) { font-size: 16px; }
}
:root {
  --pink: #cf3f72;
  --blue: #197aa5;
}

.selection-summary{border:1px solid #dce6ef;background:#f7fbff;border-radius:14px;padding:14px 18px;margin:14px 0 20px;display:grid;gap:3px}.selection-summary span,.selection-summary small{color:#5b6770}.selection-summary strong{font-size:1.2rem}.bank-transfer-fields{margin:12px 0}.website-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.shirt-size[hidden],.bank-transfer-fields[hidden]{display:none!important}footer a{color:inherit}
.no-reward-button{justify-self:start;margin-top:8px;border:1px solid #8293a0;background:#fff;border-radius:999px;padding:7px 13px;color:#36454f;cursor:pointer}.size-options{display:flex;flex-wrap:wrap;gap:9px}.size-options label{position:relative}.size-options input{position:absolute;opacity:0;pointer-events:none}.size-options span{display:grid;place-items:center;min-width:54px;padding:11px 14px;border:1px solid #b8c5cf;border-radius:12px;background:#fff;font-weight:700;cursor:pointer}.size-options input:checked+span{background:#df2864;color:#fff;border-color:#df2864;box-shadow:0 0 0 3px rgba(223,40,100,.15)}.size-options input:focus-visible+span{outline:3px solid #1b75bb;outline-offset:2px}.flow-banner{max-width:1180px;margin:18px auto 0;padding:14px 20px;border-radius:14px;background:#eef7ff;border:1px solid #aed4f0;display:flex;gap:12px;align-items:center}.flow-banner span{color:#40596a}@media(max-width:640px){.flow-banner{margin:12px 16px 0;display:grid}.size-options span{min-width:48px}}
.amount-button:disabled{background:#eef1f3!important;color:#9aa3aa!important;border-color:#d8dde1!important;cursor:not-allowed;box-shadow:none!important}.gift-detail-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 3px;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:inherit}

/* Donation form hierarchy and required-state clarity */
.donation-card form{max-width:100%;display:block}.donation-card .field{gap:7px}.donation-card .field-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:#333;line-height:1.35}.donation-card .field-help{display:block;font-size:12px;color:#6b7280;line-height:1.45;font-weight:500}.donation-card .field input{min-height:48px;border-color:#aeb8c0;border-radius:12px;padding:12px 13px;transition:border-color .18s,box-shadow .18s}.donation-card .field input:focus{outline:0;border-color:#3184b4;box-shadow:0 0 0 3px rgba(49,132,180,.14)}.required-badge,.conditional-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:3px 8px;font-size:11px!important;line-height:1.2;letter-spacing:.02em;white-space:nowrap}.required-badge{color:#a0143f!important;background:#ffe7ef}.conditional-badge{color:#315d74!important;background:#e6f5fc}.donation-card .form-section{display:block;border:1px solid #d6dde2;border-radius:16px;background:#fff;padding:17px 18px 18px;margin:20px 0 0}.donation-card .form-section legend{display:inline-flex;align-items:center;gap:9px;padding:0 7px;font-size:15px;font-weight:800;color:#27343d}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice-card{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:86px;border:1px solid #bcc7cf;border-radius:14px;background:#fff;padding:14px;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.choice-card:hover{border-color:#df6b91}.choice-card:has(input:checked){border-color:#df2864;background:#fff5f8;box-shadow:0 0 0 2px rgba(223,40,100,.10)}.choice-card input{width:20px;height:20px;margin:2px 0 0;accent-color:#df2864;flex:none}.choice-card>span{display:grid;gap:4px}.choice-card strong{font-size:14px;line-height:1.35}.choice-card small{font-size:12px;line-height:1.45;color:#64727c}.conditional-panel{border:1px dashed #7fb4cf;border-radius:16px;background:#f3fbff;padding:17px 18px 18px;margin:12px 0 0}.conditional-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.conditional-heading strong{font-size:15px}.bank-transfer-fields .form-grid{grid-template-columns:1.1fr .8fr 1fr;gap:11px}.consent-section{display:grid!important;gap:10px}.donation-card .consent{border:1px solid #e0e5e8;background:#fafbfc;padding:13px 14px;line-height:1.55;font-size:13px;border-radius:12px}.donation-card .consent:has(input:checked){border-color:#8dbbd1;background:#f3fbff}.donation-card .consent input{margin-top:1px;accent-color:#df2864}.donation-card .consent a{color:#176f9d;font-weight:800;text-underline-offset:2px}.shirt-size .size-options{padding-top:2px}
.choose-reward-link{justify-self:start;margin-top:7px;color:#176f9d;font-size:13px;font-weight:800;text-underline-offset:3px}.size-help{margin:0 0 10px;color:#65727b;font-size:12px}.size-options span{display:flex;flex-direction:column;line-height:1.2}.size-options span small{margin-top:4px;font-size:10px;font-weight:600;color:#63717a}.size-options input:checked+span small{color:#fff}.size-options input:disabled+span{background:#f1f3f4;border-color:#d5dade;color:#929aa0;cursor:not-allowed;text-decoration:none}.size-options input:disabled+span small{color:#a14b55}.errors p{margin:4px 0 8px}.errors button{border:0;background:transparent;color:inherit;padding:2px 0;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.donation-card .field.has-error input,.donation-card .form-section.has-error,.donation-card .consent.has-error{border-color:#c9254f!important;background:#fff7f9}.donation-card [aria-invalid="true"]:focus{outline:0;box-shadow:0 0 0 3px rgba(201,37,79,.16)!important}.field-error{display:block!important;grid-column:1/-1;margin-top:6px;color:#b42345!important;font-size:12px!important;font-weight:800!important;line-height:1.45}.form-section>.field-error{padding:9px 11px;border-radius:9px;background:#fff0f3}.consent>.field-error{flex-basis:100%}.consent.has-error{flex-wrap:wrap}
@media(max-width:640px){.donation-card .form-section,.conditional-panel{padding:15px 14px}.choice-grid{grid-template-columns:1fr}.choice-card{min-height:74px}.bank-transfer-fields .form-grid{grid-template-columns:1fr}.conditional-heading{align-items:flex-start;flex-direction:column;gap:6px}.donation-card .field-label{align-items:flex-start}.donation-card .consent{padding:12px}.required-badge,.conditional-badge{flex:none}.gift-detail-link{min-height:44px;padding-top:10px;padding-bottom:10px}}
.social-links{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;gap:6px;min-width:30px;min-height:44px;color:#fff;text-decoration:none;border-radius:8px}.social-links a:hover,.social-links a:focus-visible{text-decoration:underline;background:rgba(255,255,255,.12)}.social-links img{width:30px;height:30px}.social-sprite{display:block;width:30px;height:30px;background-image:url('../assets/icons/social-media.webp');background-repeat:no-repeat;background-size:131px 30px}.social-sprite.tiktok{background-position:0 0}.social-sprite.youtube{background-position:-34px 0}.social-sprite.instagram{background-position:-67px 0}.social-sprite.line{background-position:-101px 0}.social-handle{padding:0 5px}@media(max-width:700px){footer>div:first-child{align-items:flex-start!important;flex-direction:column}.social-links{justify-content:flex-start}.social-handle{flex-basis:100%}}
.no-reward-button[hidden]{display:none!important}.bank-field-list{display:grid;grid-template-columns:1fr;gap:15px}
