.hfo-donation{--hfo-accent:var(--e-global-color-vamtam_accent_1,#fec415);--hfo-ink:var(--e-global-color-vamtam_accent_6,#1d1c1c);box-sizing:border-box;width:100%;max-width:650px;margin:0 auto;padding:44px 46px;background:#fff;color:var(--hfo-ink);font-family:inherit;text-align:left}
.hfo-donation *{box-sizing:border-box}.hfo-donation h2{text-align:center;font-size:clamp(25px,3vw,36px);line-height:1.25;margin:0 0 24px;font-weight:700}.hfo-form fieldset{border:0;padding:0;margin:25px 0}.hfo-form legend{font-weight:600;margin-bottom:14px;font-size:17px}.hfo-amount-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hfo-choice{position:relative;cursor:pointer;margin:0!important}.hfo-choice input{position:absolute;opacity:0;width:1px;height:1px}.hfo-choice>span{display:flex;min-height:54px;justify-content:center;align-items:center;border:2px solid var(--hfo-ink);border-radius:40px;padding:9px;font-size:16px;font-weight:600;transition:background .15s}.hfo-choice input:checked+span{background:var(--hfo-accent);border-color:var(--hfo-accent)}.hfo-choice input:focus-visible+span,.hfo-form input:focus-visible,.hfo-form button:focus-visible{outline:3px solid #356ca5;outline-offset:3px}.hfo-choice--other{grid-column:1/-1}.hfo-custom{margin-top:18px}.hfo-custom[hidden]{display:none!important}.hfo-form small{display:block;margin-top:12px;font-size:13px;color:#555}.hfo-form label{font-size:15px;display:block;margin-bottom:8px}.hfo-form input[type=text],.hfo-form input[type=email]{width:100%;min-width:0;min-height:58px;border:2px solid var(--hfo-ink);border-radius:40px;background:#fff;color:var(--hfo-ink);padding:12px 20px;font:inherit;box-shadow:none}.hfo-personal{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hfo-personal .hfo-field{margin:0}.hfo-field--wide{grid-column:1/-1}.hfo-form .hfo-submit{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:60px;border:0;border-radius:40px;background:var(--hfo-accent);color:var(--hfo-ink);font:inherit;font-weight:700;cursor:pointer;padding:15px 20px}.hfo-form .hfo-submit:hover{background:var(--hfo-ink);color:#fff}.hfo-submit:disabled{opacity:.6;cursor:wait}.hfo-submit span{font-size:24px}.hfo-reassurance{text-align:center;font-size:12px;color:#666;margin:15px 0 0}.hfo-progress{margin:20px 0;width:100%}.hfo-progress__labels{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;line-height:1.6}.hfo-progress__labels strong{font-size:15px}.hfo-hide-cart .elementor-widget-woocommerce-menu-cart,.hfo-hide-cart .elementor-menu-cart__container,.hfo-hide-cart .widget_shopping_cart{display:none!important}.hfo-donation-only .woocommerce-checkout #order_comments_field,.hfo-donation-only .woocommerce-checkout .woocommerce-shipping-fields,.hfo-donation-only .checkout-breadcrumb .cart-breadcrumb{display:none!important}
@media(max-width:767px){.hfo-donation{padding:26px 20px;max-width:100%}.hfo-personal{gap:14px}.hfo-amount-grid{gap:8px}.hfo-choice>span{font-size:15px;padding:8px 5px}.hfo-form input[type=text],.hfo-form input[type=email]{font-size:16px}.hfo-progress__labels{flex-direction:column;gap:2px}}
@media(max-width:420px){.hfo-donation{padding:24px 14px}.hfo-personal{grid-template-columns:1fr}.hfo-field--wide{grid-column:auto}.hfo-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.hfo-donation-only .checkout-breadcrumb{display:none!important}.hfo-donation-only #order_review .product-quantity{display:none}.hfo-payment-heading{text-align:center;margin:20px 0 35px}.hfo-donation-only .woocommerce-customer-details .woocommerce-column__title{display:none}

/* Viva preference cards inside the existing classic checkout and order-pay forms. */
.woocommerce #payment ul.payment_methods>li.hfo-viva-options{padding:0;margin:14px 0 25px;list-style:none;clear:both;text-align:left}
.hfo-viva-options[hidden]{display:none!important}.hfo-viva-options fieldset{border:0;padding:0;margin:0;min-width:0}
.hfo-viva-options legend{font:inherit;font-weight:600;font-size:16px;margin:0 0 12px;padding:0}
.hfo-viva-options__list{display:grid;gap:10px}.hfo-viva-option{position:relative;display:block!important;margin:0!important;cursor:pointer;font:inherit!important}
.hfo-viva-option>input[type=radio]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;left:18px;top:50%}
.hfo-viva-option__card{display:flex;align-items:center;gap:16px;min-height:86px;padding:16px 18px;border:2px solid #e3e3e3;border-radius:16px;background:#fff;color:#242424;transition:border-color .15s,background .15s;box-sizing:border-box}
.hfo-viva-option input:checked+.hfo-viva-option__card{border-color:var(--e-global-color-vamtam_accent_1,#fec415);background:#fff9e6}
.hfo-viva-option input:focus-visible+.hfo-viva-option__card{outline:3px solid #356ca5;outline-offset:3px}
.hfo-viva-option__logo{display:flex;align-items:center;justify-content:center;flex:0 0 74px;font-weight:700;font-size:14px}
.woocommerce #payment .hfo-viva-option__logo img{display:block;float:none;max-height:36px;max-width:74px;width:70px;height:36px;object-fit:contain;margin:0;padding:0}
.hfo-viva-option__copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;line-height:1.4}.hfo-viva-option__copy strong{font-size:16px;font-weight:600}.hfo-viva-option__copy small{font-size:12px;color:#606060;line-height:1.5}
.hfo-viva-option__radio{flex:0 0 18px;height:18px;box-sizing:border-box;border:2px solid #aaa;border-radius:50%}
.hfo-viva-option input:checked+.hfo-viva-option__card .hfo-viva-option__radio{border:5px solid #242424;background:var(--e-global-color-vamtam_accent_1,#fec415)}
.hfo-viva-option--unavailable{cursor:not-allowed}.hfo-viva-option--unavailable .hfo-viva-option__card{background:#f5f5f5;color:#666}.hfo-viva-option--unavailable .hfo-viva-option__logo{opacity:.5}
.hfo-viva-options .hfo-viva-options__note{font-size:12px!important;line-height:1.6;margin:12px 0 0!important;color:#666}
@media(max-width:480px){.hfo-viva-option__card{gap:10px;padding:14px 10px}.hfo-viva-option__logo{flex-basis:54px}.woocommerce #payment .hfo-viva-option__logo img{max-width:54px}.hfo-viva-option__copy strong{font-size:14px}.hfo-viva-option__copy small{font-size:12px}.hfo-viva-option__radio{flex-basis:16px;height:16px}}
.hfo-donation-only.woocommerce-order-pay #sub-header:has(.checkout-breadcrumb){display:none}
.hfo-donation-only.woocommerce-order-pay #order_review{max-width:680px;margin:0 auto 40px}
.hfo-donation-only.woocommerce-order-pay .hfo-payment-heading{margin:30px 0;font-size:clamp(26px,4vw,36px)}
.woocommerce #payment .hfo-viva-option__logo img{width:66px;height:58px;max-height:58px}
@media(max-width:480px){.woocommerce #payment .hfo-viva-option__logo img{width:54px;height:54px;max-height:54px}}

/* Donation total: one accessible final value, with a separate visual count-up. */
@font-face{font-family:'HFO Noto Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/noto-sans-400.ttf') format('truetype')}
@font-face{font-family:'HFO Noto Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/noto-sans-700.ttf') format('truetype')}
.hfo-progress{box-sizing:border-box;margin:26px 0;padding:26px 16px 24px;border:1px solid var(--hfo-brand-border,#e9dfee);border-radius:22px;background:linear-gradient(135deg,#faf7fc,#fff1f7);text-align:center;font-family:'HFO Noto Sans',Arial,sans-serif}
.hfo-progress .hfo-progress__labels{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}
.hfo-progress .hfo-progress__amount{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:10px;width:100%;color:var(--hfo-brand-purple,#380060);font-family:inherit;font-size:clamp(32px,5vw,60px);font-weight:700;line-height:1.15;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.hfo-progress__number{overflow-wrap:anywhere;min-width:0;max-width:100%}
.hfo-progress__currency{color:#b31d75;font-size:.65em;letter-spacing:0}
.hfo-progress__caption{color:var(--hfo-brand-muted,#706078);font-size:14px;line-height:1.6;font-weight:400}
.hfo-progress__accessible{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:420px){.hfo-progress{padding:23px 12px;margin:22px 0}.hfo-progress .hfo-progress__amount{font-size:clamp(30px,9vw,42px)}}
