.shh-donation-form { --shh-primary:#3e9445; --shh-accent:#6baf55; --shh-text:#14233f; --shh-bg:#f7f3ea; --shh-card:#fff; --shh-button-text:#fff; --shh-button-radius:10px; --shh-card-radius:18px; --shh-step-divider:#d8d8d8; --shh-project-font-size:14px; background:var(--shh-bg); border-radius:var(--shh-card-radius); box-shadow:0 14px 42px rgba(20,35,63,.11); box-sizing:border-box; color:var(--shh-text); font-family:inherit; margin:0 auto; max-width:980px; min-width:0; overflow:hidden; padding:clamp(20px,3vw,38px); position:relative; width:100%; }
.shh-donation-form * { box-sizing:border-box; }
.shh-donation-form--no-shadow { box-shadow:none; }
.shh-donation-form--pattern::before { background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb,var(--shh-primary) 18%,transparent) 1px,transparent 0); background-size:18px 18px; content:""; inset:0; opacity:.28; pointer-events:none; position:absolute; }
.shh-form { max-width:100%; min-width:0; position:relative; z-index:1; }
.shh-form__logo-wrap { margin-bottom:14px; text-align:center; }
.shh-form__logo { height:auto; max-height:64px; max-width:190px; width:auto; }
.shh-steps { align-items:center; display:grid; gap:8px; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; min-width:0; text-transform:uppercase; }
.shh-step { align-items:center; color:#686868; display:flex; font-size:12px; font-weight:650; gap:9px; justify-content:center; letter-spacing:.02em; min-width:0; position:relative; text-align:center; }
.shh-step:not(:last-child)::after { display:none; }
.shh-step > span { border:1px solid #d8d8d8; border-radius:50%; display:grid; flex:0 0 32px; font-family:inherit; font-size:15px; height:32px; line-height:1; padding:0; place-items:center; text-align:center; }
.shh-step--active { color:var(--shh-primary); }
.shh-step--active > span { background:var(--shh-primary); border-color:var(--shh-primary); color:#fff; }
.shh-steps-divider { background:var(--shh-step-divider); height:1px; margin:14px 0 26px; width:100%; }
.shh-steps-divider--hidden { background:transparent; height:0; margin-bottom:28px; margin-top:0; }
.shh-form__section { border:0; margin:0; max-width:100%; min-width:0; padding:0; }
.shh-form__section legend { color:var(--shh-text); float:none; font-family:Georgia,serif; font-size:clamp(17px,1.8vw,20px); font-weight:700; line-height:1.25; margin-bottom:12px; padding:0; width:auto; }
.shh-amounts { display:grid; gap:10px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.shh-choice { cursor:pointer; display:block; margin:0; }
.shh-choice > input[type="radio"], .shh-pill input { height:1px!important; opacity:0; overflow:hidden; position:absolute; width:1px!important; }
.shh-choice > span { align-items:center; background:var(--shh-card); border:1px solid #dcdedb; border-radius:var(--shh-button-radius); display:flex; justify-content:center; min-height:62px; padding:10px; text-align:center; transition:border-color .18s,background .18s,color .18s,transform .18s; }
.shh-choice > input[type="radio"]:focus-visible + span, .shh-pill > input[type="radio"]:focus-visible + span { outline:3px solid var(--shh-text); outline-offset:3px; }
.shh-choice input:checked + span { background:linear-gradient(rgba(0,0,0,.13),rgba(0,0,0,.13)),linear-gradient(135deg,var(--shh-primary),var(--shh-accent)); border-color:var(--shh-primary); color:#fff; }
.shh-amount-choice > span { align-items:center; font-family:Georgia,serif; font-size:clamp(22px,2.2vw,29px); font-variant-numeric:tabular-nums; font-weight:600; gap:.2em; justify-content:center; line-height:1; padding:0 8px; white-space:nowrap; }
.shh-amount-number, .shh-amount-currency { align-items:center; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; display:inline-flex; height:1em; justify-content:center; line-height:1; margin:0!important; outline:0!important; padding:0!important; text-decoration:none!important; }
.shh-amount-currency { font-size:.92em; }
.shh-custom-choice { align-items:center; background:var(--shh-card); border:1px solid #dcdedb; border-radius:var(--shh-button-radius); cursor:pointer; display:flex; justify-content:center; min-height:62px; padding:7px 8px; transition:border-color .18s; }
.shh-custom-choice:hover, .shh-custom-choice:focus-within, .shh-custom-choice--selected, .shh-custom-choice:has(.shh-custom-radio:checked) { background:var(--shh-card); border-color:var(--shh-primary); color:var(--shh-text); }
.shh-custom-choice__label { align-items:center; cursor:pointer; display:flex; font-family:inherit; font-size:14px; gap:6px; justify-content:center; line-height:1; margin:0; min-width:0; text-align:center; }
.shh-custom-choice__label .dashicons { flex:0 0 18px; }
.shh-custom-choice__input { align-items:baseline; display:none; font-family:Georgia,serif; font-size:clamp(22px,2.2vw,29px); font-variant-numeric:tabular-nums; font-weight:600; justify-content:center; line-height:1; min-width:0; position:relative; width:100%; }
.shh-custom-choice > .shh-custom-choice__input { background:transparent; border:0; border-radius:0; display:none; min-height:0; padding:0; }
.shh-donation-form .shh-custom-choice__input input.shh-custom-amount-input, .shh-donation-form .shh-custom-choice__input input.shh-custom-amount-input:hover, .shh-donation-form .shh-custom-choice__input input.shh-custom-amount-input:focus, .shh-donation-form .shh-custom-choice__input input.shh-custom-amount-input:active { appearance:textfield!important; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; color:var(--shh-text)!important; font-family:Georgia,serif!important; font-size:clamp(22px,2.2vw,29px)!important; font-style:normal!important; font-variant-numeric:tabular-nums!important; font-weight:600!important; height:44px!important; line-height:1!important; margin:0!important; min-width:0!important; outline:0!important; padding:0 4px!important; text-align:right!important; text-decoration:none!important; width:min(72%,120px)!important; }
.shh-donation-form .shh-custom-choice__input input.shh-custom-amount-input::placeholder { color:#8a8d8a!important; font-family:Georgia,serif!important; font-size:inherit!important; font-style:normal!important; font-weight:600!important; opacity:1!important; }
.shh-custom-choice__input input::-webkit-inner-spin-button, .shh-custom-choice__input input::-webkit-outer-spin-button { appearance:none; margin:0; }
.shh-custom-choice__input::after { background:transparent!important; border:0!important; box-shadow:none!important; color:var(--shh-text); content:"€"; display:inline-block; font-family:Georgia,serif; font-size:.92em; font-style:normal; font-weight:600; line-height:1; margin:0; outline:0!important; padding:0; pointer-events:none; text-decoration:none; }
.shh-custom-choice--selected .shh-custom-choice__label, .shh-custom-choice:has(.shh-custom-radio:checked) .shh-custom-choice__label { display:none; }
.shh-custom-choice--selected .shh-custom-choice__input, .shh-custom-choice:has(.shh-custom-radio:checked) .shh-custom-choice__input { display:flex; }
.shh-custom-radio:focus-visible + .shh-custom-choice__label { outline:3px solid var(--shh-text); outline-offset:3px; }
.shh-custom-choice__input input:focus-visible { outline:0!important; }
.shh-form__columns { display:grid; gap:16px; grid-template-columns:minmax(175px,.42fr) minmax(0,1fr); margin-top:27px; }
.shh-frequency-options { align-items:flex-start; display:flex; flex-direction:column; gap:8px; }
.shh-pill { cursor:pointer; display:block; margin:0; }
.shh-pill > span { align-items:center; background:var(--shh-card); border:1px solid #b8bbb8; border-radius:999px; display:flex; font-size:13px; gap:6px; justify-content:center; min-height:44px; min-width:155px; padding:8px 15px; }
.shh-pill input:checked + span { background:linear-gradient(rgba(0,0,0,.13),rgba(0,0,0,.13)),var(--shh-primary); border-color:var(--shh-primary); color:#fff; }
.shh-pill--disabled { cursor:not-allowed; opacity:.4; }
.shh-projects { display:grid; gap:9px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.shh-project-choice > span { flex-direction:column; gap:5px; min-height:84px; }
.shh-project-choice strong { font-size:var(--shh-project-font-size); line-height:1.18; overflow-wrap:anywhere; }
.shh-project-choice small { font-size:10px; opacity:.9; }
.shh-project-icon { color:var(--shh-primary); font-size:24px; height:24px; line-height:24px; width:auto; }
.shh-choice input:checked + span .shh-project-icon { color:#fff; }
.shh-project-image { border-radius:6px; height:32px!important; object-fit:cover; width:48px!important; }
.shh-project-custom-icon { background:transparent!important; height:32px!important; object-fit:contain!important; width:32px!important; }
.shh-summary { align-items:center; background:color-mix(in srgb,var(--shh-card) 88%,var(--shh-primary)); border:1px solid color-mix(in srgb,var(--shh-primary) 18%,transparent); border-radius:var(--shh-button-radius); display:flex; flex-wrap:wrap; font-size:12px; gap:8px 18px; margin-top:25px; padding:10px 14px; }
.shh-summary__amount { align-items:baseline; display:flex; gap:5px; }
.shh-summary__amount span { color:#686c69; }
.shh-summary__amount strong, .shh-summary__project { color:var(--shh-text); font-weight:700; }
.shh-summary__project, .shh-summary__frequency { border-left:1px solid color-mix(in srgb,var(--shh-text) 16%,transparent); padding-left:18px; }
.shh-summary__frequency { color:#686c69; text-transform:lowercase; }
.shh-submit { align-items:center; background:linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),linear-gradient(135deg,var(--shh-primary),var(--shh-accent)); border-color:var(--shh-button-border)!important; border-radius:var(--shh-button-radius)!important; border-style:solid!important; border-width:var(--shh-button-border-width)!important; box-shadow:none!important; color:var(--shh-button-text)!important; cursor:pointer; display:flex; font:inherit; font-size:clamp(14px,1.6vw,17px); font-weight:700; gap:8px; justify-content:center; letter-spacing:.06em; line-height:1; margin-top:10px; max-width:100%; min-height:54px; outline:0; padding:11px 22px; text-align:center; text-transform:uppercase; touch-action:manipulation; width:100%; }
.shh-submit:hover { background:var(--shh-button-hover-bg)!important; border-color:var(--shh-button-hover-border)!important; border-width:var(--shh-button-hover-border-width)!important; color:var(--shh-button-hover-text)!important; filter:none; transform:translateY(-1px); }
.shh-submit:focus-visible { outline:3px solid color-mix(in srgb,var(--shh-primary) 38%,transparent); outline-offset:3px; }
.shh-submit:disabled { cursor:wait; filter:saturate(.55); opacity:.72; transform:none; }
.shh-payment-preview { align-items:center; display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin-top:12px; }
.shh-payment-badge { align-items:center; background:var(--shh-card); border:1px solid #d5d7d5; border-radius:6px; color:#50555a; display:inline-flex; font-size:11px; font-weight:650; gap:4px; justify-content:center; line-height:1; min-height:32px; padding:7px 11px; white-space:nowrap; }
.shh-payment-badge .dashicons { font-size:15px; height:15px; width:15px; }
.shh-payment-badge--paypal { color:#173b7a; font-size:12px; font-style:italic; }
.shh-payment-preview__note { color:#686c69; font-size:10px; margin:5px 0 0; text-align:center; }
.shh-phase-notice { background:#fff0f0; border-left:4px solid #b32d2e; color:#761919; font-size:13px; margin:11px 0 0; padding:9px 12px; }
.shh-phase-notice:focus { outline:2px solid #761919; outline-offset:2px; }
.shh-return-notice { background:#fff8e5; border-left:4px solid #996800; color:#614500; font-size:13px; margin:-10px 0 20px; padding:10px 13px; }
.shh-return-notice--cancelled { background:#fff0f0; border-left-color:#b32d2e; color:#761919; }
.shh-thank-you { margin:20px auto 0; max-width:600px; padding:clamp(25px,5vw,55px) 20px; text-align:center; }
.shh-thank-you__icon { color:var(--shh-primary); font-size:54px; height:54px; width:54px; }
.shh-thank-you h2 { color:var(--shh-text); font-family:Georgia,serif; font-size:clamp(24px,3vw,34px); margin:14px 0 25px; }
.shh-thank-you dl { background:var(--shh-card); border:1px solid #d5d7d5; border-radius:var(--shh-button-radius); margin:0 auto; padding:4px 18px; text-align:left; }
.shh-thank-you dl > div { align-items:center; display:flex; gap:20px; justify-content:space-between; padding:12px 0; }
.shh-thank-you dl > div + div { border-top:1px solid #e3e4e3; }
.shh-thank-you dt { color:#686c69; font-size:12px; }
.shh-thank-you dd { color:var(--shh-text); font-size:14px; font-weight:700; margin:0; text-align:right; }
.shh-thank-you__pending { color:#686c69; font-size:11px; margin:14px auto 0; max-width:470px; }
.shh-privacy { color:#686c69; font-size:11px; margin:12px 0 0; text-align:center; }
.shh-privacy .dashicons { font-size:14px; height:14px; width:14px; }
.shh-empty-state { background:var(--shh-card); border:1px dashed #c9cbc8; border-radius:var(--shh-button-radius); margin:0; padding:22px; }
.shh-certificate-request { background:var(--shh-card); border:1px solid rgba(20,35,63,.16); border-radius:var(--shh-button-radius); margin:18px 0; padding:16px; }
.shh-certificate-request > label { align-items:center; cursor:pointer; display:flex; font-weight:700; gap:10px; }
.shh-donor-fields { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; }
.shh-donor-fields[hidden] { display:none!important; }
.shh-donor-fields label { display:grid; font-weight:600; gap:5px; }
.shh-donor-fields input { border:1px solid rgba(20,35,63,.25); border-radius:8px; min-height:44px; padding:8px 10px; width:100%; }
@media (max-width:600px) { .shh-donor-fields { grid-template-columns:1fr; } }
@media (max-width:900px) { .shh-donation-form { padding:clamp(20px,4vw,32px); } .shh-amounts { grid-template-columns:repeat(3,minmax(0,1fr)); } .shh-projects { grid-template-columns:repeat(2,minmax(0,1fr)); } .shh-form__columns { grid-template-columns:1fr; } .shh-frequency-options { flex-direction:row; flex-wrap:wrap; } }
@media (max-width:600px) { .shh-donation-form { border-radius:min(var(--shh-card-radius),12px); padding:20px 15px; } .shh-steps { align-items:start; gap:6px; } .shh-step { flex-direction:column; font-size:10px; gap:5px; justify-content:flex-start; line-height:1.15; text-align:center; } .shh-step > span { font-size:14px; height:30px; flex-basis:30px; width:30px; } .shh-steps-divider { margin-bottom:24px; margin-top:12px; } .shh-steps-divider--hidden { margin-bottom:24px; margin-top:0; } .shh-amounts { grid-template-columns:repeat(2,minmax(0,1fr)); } .shh-choice > span { min-height:58px; padding:9px 7px; } .shh-custom-choice { min-height:58px; padding:5px 7px; } .shh-custom-choice__input input { height:44px; } .shh-projects { grid-template-columns:repeat(2,minmax(0,1fr)); } .shh-project-choice > span { min-height:78px; } .shh-frequency-options { gap:8px; } .shh-pill > span { min-height:44px; min-width:145px; } .shh-summary { align-items:flex-start; flex-direction:column; gap:4px; } .shh-summary__project, .shh-summary__frequency { border-left:0; padding-left:0; } .shh-submit { min-height:52px; padding-left:12px; padding-right:12px; } .shh-payment-preview { gap:6px; } .shh-payment-badge { flex:1 1 calc(50% - 6px); min-height:36px; } }
@media (max-width:420px) { .shh-donation-form { padding-left:12px; padding-right:12px; } .shh-step { font-size:9px; letter-spacing:0; } .shh-amounts { gap:8px; } .shh-projects { grid-template-columns:1fr; } .shh-project-choice > span { min-height:68px; } .shh-pill { flex:1 1 135px; } .shh-pill > span { min-width:0; width:100%; } }
@media (prefers-reduced-motion:reduce) { .shh-donation-form * { scroll-behavior:auto!important; transition:none!important; } }
