/* ============================================================
   RESGAUTE INTERNACIONAL — estilos adicionais
   (barra de idioma, textos sobre as artes, modal de doação)
   ============================================================ */

/* ---------- Barra de idioma (fixa no topo) ---------- */
.lang-bar {
    position: sticky;
    top: 0;
    z-index: 10000;
    background: #ffffff;
    box-shadow: 0 2px 14px rgba(16, 36, 60, 0.10);
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    font-family: 'Poppins', sans-serif;
}
.lang-bar__in {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.lang-bar__brand {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #F26C9D;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
}
.lang-bar__brand img {
    width: 38px !important;
    height: auto !important;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.lang-switch {
    display: flex;
    align-items: center;
    gap: 2px;
    background: #eef3f8;
    border-radius: 999px;
    padding: 3px;
}
.lang-switch__globe {
    width: 18px;
    height: 18px;
    margin: 0 6px 0 8px;
    color: #64748b;
}
.lang-switch button {
    border: 0;
    background: transparent;
    padding: 0 12px 0 8px;
    height: 36px;
    border-radius: 999px;
    font: 600 13px/1 'Poppins', sans-serif;
    letter-spacing: 0.02em;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    transition: background .2s ease, color .2s ease;
}
.lang-switch .flag {
    width: 22px;
    height: 16px;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0,0,0,.08);
    flex: none;
}
.lang-switch .lang-short { display: none; }
.lang-switch button:hover { color: #018af5; }
.lang-switch button.active {
    background: #018af5;
    color: #fff;
    box-shadow: 0 3px 10px rgba(1, 138, 245, 0.35);
}
@media (max-width: 480px) {
    .lang-bar { height: 52px; padding: 0 10px; }
    .lang-switch__globe { display: none; }
    .lang-switch button { padding: 0 10px 0 8px; height: 34px; }
    .lang-switch .lang-long { display: none; }
    .lang-switch .lang-short { display: inline; }
}

/* ---------- Artes com texto sobreposto (traduzível) ---------- */
.art {
    position: relative;
    container-type: inline-size;
    line-height: 1.15;
    font-family: 'Poppins', sans-serif;
}
.art > img { width: 100%; }
.art__t { position: absolute; margin: 0; }

/* Hero (800x533) */
.art--hero .art__top {
    top: 0; left: 0; right: 0; height: 11.6%;
    display: flex; align-items: center; justify-content: center;
    padding: 0 2%;
    color: #fff;
    font-size: 3.05cqw;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.01em;
}
.art--hero .art__top b { font-weight: 700; }
.art--hero .art__bottom {
    top: 85.2%; left: 2%; right: 2%; height: 12.5%;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    color: #2b2b2b;
    font-size: 2.35cqw;
    font-weight: 400;
    line-height: 1.3;
}
.art--hero .art__bottom b { color: #018af5; font-weight: 700; }

/* Banner "Cada vida importa" (1600x800) */
.art--banner { max-width: 600px; margin: 0 auto; }
.art--banner .art__block {
    left: 32.5%; width: 37%; top: 19%; height: 56%;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center;
    gap: 0.35em;
}
/* Banner "Comunidade" (2048x1151) */
.art--banner2 { max-width: 400px; margin: 0 auto; }
.art--banner2 .art__block {
    left: 29%; width: 42%; top: 34%; height: 44%;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-align: center;
    gap: 0.35em;
}
.art__script {
    font-family: 'Pacifico', cursive;
    color: #ef5a93;
    font-size: 3.2cqw;
    line-height: 1.2;
}
.art__big {
    font-family: 'Bebas Neue', 'Poppins', sans-serif;
    color: #2aa9e0;
    font-size: 5cqw;
    line-height: 0.95;
    letter-spacing: 0.01em;
    white-space: nowrap;
}
.art__sub {
    color: #2b2b2b;
    font-size: 1.9cqw;
    line-height: 1.35;
    margin-top: 0.5em;
}
.art__sub em {
    font-style: normal;
    font-family: 'Pacifico', cursive;
    color: #ef5a93;
    font-size: 1.1em;
}
.art--banner2 .art__script { font-size: 4cqw; }
.art--banner2 .art__big    { font-size: 6cqw; }
.art--banner2 .art__sub    { font-size: 2.3cqw; }

/* Propósito 1-3 (2048x1151) */
.about-slide-image { width: 100%; }
.about-slide-image .art { width: 100%; }
.art--prop .art__block {
    left: 3%; width: 52%; top: 32%; height: 48%;
    display: flex; flex-direction: column; justify-content: center;
    gap: 0.5em;
    text-align: left;
}
.art--prop.art--right .art__block {
    left: auto; right: 2.5%; width: 47%;
    align-items: flex-end;
    text-align: right;
}
.p-pink  { color: #ef5a93; font-weight: 800; font-size: 5.3cqw; line-height: 1.05; }
.p-navy  { color: #1d2b4f; font-weight: 500; font-size: 4.3cqw; line-height: 1.05; }
.p-mix   { font-size: 4.1cqw; line-height: 1.1; color: #1d2b4f; font-weight: 400; }
.p-mix b { color: #ef5a93; font-weight: 800; }
.p-small { color: #1d2b4f; font-size: 2.05cqw; line-height: 1.35; font-weight: 400; }
.p-small b { font-weight: 700; }
.p-handles {
    display: flex; flex-wrap: wrap; gap: 0.4em 1.6em;
    color: #1d2b4f; font-size: 1.95cqw; font-weight: 500;
    margin-top: 0.3em;
}
.p-handles span { display: inline-flex; align-items: center; gap: 0.35em; }
.p-handles i {
    display: inline-block; width: 1.3em; height: 1.3em; border-radius: 0.3em;
    background: #1d2b4f; color: #fff; font-style: normal; font-size: 0.9em;
    text-align: center; line-height: 1.3em;
}

/* Transformações (1284x~1440) */
.art--trans .art__a {
    left: 60%; width: 32%; top: 17.3%; height: 16%;
    display: flex; align-items: center; justify-content: center;
    text-align: center; color: #111;
    font-weight: 700; font-size: 4.8cqw; line-height: 1.1;
}
.art--trans .art__b {
    left: 5%; width: 35%; top: 72.2%; height: 13%;
    display: flex; align-items: center; justify-content: center;
    text-align: center; color: #111;
    font-weight: 700; font-size: 4cqw; line-height: 1.1;
}

/* ---------- Modal de doação (fluxo direto ao checkout) ---------- */
.donation-note {
    text-align: center;
    color: #6b7280;
    font-size: 0.85rem;
    margin-top: 10px;
}
.toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%) translateY(20px);
    background: #1d2b4f;
    color: #fff;
    padding: 12px 18px;
    border-radius: 12px;
    font: 500 14px/1.4 'Poppins', sans-serif;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
    z-index: 100001;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    max-width: 90vw;
    text-align: center;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* título do modal não encosta no X (mobile) */
.donation-modal .modal-header h2 { padding-right: 40px; }

/* ---------- Doação rápida (um clique → checkout) ---------- */
.quick-donate {
    padding: 50px 0 40px;
    background: linear-gradient(180deg, #fff6fa 0%, #ffffff 100%);
    scroll-margin-top: 60px;
}
.quick-donate__sub {
    text-align: center;
    color: #4b5563;
    font-size: 1.05rem;
    max-width: 560px;
    margin: -10px auto 26px;
    line-height: 1.5;
}
.quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    max-width: 760px;
    margin: 0 auto;
}
.quick-btn {
    position: relative;
    border: 2px solid #f9c3d8;
    background: #fff;
    border-radius: 18px;
    padding: 20px 12px 16px;
    min-height: 108px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    box-shadow: 0 6px 18px rgba(242, 108, 157, 0.12);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    -webkit-tap-highlight-color: transparent;
}
.quick-btn:hover, .quick-btn:focus-visible {
    transform: translateY(-3px);
    border-color: #F26C9D;
    box-shadow: 0 12px 28px rgba(242, 108, 157, 0.28);
    outline: none;
}
.quick-btn:active { transform: translateY(0); }
.quick-btn__amt { font-size: 1.7rem; font-weight: 800; color: #e91e63; line-height: 1; }
.quick-btn__lbl { font-size: 0.82rem; color: #4b5563; line-height: 1.3; text-align: center; }
.quick-btn--hot { background: linear-gradient(135deg, #F26C9D 0%, #e91e63 100%); border-color: transparent; }
.quick-btn--hot .quick-btn__amt, .quick-btn--hot .quick-btn__lbl { color: #fff; }
.quick-btn__tag {
    position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
    background: #1d2b4f; color: #fff;
    font-size: 0.68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    padding: 4px 10px; border-radius: 999px; white-space: nowrap;
}
.quick-other {
    display: block; margin: 18px auto 0;
    background: transparent; border: 2px dashed #cbd5e1; color: #1d2b4f;
    font: 600 0.95rem/1 'Poppins', sans-serif;
    padding: 14px 22px; border-radius: 999px; cursor: pointer;
    transition: border-color .15s ease, color .15s ease;
}
.quick-other:hover { border-color: #F26C9D; color: #e91e63; }
.quick-secure { text-align: center; color: #6b7280; font-size: 0.85rem; margin-top: 14px; }
@media (max-width: 600px) {
    .quick-donate { padding: 40px 0 32px; }
    .quick-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .quick-btn { min-height: 96px; padding: 18px 8px 14px; }
    .quick-btn__amt { font-size: 1.5rem; }
    .quick-btn__lbl { font-size: 0.78rem; }
}

/* Cards de impacto viram botões */
.impact-item--btn {
    width: 100%;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
}
.impact-item--btn:hover, .impact-item--btn:focus-visible {
    border-color: #F26C9D !important;
    box-shadow: 0 10px 24px rgba(242, 108, 157, 0.22) !important;
    outline: none;
}
.impact-go {
    margin-left: auto;
    flex: none;
    background: linear-gradient(135deg, #F26C9D 0%, #e91e63 100%);
    color: #fff;
    font-size: 0.78rem; font-weight: 700; letter-spacing: .04em;
    padding: 8px 14px; border-radius: 999px; white-space: nowrap;
}
@media (max-width: 600px) {
    .impact-item--btn { flex-wrap: wrap; row-gap: 10px; }
    .impact-item--btn .impact-description { flex: 1 1 160px; }
    .impact-go { margin-left: 0; flex: 1 1 100%; text-align: center; padding: 11px 14px; font-size: 0.85rem; }
}

/* ---------- Página de pago (SPEI / OXXO) ---------- */
.pay-body { margin: 0; background: linear-gradient(180deg, #eaf6fd 0%, #fff6fa 100%); font-family: 'Poppins', sans-serif; color: #1d2b4f; min-height: 100vh; }
.pay-wrap { padding: 28px 14px 60px; display: flex; justify-content: center; }
.pay-card { background: #fff; border-radius: 24px; box-shadow: 0 18px 50px rgba(16, 36, 60, 0.12); width: 100%; max-width: 520px; padding: 28px 24px 26px; }
.pay-logo { width: 84px; height: auto; display: block; margin: 0 auto 6px; }
.pay-title { font-size: 1.5rem; font-weight: 800; text-align: center; margin: 6px 0 4px; color: #1d2b4f; }
.pay-sub { text-align: center; color: #4b5563; font-size: .95rem; line-height: 1.5; margin: 0 0 18px; }
.pay-label { display: block; font-size: .82rem; font-weight: 600; color: #475569; margin: 14px 0 6px; }
.pay-input { width: 100%; box-sizing: border-box; border: 2px solid #e2e8f0; border-radius: 12px; padding: 13px 14px; font: 500 1rem 'Poppins', sans-serif; color: #1d2b4f; outline: none; transition: border-color .15s; }
.pay-input:focus { border-color: #F26C9D; }
.pay-amount { display: flex; align-items: center; gap: 8px; border: 2px solid #e2e8f0; border-radius: 12px; padding: 6px 14px; }
.pay-amount:focus-within { border-color: #F26C9D; }
.pay-amount span { font-weight: 700; color: #94a3b8; }
.pay-amount input { flex: 1; border: 0; outline: none; font: 800 1.6rem 'Poppins', sans-serif; color: #e91e63; min-width: 0; width: 100%; -moz-appearance: textfield; }
.pay-amount input::-webkit-outer-spin-button, .pay-amount input::-webkit-inner-spin-button { -webkit-appearance: none; }
.pay-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pay-chips button { border: 2px solid #f9c3d8; background: #fff; color: #e91e63; font: 700 .9rem 'Poppins', sans-serif; padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.pay-chips button.active { background: #e91e63; border-color: #e91e63; color: #fff; }
.pay-methods { display: grid; gap: 10px; }
.pay-method { display: flex; align-items: center; gap: 12px; border: 2px solid #e2e8f0; border-radius: 14px; padding: 12px 14px; cursor: pointer; transition: border-color .15s, background .15s; }
.pay-method.active { border-color: #F26C9D; background: #fff6fa; }
.pay-method input { accent-color: #e91e63; width: 18px; height: 18px; flex: none; }
.pay-method__ico { font-size: 1.5rem; flex: none; }
.pay-method__t { display: flex; flex-direction: column; line-height: 1.3; }
.pay-method__t b { font-size: .98rem; color: #1d2b4f; }
.pay-method__t small { font-size: .8rem; color: #64748b; }
.pay-error { background: #fff1f2; color: #b91c1c; border-radius: 10px; padding: 10px 12px; font-size: .9rem; margin: 14px 0 0; }
.pay-error a { color: #e91e63; font-weight: 700; }
.pay-go { display: block; width: 100%; margin-top: 18px; border: 0; border-radius: 14px; padding: 16px; background: linear-gradient(135deg, #F26C9D 0%, #e91e63 100%); color: #fff; font: 800 1rem 'Poppins', sans-serif; letter-spacing: .03em; cursor: pointer; box-shadow: 0 10px 26px rgba(233, 30, 99, .3); transition: transform .15s; }
.pay-go:hover { transform: translateY(-2px); }
.pay-go:disabled { opacity: .7; cursor: wait; transform: none; }
.pay-secure { text-align: center; color: #6b7280; font-size: .8rem; margin: 12px 0 0; line-height: 1.4; }
.pay-data { background: #f8fafc; border-radius: 16px; padding: 6px 14px; margin: 6px 0 16px; }
.pay-row { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid #e9eef3; flex-wrap: wrap; }
.pay-row:last-child { border-bottom: 0; }
.pay-row__l { flex: 0 0 100%; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.pay-row__v { flex: 1; font-weight: 600; color: #1d2b4f; word-break: break-all; }
.pay-row--big .pay-row__v { font-size: 1.35rem; font-weight: 800; letter-spacing: .06em; color: #e91e63; }
.pay-copy { border: 0; background: #1d2b4f; color: #fff; font: 700 .75rem 'Poppins', sans-serif; padding: 7px 12px; border-radius: 999px; cursor: pointer; flex: none; }
.pay-steps { padding-left: 20px; color: #334155; font-size: .92rem; line-height: 1.55; margin: 0 0 16px; }
.pay-steps li + li { margin-top: 6px; }
.pay-waiting { display: flex; align-items: center; justify-content: center; gap: 10px; color: #64748b; font-size: .9rem; padding: 12px; background: #f1f5f9; border-radius: 12px; }
.pay-spinner { width: 16px; height: 16px; border: 3px solid #cbd5e1; border-top-color: #e91e63; border-radius: 50%; animation: payspin .8s linear infinite; flex: none; }
@keyframes payspin { to { transform: rotate(360deg); } }
.pay-barcode { display: block; max-width: 100%; margin: 0 auto 12px; }
.pay-note { color: #64748b; font-size: .85rem; text-align: center; margin: 0 0 12px; line-height: 1.45; }
.pay-done { text-align: center; }
.pay-done__check { width: 68px; height: 68px; border-radius: 50%; background: linear-gradient(135deg, #F26C9D 0%, #e91e63 100%); color: #fff; font-size: 2rem; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 4px auto 12px; box-shadow: 0 8px 22px rgba(233, 30, 99, .3); }
.pay-back { display: inline-block; margin-top: 14px; color: #1d2b4f; font-weight: 600; font-size: .9rem; }

.pay-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- checkout simplificado ---------- */
.pay-chosen { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin: 6px 0 12px; flex-wrap: wrap; }
.pay-chosen__l { color: #64748b; font-size: .95rem; }
.pay-chosen__v { font-size: 1.9rem; font-weight: 800; color: #e91e63; line-height: 1; }
.pay-link { background: none; border: 0; color: #64748b; text-decoration: underline; font: 500 .85rem 'Poppins', sans-serif; cursor: pointer; padding: 0; }
.pay-amountbox { margin-bottom: 4px; }
.pay-label--big { font-size: 1rem; color: #1d2b4f; margin-top: 22px; text-align: center; }
.pay-go--spei, .pay-go--oxxo { display: flex; align-items: center; gap: 14px; text-align: left; padding: 14px 18px; margin-top: 12px; }
.pay-go--oxxo { background: #fff; color: #1d2b4f; border: 2px solid #e2e8f0; box-shadow: none; }
.pay-go--oxxo:hover { border-color: #e91e63; }
.pay-go__ico { font-size: 1.7rem; flex: none; }
.pay-go__t { display: flex; flex-direction: column; line-height: 1.25; }
.pay-go__t b { font-size: 1.05rem; letter-spacing: 0; }
.pay-go__t small { font-weight: 500; font-size: .8rem; opacity: .85; letter-spacing: 0; }
.pay-spinner--w { border-color: rgba(255,255,255,.4); border-top-color: #fff; }
.pay-clabe { text-align: center; background: #fff6fa; border: 2px dashed #f9c3d8; border-radius: 18px; padding: 16px 14px 14px; margin: 8px 0 14px; }
.pay-clabe__l { display: block; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.pay-clabe__v { display: block; font-size: clamp(1.35rem, 6.2vw, 1.9rem); font-weight: 800; letter-spacing: .08em; color: #1d2b4f; margin: 6px 0 12px; word-break: break-all; }
.pay-copybig { margin-top: 0; padding: 15px; }
.pay-mini { display: grid; gap: 6px; font-size: .9rem; color: #475569; background: #f8fafc; border-radius: 12px; padding: 12px 14px; margin-bottom: 14px; }
.pay-mini b { color: #1d2b4f; }
.pay-steps--big { font-size: 1rem; line-height: 1.5; }
.pay-steps--big li { margin-bottom: 8px; }
.pay-methods, .pay-method { display: none; }

/* fotos + order bumps */
.pay-photos { display: flex; justify-content: center; gap: 8px; margin: 4px 0 4px; }
.pay-photos img { width: 30%; max-width: 120px; aspect-ratio: 1; object-fit: cover; border-radius: 14px; box-shadow: 0 6px 16px rgba(16,36,60,.12); }
.pay-photos__cap { text-align: center; color: #64748b; font-size: .82rem; margin: 0 0 12px; }
.pay-bumps { display: grid; gap: 10px; margin-top: 18px; }
.pay-bump { display: flex; align-items: center; gap: 12px; border: 2px dashed #f9c3d8; background: #fff6fa; border-radius: 14px; padding: 10px 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.pay-bump:has(input:checked) { border-style: solid; border-color: #e91e63; background: #fff0f6; }
.pay-bump input { width: 22px; height: 22px; accent-color: #e91e63; flex: none; }
.pay-bump img { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; flex: none; }
.pay-bump__t { display: flex; flex-direction: column; line-height: 1.25; flex: 1; min-width: 0; }
.pay-bump__t b { font-size: .95rem; color: #1d2b4f; }
.pay-bump__t small { font-size: .78rem; color: #64748b; }
.pay-bump__p { font-weight: 800; color: #e91e63; font-size: 1rem; flex: none; }
.pay-total { text-align: center; margin-top: 12px; font-size: 1rem; color: #475569; }
.pay-total b { color: #e91e63; font-size: 1.25rem; }
.pay-clabe__v { font-size: clamp(1.1rem, 5.2vw, 1.7rem); letter-spacing: .05em; }

/* valor bem visível nas telas de pagamento */
.pay-bigamount { text-align: center; background: linear-gradient(135deg, #F26C9D 0%, #e91e63 100%); color: #fff; border-radius: 16px; padding: 14px 12px 12px; margin: 4px 0 14px; box-shadow: 0 8px 22px rgba(233,30,99,.28); }
.pay-bigamount span { display: block; font-size: .85rem; font-weight: 600; opacity: .95; }
.pay-bigamount b { display: block; font-size: 2.2rem; font-weight: 800; line-height: 1.1; margin: 2px 0; }
.pay-bigamount small { display: block; font-size: .78rem; opacity: .9; }
.pay-clabe__amt { display: block; font-size: 1rem; color: #475569; margin: -4px 0 12px; }
.pay-clabe__amt b { color: #e91e63; font-size: 1.2rem; }

/* cartão de pagamento (SPEI / OXXO) */
.pcard { background: #fff; border: 1px solid #eef2f6; border-radius: 20px; box-shadow: 0 10px 30px rgba(16,36,60,.08); padding: 22px 20px 18px; text-align: center; margin: 4px 0 18px; }
.pcard__lbl { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; }
.pcard__amt b { display: block; font-size: 2.6rem; font-weight: 800; color: #1d2b4f; line-height: 1.1; margin-top: 4px; }
.pcard__sep { height: 1px; background: #eef2f6; margin: 16px 0 14px; }
.pcard__code { font-size: clamp(1.15rem, 5.6vw, 1.75rem); font-weight: 800; letter-spacing: .1em; color: #e91e63; margin: 6px 0 12px; word-break: break-all; font-variant-numeric: tabular-nums; }
.pcard__copy { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 999px; padding: 12px 22px; background: #1d2b4f; color: #fff; font: 700 .95rem 'Poppins', sans-serif; cursor: pointer; transition: transform .15s, background .15s; }
.pcard__copy::before { content: '⧉'; font-size: 1rem; }
.pcard__copy:hover { transform: translateY(-1px); background: #2a3d6b; }
.pcard__meta { margin: 14px 0 0; font-size: .82rem; color: #64748b; }
.pcard__barcode { display: block; max-width: 100%; margin: 0 auto 12px; }
.pay-bigamount, .pay-clabe, .pay-mini { display: none; }
.pcard__code { font-size: clamp(1rem, 4.7vw, 1.5rem); letter-spacing: .06em; white-space: nowrap; }
.pcard__meta { background: #f0fdf4; color: #166534; border-radius: 10px; padding: 9px 12px; line-height: 1.4; }
.pcard__meta b { color: #14532d; }

/* ---------- Bloco de pagamento seguro (checkout) ---------- */
.trust { border: 1px solid #dbe4ef; border-radius: 14px; background: #f8fafd; padding: 14px 16px 12px; margin: 4px 0 22px; }
.trust__hd { display: flex; align-items: center; gap: 8px; font-size: .92rem; color: #14532d; margin-bottom: 10px; }
.trust__hd b { font-weight: 700; letter-spacing: .01em; }
.trust__lock { font-size: 1rem; line-height: 1; }
.trust__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.trust__list li { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; }
.trust__ico { font-size: 1rem; line-height: 1.25; width: 20px; text-align: center; }
.trust__list b { display: block; font-size: .86rem; font-weight: 700; color: #1d2b4f; line-height: 1.3; }
.trust__list small { display: block; font-size: .78rem; color: #5a6b85; line-height: 1.45; margin-top: 1px; }
.trust__id { display: flex; align-items: center; gap: 10px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e4ebf4; }
.trust__id img { width: 30px; height: auto; flex: none; }
.trust__id b { display: block; font-size: .82rem; font-weight: 800; color: #1d2b4f; letter-spacing: .04em; }
.trust__id small { display: block; font-size: .74rem; color: #7c8aa0; margin-top: 1px; }
@media (max-width: 420px) { .trust { padding: 12px 13px 11px; } .trust__list small { font-size: .75rem; } }

/* ---------- Checkout: referência persistente, bancos, aviso ---------- */
.pay-restored { background: #eef6ff; color: #1e3a8a; border-radius: 10px; padding: 9px 12px; font-size: .86rem; font-weight: 600; text-align: center; margin: -4px 0 12px; }
.pcard__benef { margin: 16px 0 0; padding: 12px; border-radius: 12px; background: #f8fafc; border: 1px solid #eef2f6; }
.pcard__benef b { display: block; font-size: 1.05rem; color: #1d2b4f; margin-top: 3px; }
.pcard__benef small { display: block; font-size: .78rem; color: #64748b; margin-top: 1px; }
.pcard__ref { margin: 10px 0 0; font-size: .8rem; color: #64748b; }
.pcard__actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 14px; }
.pcard__mini { border: 2px solid #e2e8f0; background: #fff; color: #1d2b4f; border-radius: 999px; padding: 8px 14px; font: 600 .82rem 'Poppins', sans-serif; cursor: pointer; }
.pcard__mini:hover { border-color: #F26C9D; }
.pcard__timer { margin: 12px 0 0; font-size: .78rem; color: #94a3b8; font-variant-numeric: tabular-nums; }
.banks { margin: 6px 0 18px; }
.banks__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 8px 0 14px; }
.banks__grid button { border: 2px solid #e2e8f0; background: #fff; color: #1d2b4f; border-radius: 12px; padding: 11px 6px; font: 700 .88rem 'Poppins', sans-serif; cursor: pointer; }
.banks__grid button.active { border-color: #e91e63; background: #fff0f5; color: #e91e63; }
.notify { margin: 18px 0 6px; padding: 14px 14px 12px; border-radius: 14px; background: #f0fdf4; border: 1px solid #bbf7d0; }
.notify b { display: block; font-size: .95rem; color: #14532d; }
.notify small { display: block; font-size: .8rem; color: #166534; margin: 2px 0 10px; }
.notify__row { display: flex; gap: 8px; }
.notify__row .pay-input { margin: 0; flex: 1; min-width: 0; }
.notify__btn { flex: none; border: 0; border-radius: 12px; padding: 0 18px; background: #16a34a; color: #fff; font: 700 .9rem 'Poppins', sans-serif; cursor: pointer; }
.notify__btn:disabled { opacity: .6; cursor: default; }
.notify__ok { margin: 10px 0 0; font-size: .86rem; font-weight: 700; color: #15803d; }
.pay-input--bad { border-color: #ef4444 !important; }
@media (max-width: 380px) { .banks__grid { grid-template-columns: repeat(2, 1fr); } }
.pay-bumps[hidden] { display: none; }

/* ---------- Topo do checkout: fotos + frase por valor ---------- */
.pay-photos--hero { margin: 2px 0 14px; gap: 10px; }
.pay-photos--hero img { width: 23%; max-width: 110px; border-radius: 18px; box-shadow: 0 6px 18px rgba(233,30,99,.14); border: 3px solid #fff; }
.pay-photos--hero img:nth-child(2), .pay-photos--hero img:nth-child(3) { transform: translateY(-5px) scale(1.05); }
.pay-hero__h { font-size: 1.32rem; font-weight: 800; line-height: 1.3; text-align: center; color: #1d2b4f; margin: 0 4px 6px; }
.pay-hero__h b { color: #e91e63; }
.pay-hero__s { text-align: center; color: #5a6b85; font-size: .9rem; line-height: 1.5; margin: 0 8px 18px; }
@media (max-width: 380px) { .pay-hero__h { font-size: 1.18rem; } }

/* ---------- Botão flutuante do WhatsApp ---------- */
.wafloat { position: fixed; right: 16px; bottom: 96px; z-index: 70; width: 56px; height: 56px; border-radius: 50%; background: #25D366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(37,211,102,.45); text-decoration: none; transition: transform .15s ease; }
.wafloat:hover { transform: scale(1.06); }
@media (max-width: 600px) { .wafloat { right: 12px; bottom: 88px; width: 52px; height: 52px; } }

/* Segunda cópia da CLABE, abaixo do aviso de espera */
.pcard__again { background: #fff; border: 1px solid #eef2f6; border-radius: 18px; box-shadow: 0 8px 24px rgba(16,36,60,.07); padding: 16px 18px 18px; margin: 14px 0 4px; text-align: center; }

/* ---------- Loja do guia (EN, cartão) ---------- */
.gs-back { color: #1d2b4f; font: 600 .85rem 'Poppins', sans-serif; text-decoration: none; }
.gs-hero { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: start; margin-bottom: 22px; }
.gs-cover { width: 130px; border-radius: 10px; box-shadow: 0 10px 28px rgba(16,36,60,.18); }
.gs-tag { display: inline-block; background: #fff0f5; color: #e91e63; font: 700 .72rem 'Poppins', sans-serif; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.gs-h { font-size: 1.45rem; font-weight: 800; color: #1d2b4f; line-height: 1.2; margin: 8px 0 6px; }
.gs-p { color: #4b5563; font-size: .9rem; line-height: 1.55; margin: 0 0 10px; }
.gs-help { background: #f0fdf4; color: #14532d; border-radius: 12px; padding: 10px 12px; font-size: .86rem; line-height: 1.45; margin: 0; }
.gs-tiers { display: grid; gap: 10px; margin: 8px 0 22px; }
.gs-tier { position: relative; display: flex; align-items: center; gap: 12px; border: 2px solid #e2e8f0; border-radius: 14px; padding: 14px; cursor: pointer; background: #fff; }
.gs-tier input { width: 20px; height: 20px; accent-color: #e91e63; flex: none; }
.gs-tier.on { border-color: #e91e63; background: #fff7fa; }
.gs-tier__b { flex: 1; } .gs-tier__b b { display: block; color: #1d2b4f; font-size: .95rem; } .gs-tier__b small { color: #64748b; font-size: .8rem; }
.gs-tier__p { font-weight: 800; color: #e91e63; font-size: 1.05rem; white-space: nowrap; }
.gs-tier__tag { position: absolute; top: -10px; right: 14px; background: #1d2b4f; color: #fff; font: 700 .66rem 'Poppins', sans-serif; letter-spacing: .05em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.gs-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.gs-fx { font-size: .8rem; color: #64748b; line-height: 1.5; background: #f8fafc; border-radius: 10px; padding: 10px 12px; margin: 14px 0 0; }
.gs-pay { justify-content: center; text-align: center; font-weight: 800; }
.gs-trust { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 6px; font-size: .8rem; color: #64748b; }
.gs-dl { display: grid; gap: 10px; margin: 18px 0; }
.gs-dlbtn { display: block; text-align: center; text-decoration: none; margin-top: 0; }
.gs-dlbtn--alt { background: #fff; color: #1d2b4f; border: 2px solid #1d2b4f; }
@media (max-width: 480px) { .gs-hero { grid-template-columns: 96px 1fr; } .gs-cover { width: 96px; } .gs-row { grid-template-columns: 1fr 1fr; } .gs-row > div:last-child { grid-column: span 2; } }

/* Home: loja em inglês, doação em espanhol */
html[lang="en"] .donate-es { display: none !important; }
html:not([lang="en"]) .donate-en { display: none !important; }
.gshop { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 900px; margin: 10px auto 0; }
.gshop a { display: block; text-decoration: none; background: #fff; border: 2px solid #f3c5d6; border-radius: 18px; padding: 18px; text-align: center; color: #1d2b4f; }
.gshop a.hot { border-color: #e91e63; background: #fff0f5; }
.gshop b { display: block; font-size: 1.6rem; color: #e91e63; font-weight: 800; }
.gshop span { display: block; font-weight: 700; margin-top: 4px; } .gshop small { display: block; color: #64748b; margin-top: 4px; font-size: .8rem; }
.gshop-intro { text-align: center; max-width: 640px; margin: 0 auto; color: #4b5563; }
@media (max-width: 700px) { .gshop { grid-template-columns: 1fr; } }
.gs-tier--custom .gs-tier__p { display: flex; align-items: center; gap: 2px; }
.gs-tier--custom input[type=number] { width: 78px; border: 2px solid #e2e8f0; border-radius: 10px; padding: 6px 8px; font: 800 1rem 'Poppins', sans-serif; color: #e91e63; text-align: center; }
.gs-cur { font-weight: 800; color: #e91e63; }
