
/* 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: 12px;
  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(30px, 3vw, 42px);;
  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: none;
  color: #071642;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 410px;
  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: none;
  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 20px;
  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: 0;
  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: 28px;
  }

  .acp-payment-solutions .acp-lead {
    font-size: 19px;
  }

  .acp-payment-solutions .acp-card-row {
    margin-top: 18px;
  }

  .acp-payment-solutions .acp-card-row > [class*="col-"] {
    width: calc(100% - 10px);
    max-width: calc(100% - 10px);
    flex-basis: calc(100% - 10px);
    margin-left: auto;
    margin-right: auto;
  }

  .acp-payment-solutions .acp-service-card {
    min-height: 390px;
    padding: 30px 22px 26px;
  }

  .acp-payment-solutions .acp-feature-strip {
    width: calc(100% - 10px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .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:none !important;
  color:#071642 !important;
  margin:24px auto 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;}

/* Retail Credit Card Processing page fixes
   Edited 2026-05-23.
   Scoped to .acp-retail-page only, so the home page/payment-solutions section is not affected.
*/

/* Use the same font family as the Payment Solutions section without compressed lettering */
.acp-retail-page,
.acp-retail-page * {
  font-family: "Montserrat","humanst521_lt_btlight","abadi_mt_condensed_lightRg","Inter","Segoe UI",Arial,Helvetica,sans-serif !important;
  font-stretch: normal !important;
}

/* Give the desktop hero copy enough room so the headline stays to 2 lines */
@media (min-width: 992px) {
  .acp-retail-page .acp-retail-hero {
    padding: 58px 42px !important;
  }

  .acp-retail-page .acp-retail-hero-inner {
    grid-template-columns: minmax(0, 1.62fr) minmax(220px, .38fr) !important;
    gap: 24px !important;
  }

  .acp-retail-page .acp-retail-copy {
    min-width: 0 !important;
  }

  .acp-retail-page .acp-retail-terminal-card {
    max-width: 285px !important;
    padding: 22px !important;
  }
}

/* Main hero headline: exactly 2 lines on desktop because the HTML already has a <br> */
.acp-retail-page .acp-retail-hero h1 {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: clamp(34px, 3vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.10 !important;
  letter-spacing: -.4px !important;
  word-spacing: normal !important;
}

.acp-retail-page .acp-retail-hero h1 .nowrap {
  white-space: nowrap !important;
}

/* Hero paragraph */
.acp-retail-page .acp-retail-hero p {
  max-width: 640px !important;
  margin: 0 0 28px !important;
  color: rgba(255,255,255,.92) !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  font-weight: 300 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

/* Feature card headings: Modern POS Options / Secure Processing / Competitive Rates */
.acp-retail-page .acp-retail-feature-card h3 {
  color: #071642 !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  margin: 0 0 12px !important;
  letter-spacing: 0 !important;
}

.acp-retail-page .acp-retail-feature-card p {
  color: #4f5b70 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
}

/* Lower two box headings: smaller so they fit inside the boxes cleanly */
.acp-retail-page .acp-retail-panel h2,
.acp-retail-page .acp-retail-checks h2 {
  color: #071642 !important;
  font-size: clamp(26px, 2.2vw, 32px) !important;
  font-weight: 800 !important;
  letter-spacing: -.3px !important;
  line-height: 1.14 !important;
  margin: 0 0 16px !important;
  max-width: 100% !important;
  white-space: normal !important;
}

.acp-retail-page .acp-retail-panel h2 {
  max-width: 480px !important;
}

.acp-retail-page .acp-retail-checks h2 {
  max-width: 100% !important;
}

.acp-retail-page .acp-retail-panel p {
  color: #4f5b70 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.48 !important;
}

.acp-retail-page .acp-retail-check-list li {
  color: #263553 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

/* CTA band: keep all copy visible on dark blue */
.acp-retail-page .acp-retail-cta-band h2 {
  color: #ffffff !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -.2px !important;
  line-height: 1.18 !important;
}

.acp-retail-page .acp-retail-cta-band p,
.acp-retail-page .acp-retail-cta-band div p {
  color: #ffffff !important;
  opacity: .92 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

/* Buttons */
.acp-retail-page .acp-retail-btn {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

/* Tablet/mobile adjustments */
@media (max-width: 991px) {
  .acp-retail-page .acp-retail-hero h1 {
    max-width: 100% !important;
    font-size: 40px !important;
  }

  .acp-retail-page .acp-retail-hero h1 .nowrap {
    white-space: normal !important;
  }

  .acp-retail-page .acp-retail-panel h2,
  .acp-retail-page .acp-retail-checks h2 {
    font-size: 30px !important;
  }
}

@media (max-width: 640px) {
  .acp-retail-page .acp-retail-hero h1 {
    font-size: 32px !important;
    line-height: 1.16 !important;
  }

  .acp-retail-page .acp-retail-hero p {
    font-size: 17px !important;
    line-height: 1.42 !important;
    max-width: 100% !important;
  }

  .acp-retail-page .acp-retail-panel h2,
  .acp-retail-page .acp-retail-checks h2 {
    font-size: 28px !important;
    line-height: 1.12 !important;
  }
}


/* Retail page typography fixes */
.acp-retail-hero h1{
  max-width: 900px !important;
  font-size: clamp(34px,3.4vw,52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.5px !important;
}

.acp-retail-hero h1 .nowrap{
  white-space: nowrap !important;
}

.acp-retail-feature-card h3{
  font-weight: 800 !important;
}

.acp-retail-panel h2{
  font-size: clamp(24px,2vw,34px) !important;
  line-height: 1.18 !important;
  max-width: 420px !important;
}

.acp-retail-checks h2{
  font-size: clamp(22px,1.8vw,30px) !important;
  line-height: 1.18 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.acp-retail-cta-band p{
  color: rgba(255,255,255,.94) !important;
}

@media (max-width: 991px){
  .acp-retail-hero h1 .nowrap{
    white-space: normal !important;
  }
}



/* POS approval card alignment fix */
.acp-retail-terminal-card{
  margin-left: 0 !important;
  margin-right: auto !important;
}

.acp-retail-terminal-screen{
  text-align: left !important;
}


/* Center POS approval card in hero right column */
.acp-retail-terminal-card{
  margin-left: auto !important;
  margin-right: auto !important;
}

.acp-retail-hero-inner > div:last-child{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}


/* Center terminal approval card inside hero right column */
.acp-retail-terminal-card{
  margin-left:auto !important;
  margin-right:auto !important;
}

.acp-retail-hero-inner{
  align-items:center !important;
}



/* Force retail hero headline to exactly two lines on desktop */
.acp-retail-hero h1{
  max-width: 980px !important;
  font-size: clamp(32px,3vw,50px) !important;
  line-height: 1.08 !important;
}

.acp-retail-hero h1 br{
  display:block !important;
}

.acp-retail-hero h1 .nowrap{
  white-space: nowrap !important;
}

/* Properly center approval terminal card in right column */
.acp-retail-terminal-card{
  margin: 0 auto !important;
  align-self: center !important;
}

.acp-retail-hero-inner{
  align-items: center !important;
}

@media (min-width: 992px){
  .acp-retail-hero-inner{
    grid-template-columns: 1.15fr .85fr !important;
  }

  .acp-retail-terminal-card{
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}



/* Hero headline exact desktop line control */
.acp-retail-hero h1{
  max-width: 980px !important;
  font-size: clamp(32px,3vw,48px) !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}

.acp-retail-hero h1 br{
  display:block !important;
}

.acp-retail-hero h1 .nowrap{
  display:block !important;
  white-space: nowrap !important;
}

/* Center approval card in right side column */
.acp-retail-terminal-card{
  margin-left:auto !important;
  margin-right:auto !important;
  align-self:center !important;
}

.acp-retail-hero-inner{
  align-items:center !important;
}

@media (max-width: 991px){
  .acp-retail-hero h1{
    font-size: 34px !important;
  }

  .acp-retail-hero h1 .nowrap{
    white-space: normal !important;
  }
}



/* FINAL retail hero desktop lock: keep headline to exactly 2 lines and center approval card */
@media (min-width: 992px){
  .acp-retail-hero{
    padding-left: 42px !important;
    padding-right: 42px !important;
  }

  .acp-retail-hero-inner{
    display: grid !important;
    grid-template-columns: minmax(0, 68%) minmax(300px, 32%) !important;
    gap: 20px !important;
    align-items: center !important;
  }

  .acp-retail-copy{
    min-width: 0 !important;
  }

  .acp-retail-hero h1{
    width: 100% !important;
    max-width: none !important;
    font-size: 40px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -.35px !important;
    white-space: nowrap !important;
  }

  .acp-retail-hero h1 br{
    display: block !important;
  }

  .acp-retail-hero h1 .nowrap{
    display: inline !important;
    white-space: nowrap !important;
  }

  .acp-retail-terminal-card{
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
    align-self: center !important;
    max-width: 330px !important;
  }
}

@media (max-width: 991px){
  .acp-retail-hero h1{
    white-space: normal !important;
  }

  .acp-retail-hero h1 .nowrap{
    white-space: normal !important;
  }

  .acp-retail-terminal-card{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}



/* Retail hero final alignment fixes */
.acp-retail-hero-inner{
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr) !important;
  align-items: center !important;
}

.acp-retail-copy{
  min-width: 0 !important;
}

.acp-retail-hero h1{
  max-width: 980px !important;
  font-size: clamp(38px, 3.15vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.4px !important;
  white-space: normal !important;
}

.acp-retail-hero h1 br{
  display: block !important;
}

.acp-retail-hero h1 .nowrap{
  display: inline-block !important;
  white-space: nowrap !important;
}

.acp-retail-hero h1{
  text-wrap: balance;
}

.acp-retail-terminal-card{
  justify-self: center !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 992px){
  .acp-retail-hero h1{
    white-space: nowrap !important;
  }
}

@media (max-width: 991px){
  .acp-retail-hero-inner{
    grid-template-columns: 1fr !important;
  }

  .acp-retail-hero h1{
    white-space: normal !important;
  }

  .acp-retail-hero h1 .nowrap{
    white-space: normal !important;
  }

  .acp-retail-terminal-card{
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}



/* Retail hero final layout: two-line headline + centered approval card */
.acp-retail-copy{
  min-width: 0 !important;
}

.acp-retail-hero h1{
  max-width: 940px !important;
  font-size: clamp(36px, 3.3vw, 50px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.4px !important;
  white-space: normal !important;
}

.acp-retail-hero h1 br{
  display: block !important;
}

.acp-retail-hero h1 .nowrap{
  display: inline-block !important;
  white-space: nowrap !important;
}

.acp-retail-hero-inner{
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
  align-items: center !important;
}

.acp-retail-terminal-card{
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
  align-self: center !important;
}

@media (max-width: 991px){
  .acp-retail-hero-inner{
    grid-template-columns: 1fr !important;
  }

  .acp-retail-hero h1 .nowrap{
    white-space: normal !important;
  }
}

@media (max-width: 640px){
  .acp-retail-hero h1{
    font-size: 34px !important;
    line-height: 1.18 !important;
  }
}




/* FINAL retail hero alignment fix: make the right side a true centered column */
.acp-retail-hero-inner{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items:center !important;
}

.acp-retail-copy{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

.acp-retail-terminal-card{
  justify-self:center !important;
  align-self:center !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-inline:auto !important;
  left:auto !important;
  right:auto !important;
  float:none !important;
  transform:none !important;
}

.acp-retail-hero-inner .acp-retail-terminal-card{
  grid-column:2 !important;
}

@media (max-width: 991px){
  .acp-retail-hero-inner{
    grid-template-columns:1fr !important;
  }

  .acp-retail-hero-inner .acp-retail-terminal-card{
    grid-column:auto !important;
  }
}


/* Retail hero approval card alignment fix
   Centers the Point-of-Sale Payment Approved card inside the right side of the blue hero box. */
.acp-retail-hero-inner{
  display:grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items:center !important;
}

.acp-retail-copy{
  width:100% !important;
  max-width:100% !important;
}

.acp-retail-terminal-card{
  justify-self:center !important;
  align-self:center !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-inline:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}

.acp-retail-hero-inner .acp-retail-terminal-card{
  place-self:center !important;
}

@media (min-width: 992px){
  .acp-retail-hero-inner{
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .acp-retail-terminal-card{
    width: min(350px, 100%) !important;
  }
}

@media (max-width: 991px){
  .acp-retail-hero-inner{
    grid-template-columns: 1fr !important;
  }

  .acp-retail-terminal-card{
    margin: 0 auto !important;
  }
}


/* Retail hero terminal card final visual centering
   Moves the approval card off the far right edge and centers it visually in the right half. */
@media (min-width: 992px){
  .acp-retail-hero-inner{
    grid-template-columns: 1.05fr .95fr !important;
    gap: 26px !important;
  }

  .acp-retail-terminal-card{
    justify-self: center !important;
    align-self: center !important;
    margin: 0 auto !important;
    transform: translateX(-55px) !important;
  }
}

@media (min-width: 1200px){
  .acp-retail-terminal-card{
    transform: translateX(-70px) !important;
  }
}

@media (max-width: 991px){
  .acp-retail-terminal-card{
    transform: none !important;
    margin: 0 auto !important;
  }
}


/* Retail page full-width body alignment
   Makes the retail page content match the wider home page/header span. */
.acp-retail-page{
  width: min(100%, 1328px) !important;
  max-width: 1328px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.container > .acp-retail-page{
  width: calc(100vw - 24px) !important;
  max-width: 1328px !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

.acp-retail-hero,
.acp-retail-grid,
.acp-retail-split,
.acp-retail-cta-band{
  width: 100% !important;
}

@media (max-width: 767px){
  .container > .acp-retail-page{
    width: calc(100vw - 20px) !important;
  }
}


/* Retail hero mobile headline formatting */
@media (max-width: 640px){
  .acp-retail-hero h1{
    font-size: 31px !important;
    line-height: 1.18 !important;
    letter-spacing: -.35px !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .acp-retail-hero h1 br{
    display: none !important;
  }

  .acp-retail-hero h1 .nowrap{
    display: inline !important;
    white-space: normal !important;
  }

  .acp-retail-hero p{
    font-size: 18px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 420px){
  .acp-retail-hero h1{
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
}


/* Center all retail page text on mobile */
@media (max-width: 767px){

  .acp-retail-copy,
  .acp-retail-hero,
  .acp-retail-hero-inner,
  .acp-retail-feature-card,
  .acp-retail-panel,
  .acp-retail-checks,
  .acp-retail-cta-band,
  .acp-retail-cta-band div{
    text-align:center !important;
  }

  .acp-retail-eyebrow{
    justify-content:center !important;
  }

  .acp-retail-actions{
    justify-content:center !important;
  }

  .acp-retail-check-list{
    justify-items:center !important;
  }

  .acp-retail-check-list li{
    text-align:center !important;
    justify-content:center !important;
  }

  .acp-retail-stat span,
  .acp-retail-stat strong{
    text-align:center !important;
  }
}


/* Proper mobile centering for retail hero and feature icons */
@media (max-width: 767px){

  .acp-retail-hero h1{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    max-width: 320px !important;
  }

  .acp-retail-grid{
    justify-items:center !important;
  }

  .acp-retail-feature-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
  }

  .acp-retail-icon{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .acp-retail-feature-card h3,
  .acp-retail-feature-card p{
    text-align:center !important;
  }
}


/* Desktop feature cards: icon left, heading/text right */
@media (min-width: 992px){

  .acp-retail-feature-card{
    display:grid !important;
    grid-template-columns: 72px 1fr !important;
    grid-template-areas:
      "icon title"
      "icon text" !important;
    column-gap: 18px !important;
    align-items:start !important;
    text-align:left !important;
    min-height: 210px !important;
  }

  .acp-retail-icon{
    grid-area: icon !important;
    margin: 0 !important;
  }

  .acp-retail-feature-card h3{
    grid-area: title !important;
    margin: 4px 0 10px !important;
    text-align:left !important;
  }

  .acp-retail-feature-card p{
    grid-area: text !important;
    text-align:left !important;
  }
}


/* Desktop feature card vertical alignment refinement */
@media (min-width: 992px){

  .acp-retail-feature-card{
    align-items:center !important;
  }

  .acp-retail-icon{
    align-self:center !important;
  }

  .acp-retail-feature-card h3{
    align-self:end !important;
    display:flex !important;
    align-items:flex-end !important;
    min-height:58px !important;
    margin:0 !important;
  }

  .acp-retail-feature-card p{
    margin-top:8px !important;
  }
}


/* Desktop feature card proper vertical centering */
@media (min-width: 992px){

  .acp-retail-feature-card{
    display:flex !important;
    align-items:center !important;
    gap:22px !important;
    text-align:left !important;
  }

  .acp-retail-icon{
    flex:0 0 58px !important;
    margin:0 !important;
  }

  .acp-retail-feature-card h3{
    margin:0 0 10px !important;
    min-height:auto !important;
    display:block !important;
  }

  .acp-retail-feature-card p{
    margin:0 !important;
  }

  .acp-retail-feature-card > div:not(.acp-retail-icon){
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }
}


/* FINAL FIX - Retail feature cards desktop layout
   Icon left, title/text stacked right, entire group vertically centered. */
@media (min-width: 992px){

  .acp-retail-feature-card{
    display:grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "icon title"
      "icon text" !important;
    column-gap: 20px !important;
    row-gap: 8px !important;
    align-content:center !important;
    align-items:start !important;
    justify-content:start !important;
    text-align:left !important;
    padding:30px 26px !important;
  }

  .acp-retail-icon{
    grid-area:icon !important;
    align-self:center !important;
    justify-self:start !important;
    margin:0 !important;
    flex:none !important;
  }

  .acp-retail-feature-card h3{
    grid-area:title !important;
    align-self:end !important;
    justify-self:start !important;
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
    text-align:left !important;
    line-height:1.18 !important;
  }

  .acp-retail-feature-card p{
    grid-area:text !important;
    align-self:start !important;
    justify-self:start !important;
    display:block !important;
    margin:0 !important;
    max-width:270px !important;
    text-align:left !important;
    line-height:1.45 !important;
  }
}


/* FINAL Retail feature card layout:
   desktop = icon + title on top row, description starts left under icon/title row.
   mobile remains centered/stacked. */
@media (min-width: 992px){

  .acp-retail-feature-card{
    display:grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "icon title"
      "text text" !important;
    column-gap: 22px !important;
    row-gap: 24px !important;
    align-content:center !important;
    align-items:center !important;
    justify-content:start !important;
    text-align:left !important;
    padding:42px 34px 38px !important;
    min-height:260px !important;
  }

  .acp-retail-icon{
    grid-area:icon !important;
    align-self:center !important;
    justify-self:start !important;
    width:58px !important;
    height:58px !important;
    margin:0 !important;
    flex:none !important;
  }

  .acp-retail-feature-card h3{
    grid-area:title !important;
    align-self:center !important;
    justify-self:start !important;
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
    text-align:left !important;
    line-height:1.18 !important;
    max-width:none !important;
  }

  .acp-retail-feature-card p{
    grid-area:text !important;
    align-self:start !important;
    justify-self:start !important;
    display:block !important;
    margin:0 !important;
    max-width:360px !important;
    text-align:left !important;
    line-height:1.58 !important;
  }
}

@media (max-width: 991px){
  .acp-retail-feature-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }

  .acp-retail-icon{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .acp-retail-feature-card h3,
  .acp-retail-feature-card p{
    text-align:center !important;
  }
}


/* FINAL OVERRIDE - Desktop feature cards: title directly next to icon */
@media (min-width: 992px){

  .acp-retail-feature-card{
    display:grid !important;
    grid-template-columns: 80px 1fr !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "icon title"
      "text text" !important;
    column-gap: 14px !important;
    row-gap: 22px !important;
    align-content:center !important;
    align-items:center !important;
    text-align:left !important;
    padding:42px 34px 38px !important;
  }

  .acp-retail-icon{
    grid-area:icon !important;
    justify-self:start !important;
    align-self:center !important;
    margin:0 !important;
    width:58px !important;
    height:58px !important;
  }

  .acp-retail-feature-card h3{
    grid-area:title !important;
    justify-self:start !important;
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    max-width:none !important;
    min-height:0 !important;
    display:block !important;
    line-height:1.18 !important;
  }

  .acp-retail-feature-card p{
    grid-area:text !important;
    justify-self:start !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    max-width:100% !important;
    line-height:1.55 !important;
  }
}


/* Mobile fixes: prevent corrupt arrow/check rendering */
@media (max-width: 767px){

  .acp-retail-btn span[aria-hidden="true"]{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size:18px !important;
    line-height:1 !important;
    width:auto !important;
    height:auto !important;
    margin-left:4px !important;
    position:static !important;
    transform:none !important;
  }

  .acp-retail-check-list li{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:12px !important;
    text-align:left !important;
  }

  .acp-retail-check-list li:before{
    content:"\2713" !important;
    flex:0 0 26px !important;
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:700 !important;
    margin-top:0 !important;
    text-align:center !important;
  }
}


/* Mobile button arrow fix - replace corrupt arrow glyph with CSS-drawn arrow */
@media (max-width: 767px){

  .acp-retail-btn span[aria-hidden="true"]{
    font-size:0 !important;
    line-height:0 !important;
    width:18px !important;
    height:18px !important;
    margin-left:6px !important;
    display:inline-block !important;
    position:relative !important;
    flex:0 0 18px !important;
  }

  .acp-retail-btn span[aria-hidden="true"]::before{
    content:"" !important;
    position:absolute !important;
    left:2px !important;
    top:8px !important;
    width:13px !important;
    height:2px !important;
    background:currentColor !important;
    border-radius:2px !important;
  }

  .acp-retail-btn span[aria-hidden="true"]::after{
    content:"" !important;
    position:absolute !important;
    right:2px !important;
    top:5px !important;
    width:7px !important;
    height:7px !important;
    border-top:2px solid currentColor !important;
    border-right:2px solid currentColor !important;
    transform:rotate(45deg) !important;
  }
}

