/* Shared content CTA typography; layouts, colors and provider forms keep their own rules. */
body [data-site-cta]{font-family:'Inter',Arial,sans-serif!important;font-size:12.5px!important;font-weight:700!important;line-height:1.5!important;letter-spacing:.04em!important;text-transform:uppercase!important;display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:12px;min-height:50px;max-width:100%;text-align:center;text-decoration:none!important}
body [data-site-cta]::after{content:none!important}
body [data-site-cta] .site-cta-arrow{display:inline-block!important;width:18px!important;height:18px!important;min-width:18px;flex-shrink:0;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:none!important;margin:0!important;vertical-align:middle}
body [data-site-cta]:focus-visible,body main a.give-card:focus-visible{outline:3px solid #a34a12;outline-offset:5px}
body.giving-editorial-page #main .giving-hero p.giving-donor-login{font:400 13px/1.65 'Inter',Arial,sans-serif;margin:16px 0 0;max-width:740px;color:#e0e4e5}
body.giving-editorial-page #main .giving-hero p.giving-donor-login a{font:inherit;color:white;text-decoration:underline;text-underline-offset:3px}
body.giving-editorial-page #main a.give-card [data-site-card-action]{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:14px;min-height:46px;padding:12px 16px;border:1px solid #8b8276;border-radius:12px;font:700 12.5px/1.5 'Inter',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#1a2833;max-width:100%;width:fit-content;margin-top:auto}
body.giving-editorial-page #main a.give-card [data-site-card-action]::after{content:none}
body.giving-editorial-page #main a.give-card:hover [data-site-card-action],body.giving-editorial-page #main a.give-card:focus-visible [data-site-card-action]{background:#1a2833;border-color:#1a2833;color:white}
body.giving-editorial-page #main a.give-card [data-site-card-action] svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor}

/* One compact CTA contract. Intrinsic width prevents flex/grid columns from squeezing labels. */
body :is([data-site-cta], [data-site-card-action], .ms-button, .op-btn, .talk-primary, .talk-secondary, .tc-action, .int-original-action){
 --cta-height:50px;box-sizing:border-box!important;display:inline-flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:center!important;
 width:max-content!important;min-width:max-content!important;max-width:100%;height:var(--cta-height)!important;min-height:var(--cta-height)!important;
 padding:0 20px!important;gap:14px!important;flex-shrink:0!important;border-radius:12px!important;
 font-family:'Inter',Arial,sans-serif!important;font-size:12.5px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.04em!important;text-transform:uppercase!important;
 white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:nowrap!important;text-align:center!important;
}
body :is([data-site-cta], [data-site-card-action], .ms-button, .op-btn, .talk-primary, .talk-secondary) :is(span,b,strong){font:inherit!important;letter-spacing:inherit!important;white-space:nowrap!important}
body :is([data-site-cta], [data-site-card-action], .talk-primary, .talk-secondary) svg{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;position:static!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:none!important}
body [data-site-cta]::before{content:none!important}
/* Groups wrap whole buttons onto a new row, never the label inside a button. */
body :is(.hero-actions,.giving-hero-actions,.ms-next-actions,.mp-actions,.rf-actions,.gd-actions,.png-hero-actions,.int-hero-actions,.oy-actions,.cohort-actions,.how-hero-actions,.op-hero-actions,.op-pathway-actions){flex-wrap:wrap!important;min-width:0}
body :is(.talk-primary,.talk-secondary){width:100%!important}
@media(max-width:600px){
 body :is([data-site-cta], [data-site-card-action], .ms-button, .op-btn, .talk-primary, .talk-secondary,.tc-action,.int-original-action){font-size:11.5px!important;padding-inline:12px!important;gap:10px!important}
 body :is(.ms-mobile-apply,.mp-actions,.ms-next-actions){flex-wrap:wrap!important}
 body .ms-mobile-apply .ms-button{flex:1 0 auto!important}
}

@media(max-width:600px){
 body [data-site-cta] .site-cta-label[data-compact-label]{font-size:0!important;letter-spacing:0!important}
 body [data-site-cta] .site-cta-label[data-compact-label]::before{content:attr(data-compact-label);font:700 11.5px/1.2 'Inter',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
}

body .ms-next-actions{display:flex!important;flex-wrap:wrap!important}
/* Preserve room for the intrinsic label in narrow desktop sidebars. */
body .op-conversation-card{padding-inline:12px!important}
@media(max-width:380px){
 body :is([data-site-cta],[data-site-card-action],.ms-button,.op-btn,.talk-primary,.talk-secondary,.tc-action,.int-original-action){font-size:11px!important;padding-inline:10px!important;gap:8px!important}
}
body [hidden]:is([data-site-cta],.ms-button,.op-btn,.talk-primary,.talk-secondary){display:none!important}

/* Center compact content CTAs in the site's mobile/tablet layout. */
@media(max-width:900px){
 body :is([data-site-cta],[data-site-card-action],.ms-button,.op-btn,.talk-primary,.talk-secondary,.tc-action,.int-original-action){
  display:flex!important;
  margin-inline:auto!important;
  align-self:center!important;
  justify-self:center!important;
 }
 body :is(.hero-actions,.giving-hero-actions,.ms-next-actions,.mp-actions,.rf-actions,.gd-actions,.png-hero-actions,.int-hero-actions,.oy-actions,.cohort-actions,.how-hero-actions,.op-hero-actions,.op-pathway-actions){
  justify-content:center!important;
 }
 /* Keep conditional and load-more actions hidden until their existing logic reveals them. */
 body [hidden]:is([data-site-cta],[data-site-card-action],.ms-button,.op-btn,.talk-primary,.talk-secondary,.tc-action,.int-original-action){display:none!important}
}

/* Homepage hero: retain its original mobile alignment while other CTAs center. */
@media(max-width:900px){
 body .hero > .hero-content .hero-actions{justify-content:normal!important}
 body .hero > .hero-content .hero-actions [data-site-cta]{
  display:inline-flex!important;
  margin-inline:0!important;
  align-self:auto!important;
  justify-self:auto!important;
 }
}

/* Mobile hero actions follow the left edge of their heading and copy. */
@media(max-width:900px){
 body main :is(.hero,.giving-hero,.ms-page-hero,.editorial-hero,.cohort-hero,.op-list-hero,.oy-hero,.tc-hero,.mp-hero,.png-field-hero,.rf-hero,.int-hero,.journey-hero,.op-hero,.gd-hero,.about-hero) :is([data-site-cta],.ms-button,.op-btn,.tc-action){
  margin-inline:0 auto!important;align-self:flex-start!important;justify-self:start!important;flex:0 0 auto!important;width:max-content!important;
 }
 body main :is(.hero,.giving-hero,.ms-page-hero,.editorial-hero,.cohort-hero,.op-list-hero,.oy-hero,.tc-hero,.mp-hero,.png-field-hero,.rf-hero,.int-hero,.journey-hero,.op-hero,.gd-hero,.about-hero) :is(.hero-actions,.giving-hero-actions,.mp-actions,.rf-actions,.gd-actions,.png-hero-actions,.int-hero-actions,.oy-actions,.cohort-actions,.how-hero-actions,.op-hero-actions,.op-pathway-actions,.tc-actions){
  justify-content:flex-start!important;align-items:flex-start!important;text-align:left;
 }
}

/* Consistent 16px arrow inset across all filter dropdowns. */
body main :is(.op-filter-fields,.i27-filters,.a27-filters,.ms-filters,.md-controls) select {
  appearance:none!important;
  -webkit-appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%231a2833' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 16px center!important;
  background-size:12px 8px!important;
  padding-right:44px!important;
}
