/* === Hope House · página de doações v3 === */
/* Carregado somente em /doar: garante a leitura e a hierarquia visual do formulário. */
.donation-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:29px; }
.text-link--light { color:var(--paper); }
.text-link--light:hover, .text-link--light:focus-visible { color:var(--sun); }

.donation-intro { background:var(--paper-2); }
.donation-intro__grid,
.donation-flow__grid,
.donation-partnership__grid,
.donation-associate-note__grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(42px,8vw,126px); }
.donation-intro h2,
.donation-flow h2,
.donation-partnership h2,
.donation-associate-note h2 { max-width:560px; margin:0; }
.donation-intro__text { max-width:640px; color:var(--muted); font-size:18px; line-height:1.58; }
.donation-intro__text p:last-child { margin-bottom:0; }

.donation-options { padding:112px 0 118px; background:var(--ink); color:var(--paper); }
.donation-options .section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.66fr); gap:40px; align-items:end; margin-bottom:44px; }
.donation-options .section-heading > p { max-width:430px; margin:0; color:rgba(255,255,255,.73); font-size:16px; line-height:1.55; }
.donation-options__grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.donation-plan-card { display:flex; min-height:322px; flex-direction:column; padding:30px 28px 27px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.04); color:var(--paper); text-decoration:none; transition:transform .2s ease, border-color .2s ease, background .2s ease; }
.donation-plan-card:hover,
.donation-plan-card:focus-visible,
.donation-plan-card.is-selected { transform:translateY(-5px); border-color:var(--sun); background:rgba(243,184,66,.12); outline:0; }
.donation-plan-card__type { color:var(--sun); font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.donation-plan-card h3 { max-width:280px; margin:42px 0 13px; color:var(--paper); font-size:35px; line-height:1.04; }
.donation-plan-card p { margin:0; color:rgba(255,255,255,.76); font-size:15px; line-height:1.55; }
.donation-plan-card__bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:23px; border-top:1px solid rgba(255,255,255,.2); }
.donation-plan-card__bottom strong { color:var(--paper); font-size:15px; }
.donation-plan-card__bottom span { color:var(--sun); font-family:var(--mono); font-size:10px; letter-spacing:.09em; text-align:right; text-transform:uppercase; }
.donation-plan-card__bottom i { font-size:17px; font-style:normal; }

.donation-flow { background:#e5dac8; }
.donation-flow__grid { align-items:start; }
.donation-flow__intro > p:not(.eyebrow) { max-width:545px; color:#3b5148; font-size:18px; line-height:1.58; }
.donation-flow__steps { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:13px; margin-top:42px; }
.donation-flow__steps div { padding:13px 0 0; border-top:2px solid var(--ink); }
.donation-flow__steps span { display:block; margin-bottom:20px; color:var(--clay); font-family:var(--mono); font-size:10px; letter-spacing:.08em; }
.donation-flow__steps strong { display:block; font-family:var(--serif); font-size:24px; line-height:1.1; }
.donation-flow__steps p { margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.45; }
.donation-contact-card { display:grid; gap:6px; max-width:450px; margin-top:43px; padding:21px 22px; border-left:4px solid var(--clay); background:rgba(255,250,241,.67); }
.donation-contact-card .eyebrow { margin:0 0 4px; }
.donation-contact-card a { width:max-content; max-width:100%; color:var(--ink); font-size:15px; font-weight:700; }
.donation-contact-card a:hover { color:var(--clay); }
.donation-contact-card small { margin-top:6px; color:var(--muted); font-size:12px; line-height:1.45; }

.donation-checkout-card { position:relative; padding:42px clamp(23px,4vw,48px) 45px; border:1px solid rgba(23,63,57,.12); background:#fffaf1; box-shadow:0 24px 54px rgba(13,44,39,.16); }
.donation-checkout-card__header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.donation-checkout-card__header .eyebrow { margin-bottom:9px; }
.donation-checkout-card__header h3 { margin:0 0 8px; color:var(--ink); font-size:32px; line-height:1.08; }
.donation-checkout-card__header p:not(.eyebrow) { max-width:490px; margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.donation-secure-mark { display:grid; grid-template-columns:34px auto; align-items:center; min-width:126px; padding:9px 10px; border:1px solid #c7d2c7; background:#f1f6ed; color:#28503d; }
.donation-secure-mark > span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#28503d; color:#fff; font-size:14px; font-weight:800; }
.donation-secure-mark small { font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.07em; line-height:1.35; text-transform:uppercase; }
.donation-setup-notice { margin:25px 0 0; padding:16px 18px; border-left:4px solid var(--sun); background:#fff0c8; color:#624813; }
.donation-setup-notice strong { display:block; font-size:15px; }
.donation-setup-notice p { margin:4px 0 0; font-size:13px; line-height:1.45; }

.donation-form { display:grid; gap:23px; margin-top:27px; }
.donation-form__section { display:grid; gap:16px; min-width:0; margin:0; padding:0; border:0; }
.donation-form__section + .donation-form__section { padding-top:23px; border-top:1px solid var(--line); }
.donation-form__section legend { width:100%; padding:0; color:var(--ink); font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.donation-form label { display:grid; gap:8px; color:var(--ink); font-size:14px; font-weight:700; }
.donation-form input,
.donation-form select,
.donation-form textarea { box-sizing:border-box; width:100%; min-height:49px; border:1px solid #d3c9b8; border-radius:0; outline:0; background:#fffdf8; color:var(--ink); padding:12px 13px; font-family:var(--sans); font-size:16px; font-weight:400; }
.donation-form input::placeholder { color:#8c8a82; }
.donation-form input:focus,
.donation-form select:focus,
.donation-form textarea:focus { border-color:var(--clay); box-shadow:0 0 0 3px rgba(217,110,79,.15); }
.donation-form select { appearance:auto; }
.field-optional { color:var(--muted); font-size:12px; font-weight:400; }
.donation-form .form-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px 18px; }
.donation-form__amount { display:grid; grid-template-columns:minmax(0,.9fr) minmax(210px,1.1fr); align-items:end; gap:17px; padding:17px; border:1px solid #d8cfbf; background:#f7f0e4; }
.donation-form__amount small { display:block; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.35; }
.donation-amount-options { display:flex; flex-wrap:wrap; align-content:end; justify-content:flex-end; gap:8px; min-height:40px; }
.donation-amount-option { min-height:36px; padding:8px 10px; border:1px solid #a9aa9d; background:transparent; color:var(--ink); cursor:pointer; font-family:var(--mono); font-size:11px; font-weight:700; }
.donation-amount-option:hover,
.donation-amount-option:focus-visible { border-color:var(--ink); background:var(--ink); color:var(--paper); outline:0; }
.associate-application { display:grid; gap:18px; margin-top:1px; padding:24px; border:1px solid #dfc9bf; border-top:4px solid var(--clay); background:#f4e8db; }
.associate-application[hidden] { display:none; }
.associate-application__heading h3 { margin:0 0 8px; color:var(--ink); font-size:29px; }
.associate-application__heading p:last-child { margin-bottom:0; color:var(--muted); font-size:14px; line-height:1.5; }
.checkbox-label--paper { grid-template-columns:20px minmax(0,1fr); align-items:start; gap:10px!important; color:var(--muted)!important; font-size:12px!important; font-weight:400!important; line-height:1.48; }
.checkbox-label--paper input { width:18px!important; min-height:18px!important; height:18px!important; margin-top:1px; padding:0!important; accent-color:var(--clay); }
.donation-form__consent { padding:15px 16px; border:1px solid #dfd4c3; background:#fbf5ea; }
.donation-form__security { display:flex; gap:9px; align-items:flex-start; margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.donation-form__security span { display:grid; flex:0 0 auto; place-items:center; width:18px; height:18px; border-radius:50%; background:#28503d; color:#fff; font-size:11px; font-weight:800; }
.donation-form__submit { justify-self:start; min-height:48px; margin-top:1px!important; }
.donation-form button[disabled] { cursor:not-allowed; opacity:.58; transform:none; }

.donation-associate-note { padding:78px 0; background:var(--sun); color:var(--ink-deep); }
.donation-associate-note__grid { align-items:start; }
.donation-associate-note__grid > p { max-width:620px; margin:0; font-size:18px; line-height:1.58; }
.donation-partnership { background:var(--paper-2); }
.donation-partnership__grid { align-items:start; }
.donation-partnership__grid > div > p:not(.eyebrow) { max-width:560px; color:var(--muted); font-size:17px; line-height:1.58; }
.donation-partnership .button { margin-top:26px; }
.donation-partnership__mrc { padding:36px; background:var(--ink); color:var(--paper); }
.donation-partnership__mrc h3 { margin:0 0 13px; color:var(--paper); font-size:37px; line-height:1.08; }
.donation-partnership__mrc p:not(.eyebrow) { color:rgba(255,255,255,.76)!important; font-size:15px!important; line-height:1.55; }

@media (max-width: 920px) {
  .donation-intro__grid,
  .donation-flow__grid,
  .donation-partnership__grid,
  .donation-associate-note__grid { grid-template-columns:1fr; gap:38px; }
  .donation-options .section-heading { grid-template-columns:1fr; gap:18px; }
  .donation-options__grid { grid-template-columns:1fr; }
  .donation-plan-card { min-height:260px; }
  .donation-plan-card h3 { margin-top:31px; }
  .donation-checkout-card { max-width:760px; }
}
@media (max-width: 700px) {
  .donation-options { padding:76px 0; }
  .donation-flow__steps { grid-template-columns:1fr; gap:16px; }
  .donation-flow__steps span { margin-bottom:8px; }
  .donation-checkout-card { padding:28px 20px 30px; }
  .donation-checkout-card__header { align-items:flex-start; flex-direction:column; }
  .donation-secure-mark { min-width:0; }
  .donation-form .form-grid,
  .donation-form__amount { grid-template-columns:1fr; }
  .donation-amount-options { justify-content:flex-start; }
  .associate-application { padding:19px; }
  .donation-associate-note { padding:65px 0; }
  .donation-partnership__mrc { padding:27px 23px; }
}
@media (max-width: 440px) {
  .donation-hero__actions { align-items:flex-start; flex-direction:column; gap:13px; }
  .donation-checkout-card__header h3 { font-size:28px; }
  .donation-form__amount { padding:14px; }
}
