:root{--ink:#243b35;--muted:#63736c;--accent:#24614c;--border:#dbe4dd;--paper:#fff;--wash:#f4f6f2}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}a{color:var(--accent);text-underline-offset:4px}.skip{position:absolute;top:-80px;padding:12px;background:white;z-index:9999}.skip:focus{top:0}.brand{max-width:1120px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{max-width:min(100%,460px);max-height:120px;object-fit:contain}.brand span{font-size:13px;color:var(--muted)}.layout{max-width:1120px;margin:16px auto 56px;padding:0 28px;display:grid;grid-template-columns:1fr 1.18fr;gap:64px;align-items:start}.intro{padding:42px 0}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--accent)}h1{font-family:Georgia,serif;font-size:clamp(30px,3.5vw,46px);line-height:1.17;font-weight:400;margin:20px 0 24px;letter-spacing:-1px}.intro p{color:var(--muted);max-width:390px;font-size:17px}.intro-rule{width:48px;height:3px;background:#b79358;margin:28px 0}.intro .small{font-size:15px}.support{display:flex;flex-direction:column;gap:3px;font-size:14px;margin-top:38px}.donation{background:white;border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 38px #243b3509;padding:30px}section+section{border-top:1px solid var(--border);margin-top:26px;padding-top:26px}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.step{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:#ecf3ee;color:var(--accent);font-size:13px;font-weight:700}h2{margin:0;font-size:20px;font-weight:650;letter-spacing:-.3px}.hint{font-size:14px;color:var(--muted);margin:8px 0 16px}.amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.amount,.other,.pay{border:1px solid var(--border);border-radius:10px;background:white;color:var(--ink);min-height:52px;cursor:pointer;font-weight:650}.amount:hover,.pay:hover{background:#f1f6f2;border-color:var(--accent)}.amount[aria-pressed=true],.other[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.other{width:100%;margin-top:10px;font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{min-width:0}.field label,#outrosValores label{display:block;font-size:14px;font-weight:550;margin:0 0 6px}.field input,.field select,#outrosValores input,.modal input{width:100%;min-height:50px;border:1px solid #bfcfc3;border-radius:9px;background:white;color:var(--ink);font-size:16px!important;padding:11px 12px;margin:0;text-align:left!important;box-shadow:none}#outrosValores{margin-top:16px}#campotxtNOMECOMPLETO{grid-column:1/-1}.location{border:0;padding:0;margin:16px 0 22px;min-width:0}.location legend{float:none;font-size:14px;font-weight:550;margin-bottom:8px}.country-toggle{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:10px;background:var(--wash);padding:4px;gap:4px}.country-toggle input{position:absolute;opacity:0;width:1px;height:1px}.country-toggle label{padding:12px;text-align:center;cursor:pointer;border-radius:7px;font-size:14px;margin:0}.country-toggle input:checked+label{background:white;color:var(--accent);font-weight:700;box-shadow:0 2px 6px #243b3510}.country-toggle input:focus-visible+label{outline:3px solid #b79358;outline-offset:2px}.address{margin-top:24px}.address h3{font-size:16px;margin:0}.consent{display:flex;gap:12px;margin:18px 0 8px;align-items:flex-start}.consent input{width:23px;height:23px;flex-shrink:0;margin-top:3px;accent-color:var(--accent)}.consent label{font-size:13px;color:var(--muted);cursor:pointer}.privacy{display:inline-block;font-size:13px;padding:8px 0;min-height:44px}#dv_recaptcha{margin:16px 0;max-width:100%;overflow:auto}.payments{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pay{min-height:76px;background:#f4f8f4}.pay span{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.fine{font-size:12px;color:var(--muted);margin:18px 0 0}footer{border-top:1px solid var(--border);background:white;padding:28px}.footer-inner{max-width:1064px;margin:auto;display:flex;justify-content:space-between;gap:28px}.footer-inner strong{display:block;font-size:14px}.footer-inner a{display:block;min-height:34px;padding:5px 0;font-size:14px}.footer-inner p{font-size:12px;color:var(--muted);margin:0}.prosystem{display:flex;align-items:center;gap:12px}.prosystem img{width:112px;max-height:64px;object-fit:contain}.prosystem span{font-size:11px;color:var(--muted)}:focus-visible{outline:3px solid #b79358;outline-offset:3px}.overlay{position:fixed;inset:0;background:#183a31e6;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:white}.overlay .spinner-border{width:44px!important;height:44px!important}.modal-dialog{margin:16px auto;max-width:500px;padding:0 12px}.modal-content{border-radius:16px}.modal-body{padding:20px}.modal-body .row{margin:0 0 14px}.modal input{word-break:break-all}.modal-body img{max-width:100%;height:auto}.modal-body .btn{min-height:48px}#dvAlerta{max-width:1064px;margin:8px auto}body [hidden]{display:none!important}@media(max-width:760px){.brand{padding:18px 18px 0;justify-content:center}.brand span{display:none}.brand img{max-height:86px;max-width:100%}.layout{grid-template-columns:1fr;gap:18px;padding:0 16px;margin:0 auto 30px}.intro{padding:24px 4px 4px}.eyebrow{font-size:10px}h1{font-size:32px;margin:12px 0 14px}h1 br{display:none}.intro p{font-size:15px;margin:0;max-width:none}.intro-rule,.intro .small{display:none}.support{margin-top:16px;font-size:13px;flex-direction:row;flex-wrap:wrap;gap:6px;padding:8px 0}.donation{padding:22px 18px;border-radius:16px}.fields{grid-template-columns:1fr;gap:14px}.amounts{grid-template-columns:repeat(2,1fr)}h2{font-size:19px}.payments{gap:7px}.pay{font-size:14px}.pay span{font-size:10px}.footer-inner{flex-direction:column}.prosystem{padding-top:16px;border-top:1px solid var(--border)}footer{padding:24px 20px}.modal-dialog{margin:8px auto}.modal-body{max-height:75dvh;overflow:auto}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

#campotxtCPF,#dv_recaptcha{grid-column:1/-1}#campotxtCPF input{font-size:18px!important;font-weight:600}.pay:disabled{opacity:.45;cursor:not-allowed}.captcha-message{font-size:13px}#dv_recaptcha{overflow:visible;margin:0 0 8px;min-width:0}#example1{max-width:100%}

.donation #campotxtCPF{grid-column:1/-1;background:#f1f6f2;border:1px solid #dbe4dd;border-radius:12px;padding:16px}.donation #campotxtCPF label{font-size:17px;font-weight:700}.donation #campotxtCPF input{min-height:56px;font-size:20px!important}.donation #dv_recaptcha{grid-column:1/-1;min-height:82px;margin:6px 0 18px}.captcha-loading{font-size:13px;color:#63736c}.captcha-loading:has(+ #example1:not(:empty)){display:none}#example1{min-height:78px}.swal2-container{z-index:4000!important}.international-note{margin-top:12px}.intro{padding-top:24px}

/* Identidade do Santuário Frei Galvão. Folha exclusiva, sem alterar PVC. */
body[data-cliente="FG"] {
    --ink: #3d2c20;
    --muted: #74695e;
    --accent: #693d11;
    --border: #e7dfd3;
    --wash: #faf8f3;
}
body[data-cliente="FG"] .fg-header {
    position: relative;
    display: block;
    height: 104px;
    overflow: hidden;
    max-width: none;
    padding: 0;
    margin: 0;
    background: linear-gradient(90deg, #e6b94d, #cf9a25 65%, #c58c21);
    border-bottom: 3px solid #c9a038;
}
.fg-header-inner {
    position: relative;
    z-index: 1;
    max-width: 1064px;
    height: 100%;
    margin: auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
}
.fg-logo-link {
    display: block;
    flex-shrink: 0;
    padding: 8px 12px;
    background: #fffaf1;
    border: 1px solid #f1e4c9;
    border-radius: 9px;
    box-shadow: 0 2px 8px rgba(61,44,32,.08);
}
body[data-cliente="FG"] .brand .fg-logo {
    display: block;
    width: 166px;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
}
body[data-cliente="FG"] .brand .fg-header-photo {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: min(100%, 1000px);
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center 42%;
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    border-radius: 0;
}
body[data-cliente="FG"] .layout { margin-top: 24px; gap: 48px; }
body[data-cliente="FG"] .intro { padding-top: 24px; }
body[data-cliente="FG"] .intro h1 { font-size: clamp(30px, 3.2vw, 42px); }
body[data-cliente="FG"] .intro-rule { background: #c9a038; }
body[data-cliente="FG"] .step { background: #f6efd9; }
body[data-cliente="FG"] .pay { background: #fbf8ef; border-color: #d9c6a5; }
body[data-cliente="FG"] .pay:hover { background: #f3ebd7; border-color: #693d11; }
body[data-cliente="FG"] .amount:hover { background: #faf4e5; }
body[data-cliente="FG"] .country-toggle { background: #f8f4ec; }
body[data-cliente="FG"] .donation #campotxtCPF {
    background: #faf6ec;
    border-color: #e7d8b9;
}

@media (max-width: 760px) {
    body[data-cliente="FG"] .fg-header { height: 82px; }
    .fg-header-inner { padding: 0 12px; }
    .fg-logo-link { padding: 6px 8px; border-radius: 7px; }
    body[data-cliente="FG"] .brand .fg-logo { width: 118px; }
    body[data-cliente="FG"] .brand .fg-header-photo {
        width: 100%;
        height: 100%;
        max-width: none;
        border-radius: 0;
        object-fit: cover;
        object-position: center 42%;
    }
    body[data-cliente="FG"] .layout { margin-top: 12px; gap: 12px; }
    body[data-cliente="FG"] .intro { padding: 0 4px; }
    body[data-cliente="FG"] .intro .eyebrow,
    body[data-cliente="FG"] .intro .intro-rule,
    body[data-cliente="FG"] .intro .small,
    body[data-cliente="FG"] .intro .support { display: none; }
    body[data-cliente="FG"] .intro h1 {
        font-family: system-ui, sans-serif;
        font-size: 22px;
        font-weight: 650;
        line-height: 1.25;
        letter-spacing: -.4px;
        margin: 0 0 5px;
    }
    body[data-cliente="FG"] .intro > p { font-size: 13px; line-height: 1.4; }
    body[data-cliente="FG"] .donation { padding: 16px; }
    body[data-cliente="FG"] .donation #campotxtCPF { padding: 12px; }
    body[data-cliente="FG"] .location { margin: 10px 0 14px; }
}
