
:root{--red:#c31742;--red-dark:#9d1035;--dark:#10243b;--muted:#627187;--light:#fff4f6;--border:#e7eaf0;--shadow:0 12px 36px rgba(16,36,59,.06)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{margin:0;background:#f8fafd;color:var(--dark);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.65}a{color:var(--red)}a:hover{color:var(--red-dark)}button,input,textarea,select{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);border-bottom:1px solid #eaeef2;box-shadow:0 4px 24px #10243b0a;backdrop-filter:blur(14px)}body.admin-bar .site-header{top:32px}.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:9px;font-size:26px;font-weight:850;color:var(--dark);text-decoration:none;letter-spacing:-1px;white-space:nowrap}.brand-red{color:var(--red)}.brand-mark{display:grid;place-items:center;background:var(--red);color:#fff;border-radius:13px;width:39px;height:39px;line-height:1;font-size:25px;transform:rotate(-7deg)}.primary-nav,.nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.primary-nav a{font-size:14px;font-weight:650;text-decoration:none;color:#334155;white-space:nowrap}.primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--red)}.primary-nav .nav-login{padding:10px 16px;border:1px solid #f0d4dd;border-radius:10px;color:var(--red)}.primary-nav .nav-join{background:var(--red);color:white;padding:11px 17px;border-radius:10px;box-shadow:0 6px 14px #c3174222}.primary-nav .nav-join:hover{background:var(--red-dark);color:#fff}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;padding:10px;background:transparent;border:1px solid var(--border);border-radius:10px;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--dark);border-radius:10px}
.hero{background:linear-gradient(115deg,#fff6f8,#ffebef);padding:94px 0}.hero-inner{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:50px}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.12;letter-spacing:-2px;margin:12px 0 24px}.hero p{font-size:18px;max-width:640px;color:#526070}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--red);font-weight:800}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:13px 22px;font-weight:800}.btn.primary{background:var(--red);color:white}.btn.light{background:white;color:var(--red);border:1px solid #f7c6d0}.blood-art{min-height:295px;border-radius:32px;background:linear-gradient(140deg,#ffe5e9,#f9b3c0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9f1239;font-weight:800}.blood-icon{font-size:150px;line-height:1;filter:drop-shadow(0 15px 14px #9f123933)}.feature-section{padding-block:70px 90px}.section-heading{text-align:center}.section-heading h2{font-size:36px;margin:8px 0 30px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.features article{padding:30px;background:white;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.features h3{margin:8px 0}.features p{color:var(--muted)}.feature-num{color:var(--red);font-weight:900;font-size:22px}.cta-section{background:var(--red);text-align:center;padding:65px 0;color:white}.cta-section h2{font-size:34px;margin:0}.cta-section p{margin-bottom:25px}.content-area{min-height:55vh;padding:56px 0 90px}.content-area>article>h1{font-size:clamp(32px,4vw,46px);line-height:1.2;margin:0 0 26px;letter-spacing:-1px}.post-preview{padding:20px 0;border-bottom:1px solid var(--border)}
.site-footer{background:#101e30;color:#bdc9d8;padding:66px 0 0}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:50px;padding-bottom:58px}.footer-brand{color:#fff!important}.footer-about p{max-width:380px;color:#bdc9d8;line-height:1.8}.footer-about .footer-disclaimer{font-size:12px;color:#90a2b5}.footer-col{display:flex;flex-direction:column;gap:11px}.footer-col h3{color:white;font-size:15px;margin:3px 0 14px}.footer-col a{color:#bdc9d8;font-size:14px;text-decoration:none}.footer-col a:hover{color:#fff}.footer-note{font-size:12px;color:#90a2b5;line-height:1.8;margin-top:8px}.footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #304054;padding:22px 0;font-size:13px;color:#97a9bc}.footer-bottom span span{color:#f38ba5}.skip-link{position:absolute;top:-90px;left:8px;background:white;padding:10px;z-index:1001}.skip-link:focus{top:8px}
/* Consistent donor/login/request panels */
.rokto-panel{border-radius:18px!important;box-shadow:var(--shadow)!important;border:1px solid #e8edf2!important;padding:clamp(22px,3.5vw,42px)!important}.rokto-panel h2{font-size:26px;letter-spacing:-.5px;margin:0 0 24px!important}.rokto-panel form input:not([type=checkbox]),.rokto-panel form textarea,.rokto-panel form select{border:1px solid #d9e1ea!important;border-radius:10px!important;padding:13px 15px!important;background:white!important;min-height:48px;color:#16283d!important;max-width:100%;transition:border-color .2s,box-shadow .2s}.rokto-panel input:focus,.rokto-panel select:focus,.rokto-panel textarea:focus{outline:2px solid #c3174233;outline-offset:1px;border-color:var(--red)!important}.rokto-panel button,.rokto-panel input[type=submit],.rokto-panel .button-primary{background:var(--red)!important;color:white!important;border:0!important;border-radius:10px!important;min-height:46px;padding:12px 25px!important;font-weight:750!important;cursor:pointer}.rokto-panel button:hover,.rokto-panel input[type=submit]:hover{background:var(--red-dark)!important}.rokto-panel .login-username,.rokto-panel .login-password{margin:0 0 18px}.rokto-panel .login-username label,.rokto-panel .login-password label{display:block;font-weight:700;margin-bottom:7px}.rokto-panel #loginform{max-width:520px}.rokto-panel #loginform input[type=text],.rokto-panel #loginform input[type=password]{display:block;width:100%}.rokto-panel .login-remember{margin:18px 0}.rokto-panel .login-submit{margin:20px 0 12px}.rokto-panel .login-submit input{width:100%}.rokto-panel .rokto-check{display:flex!important;align-items:center!important;gap:12px!important;justify-content:flex-start!important}.rokto-panel .rokto-check input[type=checkbox]{width:19px;height:19px;flex:none;accent-color:var(--red)}.rokto-panel .rokto-check span{flex:1}.rokto-panel a{font-weight:600}.rokto-panel input[type=checkbox]{accent-color:var(--red)}
/* About and contact */
.bh-prose-intro{max-width:860px;margin:5px auto 44px;text-align:center}.bh-prose-intro h2,.bh-contact-intro h2{font-size:clamp(28px,3.5vw,42px);letter-spacing:-1px;line-height:1.25;margin:10px 0 18px}.bh-prose-intro p{font-size:17px;color:var(--muted)}.bh-info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bh-info-cards article{padding:30px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.bh-info-cards h3{font-size:21px}.bh-info-cards p{color:var(--muted)}.bh-icon{display:grid;place-items:center;background:#fff0f4;color:var(--red);border-radius:12px;width:48px;height:48px;font-weight:900;font-size:28px}.bh-about-cta{text-align:center;padding:55px 24px;margin-top:60px;background:#fff0f4;border-radius:22px}.bh-about-cta h2{font-size:30px;margin-top:0}.bh-about-cta p{color:var(--muted)}.bh-contact-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:55px;align-items:start}.bh-contact-intro p{color:var(--muted);line-height:1.8}.bh-contact-note{margin:28px 0;padding:24px;background:#fff0f3;border-left:4px solid var(--red);border-radius:10px}.bh-contact-note p{margin-bottom:0}.bh-contact-card{background:#fff;border-radius:20px;border:1px solid var(--border);box-shadow:var(--shadow);padding:clamp(22px,3vw,36px)}.bh-contact-card h3{font-size:24px;margin:0 0 24px}.bh-contact-form{display:grid;gap:20px}.bh-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bh-contact-form label{display:grid;gap:7px;font-weight:700;font-size:14px}.bh-contact-form label span{color:var(--red)}.bh-contact-form input,.bh-contact-form textarea{width:100%;border:1px solid #d9e1ea;border-radius:10px;background:#fff;padding:13px 14px;min-height:48px}.bh-contact-form textarea{resize:vertical}.bh-contact-form input:focus,.bh-contact-form textarea:focus{outline:2px solid #c3174233;border-color:var(--red)}.bh-contact-form button{border:0;border-radius:10px;background:var(--red);color:#fff;font-weight:800;padding:15px;cursor:pointer}.bh-contact-form button:hover{background:var(--red-dark)}.bh-form-help{font-size:12px;color:var(--muted);margin:0}.bh-form-status{border-radius:8px;background:#f0fdf4;padding:14px}.bh-trap{position:absolute;left:-9999px;height:1px;overflow:hidden}
@media(max-width:1080px){.primary-nav,.nav-links{gap:15px}.footer-main{gap:24px}.primary-nav a{font-size:13px}}@media(max-width:900px){.menu-toggle{display:flex}.nav-wrap{min-height:76px;flex-wrap:wrap}.primary-nav{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;padding:10px 0 20px}.primary-nav.is-open{display:flex}.primary-nav>a{padding:11px 8px}.primary-nav .nav-login,.primary-nav .nav-join{margin-top:10px;text-align:center}.primary-nav .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}.primary-nav .nav-links li a{display:block;padding:12px 8px}.footer-main{grid-template-columns:repeat(2,1fr)}.bh-contact-layout{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.wrap{width:min(100% - 28px,1180px)}.hero{padding:54px 0}.hero-inner{grid-template-columns:1fr;gap:25px}.blood-art{min-height:185px}.blood-icon{font-size:90px}.features,.bh-info-cards{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:27px}.footer-bottom{flex-direction:column}.bh-contact-row{grid-template-columns:1fr}.content-area{padding:32px 0 60px}.rokto-panel{padding:21px!important}.rokto-panel #loginform{max-width:100%}}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:600px){body.admin-bar .site-header{top:0}}

/* BloodHop 1.3: concentrated sign-in panel and consistent site interactions */
.bh-login-page>article>h1{text-align:center;margin:0 auto 28px;font-size:clamp(30px,4vw,44px)}
.bh-login-page .entry-content{width:100%;max-width:590px;margin:0 auto}
.bh-login-panel{width:100%;max-width:590px;margin:0 auto;padding:clamp(24px,4vw,44px)!important}
.bh-login-inner{width:100%;max-width:100%;margin-inline:auto}
.bh-login-panel h2{font-size:26px;margin:0 0 6px!important}
.bh-login-subtitle{font-size:14px;color:var(--muted);margin:0 0 26px}
.bh-login-panel #loginform{max-width:none!important;width:100%}
.bh-login-panel #loginform p.login-username,.bh-login-panel #loginform p.login-password{width:100%;margin:0 0 16px}
.bh-login-panel #loginform input.input,.bh-login-panel #loginform input[type=text],.bh-login-panel #loginform input[type=password]{width:100%!important;max-width:none!important;display:block;height:46px!important;min-height:46px!important;padding:10px 13px!important}
.bh-login-panel #loginform label{font-size:13px}
.bh-login-panel #loginform .login-remember{margin:14px 0 18px}
.bh-login-panel #loginform .login-submit{margin:0 0 20px}
.bh-login-panel #loginform #wp-submit{width:100%;min-height:46px!important}
.bh-login-links{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;margin:16px 0 0;font-size:13px}
.bh-login-links span{color:var(--muted)}
/* Keep form labels on a single visual line; put controls beneath. */
.bh-contact-form label{display:block!important;width:100%;font-size:13px;line-height:1.55}
.bh-contact-form .bh-required{display:inline!important;color:var(--red);font-weight:800;margin-left:2px}
.bh-contact-form input:not([type=hidden]),.bh-contact-form textarea{display:block;width:100%!important;max-width:100%;margin-top:8px;min-width:0;font-size:14px}
.bh-contact-row>*{min-width:0}
.bh-contact-form textarea{min-height:140px}
.bh-contact-card{min-width:0}
/* Button animation: low-motion by default, enhanced on hover. */
:where(.btn,.primary-nav .nav-join,.primary-nav .nav-login,.rokto-panel button,.rokto-panel input[type=submit],.bh-contact-form button,.menu-toggle){transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;will-change:transform}
@media(hover:hover) and (prefers-reduced-motion:no-preference){:where(.btn,.primary-nav .nav-join,.primary-nav .nav-login,.rokto-panel button,.rokto-panel input[type=submit],.bh-contact-form button):hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(16,36,59,.12)}:where(.btn,.primary-nav .nav-join,.primary-nav .nav-login,.rokto-panel button,.rokto-panel input[type=submit],.bh-contact-form button):active{transform:translateY(0) scale(.99)}}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid rgba(195,23,66,.35);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:600px){.bh-login-page .entry-content{max-width:100%}.bh-login-links{flex-direction:column;gap:8px}}

/* BloodHop v1.5 authentication UI */
.bh-login-panel #bh-donor-login,.bh-login-panel .bh-auth-form{width:100%;max-width:none!important}
.bh-login-panel #bh-donor-login input:not([type=checkbox]),.bh-login-panel .bh-auth-form input{display:block;width:100%;max-width:100%;min-height:46px;border:1px solid #d9e1ea;border-radius:10px;padding:11px 14px;background:#fff;color:#16283d}
.bh-login-panel .bh-auth-form{display:grid;gap:18px}.bh-login-panel .bh-auth-form label{font-size:13px;font-weight:700;display:grid;gap:7px}
.bh-login-panel #bh-donor-login button.bh-login-submit,.bh-login-panel .bh-auth-form button{display:block;width:100%;background:#c11240!important;color:#fff!important;border:0!important;border-radius:10px;padding:12px 20px;font-size:15px;font-weight:750;cursor:pointer;min-height:48px;text-align:center}
.bh-login-panel #bh-donor-login button:hover,.bh-login-panel .bh-auth-form button:hover{background:#9b0d30!important;color:#fff!important}
.bh-login-panel #bh-donor-login .login-password,.bh-login-panel #bh-donor-login .login-username{width:100%}
.bh-login-panel #bh-donor-login .login-remember input{display:inline-block;width:auto;min-height:auto}

/* BloodHop v1.6: unified section widths and drop branding */
:root{--bh-content-width:1180px}
html,body{max-width:100%;overflow-x:clip}
.wrap{width:min(var(--bh-content-width),calc(100% - 40px));margin-inline:auto}
#main{min-width:0}
.content-area{width:min(var(--bh-content-width),calc(100% - 40px));margin-inline:auto}
.content-area>article,.entry-content{min-width:0;max-width:100%}
.content-area>article>h1{text-align:center;margin:0 auto 32px}
.content-area .rokto-panel{width:100%;max-width:1050px;margin:0 auto 26px}
.bh-login-page .rokto-panel{max-width:590px}
.rokto-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:100%;align-items:end}
.rokto-filters>label:not(.rokto-check){min-width:0;display:flex;flex-direction:column;gap:8px}
.rokto-filters select{width:100%!important;min-width:0;max-width:none!important;min-height:48px}
.rokto-filters .rokto-check{grid-column:1/-1;margin-top:0!important;display:flex!important;justify-content:flex-start!important}
.rokto-filters button[type=submit]{grid-column:1/-1;width:min(100%,250px);min-height:48px;background:var(--red)!important;color:white!important}
.rokto-grid{margin-top:22px;min-width:0}
.rokto-card{min-width:0;overflow-wrap:anywhere}
.blood-art{min-height:295px;border-radius:32px;background:linear-gradient(140deg,#ffe5e9,#f9b3c0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9f1239;font-weight:800}
.blood-icon{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:clamp(90px,10vw,140px);line-height:1.3;filter:drop-shadow(0 12px 12px #9f123933)}
.brand-mark{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:24px;transform:none;border-radius:12px;background:#fff0f3;color:#bf123d}
.bh-icon{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.site-header,.site-footer{width:100%}
.site-footer .wrap,.site-header .wrap{width:min(var(--bh-content-width),calc(100% - 40px))}
.site-footer{margin-top:auto}
.bh-contact-layout,.bh-contact-card,.bh-contact-intro{min-width:0}
.bh-contact-form label,.bh-contact-form input,.bh-contact-form textarea{max-width:100%}
@media(max-width:760px){.rokto-filters{grid-template-columns:1fr!important}.rokto-filters .rokto-check,.rokto-filters button[type=submit]{grid-column:auto;width:100%}.hero-inner{grid-template-columns:1fr}.blood-art{min-height:190px}}
@media(max-width:600px){.wrap,.content-area,.site-header .wrap,.site-footer .wrap{width:calc(100% - 28px)}.content-area>article>h1{font-size:clamp(28px,7vw,38px)}.content-area .rokto-panel{padding:20px!important}}

/* BloodHop 1.7: input controls and donor-result guidance */
.rokto-panel .bh-password-wrap{position:relative;display:block;width:100%;min-width:0}
.rokto-panel .bh-password-wrap>input{box-sizing:border-box;width:100%!important;padding-right:77px!important}
.rokto-panel .bh-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-height:32px!important;padding:5px 9px!important;background:transparent!important;color:#9a1238!important;border-radius:6px!important;box-shadow:none!important;font-size:12px!important;line-height:1.2;cursor:pointer}
.rokto-panel .bh-password-toggle:hover{background:#fce8ee!important;transform:translateY(-50%);box-shadow:none!important}
.rokto-panel .bh-password-toggle:focus-visible{outline:2px solid #b80f42;outline-offset:1px}
.bh-status{display:inline-flex;gap:8px;align-items:center;padding:7px 11px;border-radius:99px;font-size:13px;font-weight:700}
.bh-status-ready{background:#eaf7ee;color:#166534}.bh-status-unconfirmed{background:#f3f4f6;color:#4b5563}
.bh-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.bh-empty-results{grid-column:1/-1;text-align:center;background:#f8fafc;border:1px dashed #d7dfe8;border-radius:16px;padding:clamp(24px,4vw,46px) 20px;margin:10px 0}
.bh-empty-results h3{margin:8px 0;font-size:21px}.bh-empty-results p{max-width:460px;margin:0 auto 13px;color:#59697b}
.bh-empty-icon{font-size:35px;display:block}.bh-secondary-link{color:#b80f42;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.bh-empty-results{padding:22px 12px}.bh-status{font-size:12px}}

/* BloodHop 1.9 member form controls */
.bh-login-panel #bh-donor-login button.bh-login-submit{background:#c11240!important;color:#fff!important;appearance:none;-webkit-appearance:none;box-shadow:0 6px 15px rgba(193,18,64,.17)!important}
.bh-login-panel #bh-donor-login button.bh-login-submit:hover{background:#990d30!important}
.bh-login-panel #bh-donor-login button.bh-login-submit:focus-visible{outline:3px solid #f48cab;outline-offset:3px}
.rokto-panel .rokto-form select{width:100%}

/* BloodHop 2.0 - UI select reset against broad theme form selectors */
.rokto-panel .ts-wrapper .ts-control > input:not([type=checkbox]){min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;width:1px!important;flex:1 1 45px!important;}
.rokto-panel .ts-wrapper .ts-control{min-height:48px!important;}


/* BloodHop v2.1: solid white Tom Select menus, including dropdowns portalled to body. */
.ts-dropdown,
.ts-dropdown.form-control,
.ts-dropdown.form-select,
.ts-dropdown.bloodhop-ts-dropdown,
.ts-dropdown .ts-dropdown-content,
.ts-dropdown .dropdown-input-wrap,
.ts-dropdown input.dropdown-input,
.ts-dropdown .create,
.ts-dropdown .no-results,
.ts-dropdown .optgroup,
.ts-dropdown .optgroup-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  opacity: 1 !important;
}
.ts-dropdown,
.ts-dropdown.form-control,
.ts-dropdown.form-select,
.ts-dropdown.bloodhop-ts-dropdown {
  isolation: isolate;
  border: 1px solid #d7e0eb !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 30px rgba(15,35,60,.12) !important;
  overflow: hidden !important;
  z-index: 100000 !important;
  color: #10243c !important;
}
.ts-dropdown .ts-dropdown-content {
  max-height: 240px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
}
.ts-dropdown .option,
.ts-dropdown .optgroup .option {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #10243c !important;
  padding: 11px 14px !important;
  opacity: 1 !important;
}
.ts-dropdown .option.active,
.ts-dropdown .option:hover,
.ts-dropdown .option.selected.active {
  background: #fff0f4 !important;
  background-color: #fff0f4 !important;
  color: #c41242 !important;
}
.ts-dropdown .option.selected:not(.active) {
  background: #ffffff !important;
  color: #10243c !important;
}
.ts-wrapper .ts-control,
.ts-wrapper.single .ts-control,
.ts-wrapper.multi .ts-control {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}
.ts-dropdown input.dropdown-input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #10243c !important;
  padding: 8px 12px !important;
}
