/* Shared campaign presentation. Existing campaign controls keep their handlers. */
#global:has(#campaign:not([style*="display: none"])) { background:#f5f7fb; }
#global:has(#campaign:not([style*="display: none"])) > header.content { min-height:460px; }
#global:has(#campaign:not([style*="display: none"])) > header.content > .row { position:relative;z-index:20;background:linear-gradient(180deg,rgba(12,28,44,.8),rgba(12,28,44,.08));padding-top:18px;padding-bottom:20px; }
#global:has(#campaign:not([style*="display: none"])) > header.content .sign-up-menu { margin-top:7px; }
#campaign { color:#172b42;padding-bottom:64px; }
#campaign > .campaign-progress { max-width:1140px;margin:0 auto 38px;padding:25px 28px;background:#fff;border:1px solid #e1e7ef;border-radius:0 0 18px 18px;box-shadow:0 14px 36px rgba(20,42,62,.08);position:relative;z-index:8; }
#campaign .campaign-progress .progress { height:56px;margin:0;border-radius:8px;background:#f1f4f8;box-shadow:none;border:0; }
#campaign .campaign-progress .progress-bar { background:#f6b74e;box-shadow:none;border-radius:8px; }
#campaign .campaign-progress .progress-bar-current,#campaign .campaign-progress .progress-bar-total,#campaign .campaign-progress .progress-bar-percent { line-height:56px;height:56px;font-size:17px;font-weight:600; }
#campaign .campaign-progress .progress-bar-current { color:#172b42!important; }
#campaign .campaign-progress .to-go > div { height:56px;line-height:54px;border:1px solid #e1e7ef;border-radius:8px;color:#536477;background:#fff;font-size:16px; }
#campaign .btn-contribute { min-height:56px;padding:16px 18px;border-radius:9px;background:#176c48;border:1px solid #176c48;color:#fff;font-size:18px;font-weight:700;box-shadow:0 5px 12px rgba(23,108,72,.15); }
#campaign .btn-contribute:hover { background:#105237;border-color:#105237; }
#campaign > section.container { max-width:1170px; }
#campaign .campaign-main-column { padding:0 24px; }
#campaign h1#goal { margin:8px 0 28px;font-size:clamp(30px,3.4vw,44px);font-weight:700;line-height:1.2;letter-spacing:-.035em;color:#172b42; }
#campaign .cmp-menus { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #dce4ee; }
#campaign .cmp-menus > li { margin:0; }
#campaign .cmp-menus > li > a { padding:11px 15px;border-radius:8px;color:#40546a;font-size:15px;font-weight:600; }
#campaign .cmp-menus > li.active > a { color:#172b42;background:#ffe5b8; }
#campaign .campaign-story { padding:28px 32px;background:#fff;border:1px solid #e1e7ef;border-radius:14px; }
#campaign .campaign-story p { font-size:17px;line-height:1.85;color:#4a5e72;margin-bottom:20px; }
#campaign .campaign-story p:last-child { margin-bottom:0; }
#campaign .campaign-story b,#campaign .campaign-story strong { color:#172b42; }
#campaign .campaign-story img,#campaign .campaign-story iframe { max-width:100%; }
#campaign .card { border:1px solid #e1e7ef;border-radius:14px;box-shadow:0 6px 20px rgba(20,42,62,.05);overflow:hidden; }
#campaign .card .card-name { color:#172b42; }
#campaign .campaign-reward { border:1px solid #e1e7ef;border-radius:12px;background:#fff; }
#campaign a:focus-visible,#campaign button:focus-visible { outline:3px solid #2575ad;outline-offset:4px; }
#campaign #team-dom { scroll-margin-top:100px; }
@media(max-width:767px){
 #global:has(#campaign:not([style*="display: none"])) > header.content { min-height:320px;height:320px; }
 #campaign > .campaign-progress { margin:0 12px 28px;padding:20px 16px;border-radius:0 0 16px 16px; }
 #campaign .campaign-progress > .row > div { padding-left:8px;padding-right:8px; }
 #campaign .campaign-progress .to-go { margin-top:12px;margin-bottom:12px; }
 #campaign .campaign-progress .progress-bar-current,#campaign .campaign-progress .progress-bar-total,#campaign .campaign-progress .progress-bar-percent { font-size:15px; }
 #campaign .campaign-main-column { padding:0 20px; }
 #campaign h1#goal { font-size:32px; }
 #campaign .cmp-menus { gap:4px; }
 #campaign .cmp-menus > li > a { padding:10px 12px;font-size:14px; }
 #campaign .campaign-story { padding:22px 20px; }
 #campaign .campaign-story p { font-size:16px;line-height:1.8; }
}
@media(prefers-reduced-motion:reduce){#campaign * {scroll-behavior:auto!important;transition:none!important;}}
#campaign > .campaign-progress { height:auto; }
#campaign .campaign-progress .progress-bar { height:56px; }
#campaign .campaign-progress .btn-contribute { line-height:24px;padding-top:15px;padding-bottom:15px; }
