
/* Local replacement for only the Bootstrap layout used by this section. No CDN required. */
.acp-payment-solutions .container{width:100%;max-width:1320px;margin-left:auto;margin-right:auto;padding-left:12px;padding-right:12px;}
.acp-payment-solutions .row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px;}
.acp-payment-solutions .row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-left:12px;padding-right:12px;}
.acp-payment-solutions .justify-content-center{justify-content:center;}
.acp-payment-solutions .text-center{text-align:center;}
.acp-payment-solutions .mx-auto{margin-left:auto;margin-right:auto;}
.acp-payment-solutions .d-flex{display:flex;}
.acp-payment-solutions .align-items-stretch{align-items:stretch;}
.acp-payment-solutions .g-4{row-gap:24px;}
.acp-payment-solutions .g-0{margin-left:0;margin-right:0;}
.acp-payment-solutions .g-0>*{padding-left:0;padding-right:0;}
.acp-payment-solutions .col-12{flex:0 0 auto;width:100%;}
.acp-payment-solutions .acp-svg-icon{width:52px;height:52px;display:block;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
.acp-payment-solutions .acp-arrow-svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
.acp-payment-solutions .acp-learn-more .acp-arrow-svg{flex:0 0 15px;}
@media (min-width:576px){.acp-payment-solutions .col-sm-6{flex:0 0 auto;width:50%;}}
@media (min-width:768px){.acp-payment-solutions .col-md-3{flex:0 0 auto;width:25%;}}
@media (min-width:992px){.acp-payment-solutions .col-lg-3{flex:0 0 auto;width:25%;}.acp-payment-solutions .col-lg-10{flex:0 0 auto;width:83.33333333%;}}

/* Allied CardPay - Payment Solutions Section
   Bootstrap-ready section, scoped to prevent conflicts with existing site CSS.
   Single consolidated stylesheet. Font stack matches uploaded ACP ISV CSS: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif.
*/

.acp-payment-solutions,
.acp-payment-solutions * {
  box-sizing: border-box;
}

.acp-payment-solutions {
  background: #ffffff;
  padding: 50px 0 44px;
  color: #071642;
  overflow: hidden;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
}

.acp-payment-solutions .acp-eyebrow {
  color: #0154D6;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 3.4px;
  line-height: 1.2;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.acp-payment-solutions .acp-main-title {
  color: #071642;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: clamp(34px, 3.35vw, 48px);
  font-weight: 800;
  letter-spacing: -.4px;
  line-height: 1.04;
  margin: 0 0 16px;
}

.acp-payment-solutions .acp-lead {
  color: #4f5b70;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 300;
  line-height: 1.42;
  max-width: 980px;
  margin-bottom: 0;
}

.acp-payment-solutions .acp-card-row {
  margin-top: 18px;
  align-items: stretch;
}

.acp-payment-solutions .acp-card-row > [class*="col-"] {
  display: flex;
}

.acp-payment-solutions .acp-service-card,
.acp-payment-solutions .acp-service-card:hover,
.acp-payment-solutions .acp-service-card:focus {
  text-decoration: none;
}

.acp-payment-solutions .acp-service-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 52%, #eef6ff 100%);
  border: 1.5px solid rgba(1, 84, 214, .55);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(7, 38, 95, .09);
  color: #071642;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 430px;
  justify-content: flex-start;
  padding: 31px 24px 27px;
  text-align: center;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.acp-payment-solutions .acp-service-card:before {
  background: #0154D6;
  border-radius: 14px 14px 0 0;
  content: '';
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: height .22s ease, opacity .22s ease;
  z-index: -1;
}

.acp-payment-solutions .acp-hover-glow {
  background: radial-gradient(circle at 50% 0%, rgba(255,255,255,.24), transparent 55%);
  display: block;
  height: 180px;
  left: -20%;
  opacity: 0;
  position: absolute;
  right: -20%;
  top: -90px;
  transform: translateY(-20px);
  transition: opacity .22s ease, transform .22s ease;
  z-index: 0;
}

.acp-payment-solutions .acp-service-card:hover,
.acp-payment-solutions .acp-service-card:focus {
  background: linear-gradient(145deg, #ffffff 0%, #eaf4ff 45%, #d9ebff 100%);
  border-color: rgba(1, 84, 214, .82);
  box-shadow: 0 24px 50px rgba(1, 84, 214, .22);
  color: #071642;
  transform: translateY(-7px);
}

.acp-payment-solutions .acp-service-card:hover:before,
.acp-payment-solutions .acp-service-card:focus:before {
  height: 7px;
  opacity: 1;
}

.acp-payment-solutions .acp-service-card:hover .acp-hover-glow,
.acp-payment-solutions .acp-service-card:focus .acp-hover-glow {
  opacity: 1;
  transform: translateY(0);
}

.acp-payment-solutions .acp-icon-circle {
  align-items: center;
  background: linear-gradient(180deg, #f5faff 0%, #e5f1ff 100%);
  border: 1px solid rgba(1, 84, 214, .08);
  border-radius: 50%;
  color: #0154D6;
  display: inline-flex;
  height: 124px;
  justify-content: center;
  margin: 0 auto 24px;
  position: relative;
  transition: background .22s ease, border-color .22s ease, transform .22s ease;
  width: 124px;
  z-index: 1;
}

.acp-payment-solutions .acp-icon-circle .acp-svg-icon {
  color: #0154D6;
  font-size: 52px;
  line-height: 1;
  transition: color .22s ease, transform .22s ease;
}

.acp-payment-solutions .acp-service-card:hover .acp-icon-circle,
.acp-payment-solutions .acp-service-card:focus .acp-icon-circle {
  background: #ffffff;
  border-color: rgba(255, 255, 255, .8);
  transform: scale(1.04);
}

.acp-payment-solutions .acp-service-card:hover .acp-icon-circle .acp-svg-icon,
.acp-payment-solutions .acp-service-card:focus .acp-icon-circle .acp-svg-icon {
  color: #0154D6;
  transform: scale(1.04);
}

.acp-payment-solutions .acp-service-card h3 {
  color: #071642;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.08;
  margin: 0 0 12px;
  position: relative;
  transition: color .22s ease;
  z-index: 1;
}

.acp-payment-solutions .acp-title-line {
  background: #0154D6;
  border-radius: 20px;
  display: block;
  height: 3px;
  margin: 0 auto 20px;
  position: relative;
  transition: background .22s ease, width .22s ease;
  width: 40px;
  z-index: 1;
}

.acp-payment-solutions .acp-service-card p {
  color: #4f5b70;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.38;
  margin: 0 auto 24px;
  max-width: 252px;
  position: relative;
  transition: color .22s ease;
  z-index: 1;
}

.acp-payment-solutions .acp-learn-more {
  align-items: center;
  color: #0154D6;
  display: inline-flex;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: 15px;
  font-weight: 600;
  gap: 11px;
  justify-content: center;
  margin-top: auto;
  position: relative;
  text-decoration: none;
  transition: color .22s ease;
  z-index: 1;
}

.acp-payment-solutions .acp-learn-more .acp-arrow-svg {
  font-size: 15px;
  transition: transform .2s ease;
}

.acp-payment-solutions .acp-service-card:hover h3,
.acp-payment-solutions .acp-service-card:focus h3 {
  color: #0154D6;
}

.acp-payment-solutions .acp-service-card:hover p,
.acp-payment-solutions .acp-service-card:focus p {
  color: #263553;
}

.acp-payment-solutions .acp-service-card:hover .acp-learn-more,
.acp-payment-solutions .acp-service-card:focus .acp-learn-more {
  color: #0154D6;
}

.acp-payment-solutions .acp-service-card:hover .acp-title-line,
.acp-payment-solutions .acp-service-card:focus .acp-title-line {
  background: #0154D6;
  width: 58px;
}

.acp-payment-solutions .acp-service-card:hover .acp-learn-more .acp-arrow-svg,
.acp-payment-solutions .acp-service-card:focus .acp-learn-more .acp-arrow-svg {
  transform: translateX(5px);
}

.acp-payment-solutions .acp-feature-strip {
  align-items: center;
  background: #2f73c9;
  border: 1px solid rgba(47, 115, 201, .46);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(7, 22, 66, .18), inset 0 1px 0 rgba(255, 255, 255, .14);
  color: #ffffff;
  margin: 34px 0 0;
  overflow: hidden;
  padding: 9px 0;
}

.acp-payment-solutions .acp-feature {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: center;
  min-height: 34px;
  padding: 5px 16px;
}

.acp-payment-solutions .acp-feature:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, .22);
}

.acp-payment-solutions .acp-feature i {
  color: #ffffff;
  font-size: 20px;
}

.acp-payment-solutions .acp-feature span {
  color: #ffffff;
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif;
  font-size: 16px;
  font-weight: 600;
}

/* Fast fadeInDown drop-in animation for the title and 4 boxes */
.acp-payment-solutions .animated8 {
  -webkit-animation: fadeInDown .42s ease-out 0ms both;
  animation: fadeInDown .42s ease-out 0ms both;
}

@-webkit-keyframes fadeInDown {
  0% { opacity: 0; -webkit-transform: translateY(-18px); transform: translateY(-18px); }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}

@keyframes fadeInDown {
  0% { opacity: 0; -webkit-transform: translateY(-18px); transform: translateY(-18px); }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}

@media (max-width: 991px) {
  .acp-payment-solutions {
    padding: 42px 0 36px;
  }

  .acp-payment-solutions .acp-service-card {
    min-height: 410px;
  }

  .acp-payment-solutions .acp-feature:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 767px) {
  .acp-payment-solutions .acp-eyebrow {
    font-size: 15px;
    letter-spacing: 2.6px;
  }

  .acp-payment-solutions .acp-main-title {
    font-size: 36px;
  }

  .acp-payment-solutions .acp-lead {
    font-size: 19px;
  }

  .acp-payment-solutions .acp-card-row {
    margin-top: 18px;
  }

  .acp-payment-solutions .acp-service-card {
    min-height: 390px;
    padding: 30px 22px 26px;
  }

  .acp-payment-solutions .acp-feature {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
  }

  .acp-payment-solutions .acp-feature:last-child {
    border-bottom: 0;
  }
}

/* Exact mockup raster icons - replaces the inline SVG icon artwork only. */
.acp-payment-solutions .acp-icon-circle{
  background: transparent !important;
  border: 0 !important;
  width: 124px !important;
  height: 124px !important;
  overflow: visible !important;
}
.acp-payment-solutions .acp-card-icon-img{
  display:block !important;
  width:124px !important;
  height:124px !important;
  max-width:124px !important;
  max-height:124px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
}
.acp-payment-solutions .acp-service-card:hover .acp-card-icon-img,
.acp-payment-solutions .acp-service-card:focus .acp-card-icon-img{
  transform:scale(1.04) !important;
  transition:transform .22s ease !important;
}
.acp-payment-solutions .acp-feature-icon-img{
  display:block !important;
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  object-fit:contain !important;
  flex:0 0 64px !important;
  margin:0 !important;
  padding:0 !important;
}

/* Footer feature strip override - light mockup footer, not original solid-blue bar */
.acp-payment-solutions .acp-feature-strip{
  align-items:center !important;
  background:linear-gradient(180deg,#ffffff 0%,#f6fbff 42%,#edf6ff 100%) !important;
  border:1px solid rgba(1,84,214,.28) !important;
  border-radius:12px !important;
  box-shadow:0 12px 28px rgba(7,38,95,.08), inset 0 1px 0 rgba(255,255,255,.80) !important;
  color:#071642 !important;
  margin:34px 0 0 !important;
  overflow:hidden !important;
  padding:9px 0 !important;
}

.acp-payment-solutions .acp-feature{
  align-items:center !important;
  display:flex !important;
  gap:14px !important;
  justify-content:center !important;
  min-height:72px !important;
  padding:5px 16px !important;
}

.acp-payment-solutions .acp-feature:not(:last-child){
  border-right:1px solid rgba(1,84,214,.24) !important;
}

.acp-payment-solutions .acp-feature span{
  color:#071642 !important;
  font-family:"Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif !important;
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

.acp-payment-solutions .acp-feature-icon-img{
  display:block !important;
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  object-fit:contain !important;
  flex:0 0 64px !important;
  margin:0 !important;
  padding:0 !important;
}

@media (max-width:767px){
  .acp-payment-solutions .acp-feature{
    min-height:68px !important;
    justify-content:flex-start !important;
    padding-left:24px !important;
  }
  .acp-payment-solutions .acp-feature span{
    white-space:normal !important;
  }
}


/* Footer refinement: smaller text and transparent icon backgrounds */
.acp-payment-solutions .acp-feature span{
  font-size:14px !important;
  line-height:1.15 !important;
}
.acp-payment-solutions .acp-feature-icon-img,
.acp-payment-solutions .acp-feature:hover .acp-feature-icon-img,
.acp-payment-solutions .acp-feature:focus .acp-feature-icon-img{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
}
.acp-payment-solutions .acp-feature,
.acp-payment-solutions .acp-feature:hover,
.acp-payment-solutions .acp-feature:focus{
  background:transparent !important;
}
@media (max-width:767px){
  .acp-payment-solutions .acp-feature span{font-size:14px !important;}
}

/* Card icon image swap: uploaded default image + uploaded rollover image. Size is preserved. */
.acp-payment-solutions .acp-icon-circle{
  position:relative !important;
  width:124px !important;
  height:124px !important;
  min-width:124px !important;
  min-height:124px !important;
}
.acp-payment-solutions .acp-card-icon-img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:124px !important;
  height:124px !important;
  max-width:124px !important;
  max-height:124px !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
  transition:opacity .18s ease, transform .22s ease !important;
}
.acp-payment-solutions .acp-card-icon-default{opacity:1 !important;}
.acp-payment-solutions .acp-card-icon-hover{opacity:0 !important;}
.acp-payment-solutions .acp-service-card:hover .acp-card-icon-default,
.acp-payment-solutions .acp-service-card:focus .acp-card-icon-default{opacity:0 !important;}
.acp-payment-solutions .acp-service-card:hover .acp-card-icon-hover,
.acp-payment-solutions .acp-service-card:focus .acp-card-icon-hover{opacity:1 !important;}
.acp-payment-solutions .acp-service-card:hover .acp-card-icon-img,
.acp-payment-solutions .acp-service-card:focus .acp-card-icon-img{transform:scale(1.04) !important;}
