/* =========================================================
   Digital Banking QC fixes — load AFTER head-foot-constant.css
   Keep layout/typography from base CSS; only non-layout QC here.
   Bump ?v= when updating.
   ========================================================= */

/* ----- QC #122: hide non-working search ----- */
header .search-btn,
.hamburger-icons-area .search-btn {
  display: none !important;
}

/* ----- QC #109 / #110: remove decorative top curves (salient) ----- */
.salient-sec .salient-main-area::before,
.salient-sec .salient-main-area::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* ----- Other Services: keep live vertical pagination visible ----- */
.card-sec .bayf-pagination-new.swiper-pagination,
.card-sec .bayf-swiper-new>.swiper-pagination {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* ----- Other Services: full character image on tablet + mobile ----- */
@media (max-width: 1199px) {
  .card-sec {
    padding-inline: 12px !important;
  }

  .card-sec .bayf-swiper-new .white-bg {
    overflow: visible !important;
  }

  .card-sec .bayf-swiper-new .white-bg .right {
    overflow: visible !important;
    min-height: 260px !important;
    display: flex !important;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 0;
  }

  .card-sec .bayf-swiper-new .white-bg .right img,
  .card-sec .bayf-swiper-new .white-bg .right.light-blue-bg img,
  .card-sec .bayf-swiper-new .white-bg .right.light-green-bg img,
  .card-sec .bayf-swiper-new .white-bg .right.blue-bg img {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    max-height: 320px;
    margin: 0 auto;
    display: block;
    object-fit: contain;
    object-position: center bottom;
  }
}

@media (max-width: 767px) {
  .card-sec {
    padding-inline: 8px !important;
  }

  .card-sec .bayf-swiper-new .white-bg .right {
    min-height: 220px !important;
  }

  .card-sec .bayf-swiper-new .white-bg .right img,
  .card-sec .bayf-swiper-new .white-bg .right.light-blue-bg img,
  .card-sec .bayf-swiper-new .white-bg .right.light-green-bg img,
  .card-sec .bayf-swiper-new .white-bg .right.blue-bg img {
    max-height: 260px;
  }
}

/* ----- Key Features: no leftover swiper chrome ----- */
.key-sec .keyFeatures-next,
.key-sec .keyFeatures-prev,
.key-sec .keyFeatures-scrollbar,
.key-sec .swiper-button-next,
.key-sec .swiper-button-prev,
.key-sec .swiper-scrollbar {
  display: none !important;
}

/* ===== Debit / Compare / Video ===== */
.portfolio .portfolio-bg,
.portfolio .portfolio-bg .limits-box table,
.visa-signature-table {
  border-radius: 16px;
  overflow: hidden;
}

.portfolio .portfolio-bg .top,
.portfolio .portfolio-bg .top h4 {
  text-align: center;
}

.portfolio .portfolio-bg .btn-box .modal-popup .modal-content .modal-header .btn-close,
.modal .btn-close {
  position: absolute;
  top: 12px;
  right: 12px;
  left: auto;
  margin: 0;
  z-index: 5;
}

.visa-swiper .swiper-slide,
.paypak-swiper .swiper-slide {
  cursor: pointer;
  pointer-events: auto;
}

#bigImage {
  transition: none !important;
}

.compare-box .compare-box-area .container-fluid .table tbody td,
.compare-box .valign-middle .details .title {
  text-align: left !important;
}

[dir="rtl"] .breadcrumb,
[dir="rtl"] .tutorial-links {
  text-align: right;
}

.m-menu-main .mob-nav,
.m-menu-main .mob-nav ul {
  width: 100%;
}


/* =========================================================
   MCB Live (Urdu) QC fixes — Personal Urdu tab
   Scoped to <body class="mcb-live-ur"> so the English page and
   other pages that share this file are not affected.
   ========================================================= */

/* ----- Other Services slider (دیگر خدمات / Other Services) -----
   Same rules for the Urdu and English MCB Live pages.
   Urdu: image on the LEFT  -> outer (left) corners 40px, inner square.
   English: image on the RIGHT -> outer (right) corners 40px, inner square.
   Pagination: centred on the image, on its outer side (over the image,
   never over the text). */
@media (min-width: 1200px) {
  body.mcb-live-ur .card-sec .bayf-swiper-new .white-bg .right {
    border-radius: 40px 0 0 40px;
  }

  body.mcb-live-en .card-sec .bayf-swiper-new .white-bg .right {
    border-radius: 0 40px 40px 0;
  }

  /* swiper has 80px top padding, so the card centre is 50% + 40px */
  body.mcb-live-ur .card-sec .bayf-swiper-new .swiper-pagination,
  body.mcb-live-en .card-sec .bayf-swiper-new .swiper-pagination {
    top: calc(50% + 40px) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }

  body.mcb-live-ur .payment-merchant .content-area {
    top: 50%;
    bottom: 50%;
    transform: translateY(-50%);
  }
}

body.mcb-live-ur .card-sec .bayf-swiper-new .swiper-pagination,
body.mcb-live-ur .card-sec .bayf-swiper-new>.swiper-pagination {
  left: 50px !important;
  right: auto !important;
}

body.mcb-live-en .card-sec .bayf-swiper-new .swiper-pagination,
body.mcb-live-en .card-sec .bayf-swiper-new>.swiper-pagination {
  right: 50px !important;
  left: auto !important;
}

/* mobile: image on top, text below */
@media (max-width: 767px) {

  body.mcb-live-ur .card-sec .bayf-swiper-new .white-bg .right,
  body.mcb-live-en .card-sec .bayf-swiper-new .white-bg .right {
    border-radius: 40px 40px 0 0;
  }

  body.mcb-live-ur .card-sec .bayf-swiper-new .swiper-pagination,
  body.mcb-live-ur .card-sec .bayf-swiper-new>.swiper-pagination {
    left: 20px !important;
    right: auto !important;
  }

  body.mcb-live-en .card-sec .bayf-swiper-new .swiper-pagination,
  body.mcb-live-en .card-sec .bayf-swiper-new>.swiper-pagination {
    right: 20px !important;
    left: auto !important;
  }
}

@media (max-width: 1199px) {

  body.mcb-live-ur .card-sec .bayf-swiper-new .swiper-pagination .swiper-pagination-bullet,
  body.mcb-live-en .card-sec .bayf-swiper-new .swiper-pagination .swiper-pagination-bullet {
    height: 40px;
    /* keep all 3 dots inside the shorter image */
  }
}

/* ----- QC #26: Raast banner — equal top/bottom spacing -----
   Text block is vertically centred in the banner (desktop/tablet). */
@media (min-width: 768px) {
  body.mcb-live-ur .payment-merchant .merchant-main-area {
    position: relative;
  }

  /* body.mcb-live-ur .payment-merchant .content-area {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  } */
}

/* ----- QC #33: phone images centred on tablet + mobile ----- */
@media (max-width: 991px) {

  body.mcb-live-ur .salient-sec .cards-img,
  body.mcb-live-ur .salient-sec .cards-img-new {
    text-align: center;
  }

  body.mcb-live-ur .salient-sec .cards-img img,
  body.mcb-live-ur .salient-sec .cards-img-new img {
    display: block;
    margin-inline: auto;
    left: auto;
    right: auto;
  }
}

/* ----- QC #34: language toggle touching the hamburger on tablets ----- */
@media (min-width: 768px) and (max-width: 1199px) {
  body.mcb-live-ur header .m-menu-main .m-menu .hamburger-icons-area {
    width: auto;
    gap: 16px;
    flex-shrink: 0;
  }

  body.mcb-live-ur header .language-toggle {
    margin-left: 0;
    flex-shrink: 0;
  }
}

/* ----- QC #37: footer accordion +/x icon overlapping the heading text -----
   Bootstrap's ::after uses margin-left:auto, which in RTL glues the icon
   to the text. Push it to the opposite (left) edge instead. */
footer[dir="rtl"] .foot-accordion .accordion .accordion-item .accordion-header .accordion-button {
  gap: 12px;
}

footer[dir="rtl"] .foot-accordion .accordion .accordion-item .accordion-header .accordion-button::after {
  margin-left: 0;
  margin-right: auto;
  flex-shrink: 0;
}


/* =========================================================
   Video Tutorials (Urdu) QC fixes
   Scoped to <body class="video-tutorials-ur"> (digital-banking-video-tutorials/ur)
   ========================================================= */

/* ----- QC #34: language toggle touching the hamburger on tablets ----- */
@media (min-width: 768px) and (max-width: 1199px) {
  body.video-tutorials-ur header .m-menu-main .m-menu .hamburger-icons-area {
    width: auto;
    gap: 16px;
    flex-shrink: 0;
  }

  body.video-tutorials-ur header .language-toggle {
    margin-left: 0;
    flex-shrink: 0;
  }
}

/* ----- QC #49: section heading had no side spacing on tablets -----
   Cards are inset by 1.5rem (px-4); give the heading the same inset so the
   heading lines up with the cards on both sides. */
@media (min-width: 768px) and (max-width: 1199px) {
  body.video-tutorials-ur .management-feat-main .section-header {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}


/* =========================================================
   Compare Cards (/mcb-compare-card) QC fixes
   Everything is scoped to .compare-box, so no other page is touched.
   #147 content not left-aligned | #148 points not in one row on mobile
   #151 top section (dropdown / card image / Apply button) not responsive on tab + mobile
   ========================================================= */

/* ----- QC #147: every piece of content starts at the left edge of its column -----
   Bootstrap's .text-center (!important) and the old inline "centre" rules were
   centring the dropdowns, card images, Apply buttons, points and values. */
.compare-box .compare-box-area .container-fluid .table tbody td,
.compare-box .compare-box-area .container-fluid .table tbody td.text-center,
.compare-box .compare-box-area .container-fluid .top-card .card-bx,
.compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card,
.compare-box .compare-box-area .container-fluid .top-card .card-bx .card-image,
.compare-box .compare-box-area .container-fluid .top-card .card-bx .apply-btn {
  text-align: left !important;
}

.compare-box .compare-box-area .container-fluid .top-card .card-bx .apply-btn {
  margin: 0 !important;
}

.compare-box .compare-box-area .container-fluid .top-card .card-bx .card-image img {
  display: block;
  margin: 0;
}

/* same inner gap on header cells and data cells => one straight left edge per column */
.compare-box .compare-box-area .container-fluid .table tbody td {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.compare-box .compare-box-area .container-fluid .table tbody td:first-child {
  padding-left: 0 !important;
}

.compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 14px;
}

/* ----- QC #148: the "points" (dots) always sit side by side in one row, centred on the row's text -----
   .cmp-points is added to the cell by the template's script; the :has() rule is a fallback for the
   static markup before the script runs. */
.compare-box .compare-box-area .container-fluid .table td.cmp-points {
  white-space: nowrap;
}

.compare-box .compare-box-area .container-fluid .table td:has(> img[src*="compare-card-dot"]) {
  white-space: nowrap;
}

/* every cell = one fixed-height flex row, so 1, 2, 3 or 4 points (or a dash) sit on exactly the same line,
   at exactly the same size, on every column and every screen */
.compare-box .compare-box-area .container-fluid .table .cmp-dots {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  height: 32px;
}

.compare-box .compare-box-area .container-fluid .table td.valign-middle img[src*="compare-card-dot"] {
  display: block;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: contain;
}

.compare-box .compare-box-area .container-fluid .table .cmp-dots .dash {
  display: block;
  line-height: 1;
}

.compare-box .compare-box-area .container-fluid .table tbody td.valign-middle {
  vertical-align: middle !important;
}

/* ----- QC #151: responsive top section (tablet + mobile) -----
   The table keeps its horizontal scroll, but the columns are narrower and the controls
   fill their column instead of overflowing it. */
@media (max-width: 1199px) {
  .compare-box .compare-box-area .container-fluid .table tbody tr td {
    width: 230px !important;
    min-width: 230px !important;
  }

  .compare-box .compare-box-area .container-fluid .table tbody tr td:first-child {
    width: 200px !important;
    min-width: 200px !important;
  }

  .compare-box .compare-box-area .container-fluid .top-title {
    font-size: 18px !important;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card {
    margin: 12px 0 20px;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2,
  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2.select2-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2.select2-container .select2-selection--single {
    height: 48px;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 48px;
    font-size: 15px;
    max-width: 88%;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 48px;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .card-image img {
    max-width: 100%;
    width: 170px;
    height: auto;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .apply-btn {
    max-width: 100%;
    padding-top: 20px;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .apply-btn .btn {
    padding: 0.6rem 0.5rem;
    font-size: 14px;
    white-space: nowrap;
  }

  .compare-box .compare-box-area .container-fluid .valign-middle .details .title h4 {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (max-width: 767px) {
  .compare-box .compare-box-area .container-fluid .table tbody tr td {
    width: 200px !important;
    min-width: 200px !important;
  }

  /* feature names stay visible while the cards are scrolled sideways */
  .compare-box .compare-box-area .container-fluid .table tbody tr td:first-child {
    width: 140px !important;
    min-width: 140px !important;
    position: sticky;
    left: 0;
    z-index: 3;
    background: #fff;
    box-shadow: 6px 0 8px -6px rgba(0, 0, 0, 0.18);
  }

  .compare-box .compare-box-area .container-fluid .top-title {
    font-size: 16px !important;
  }

  .compare-box .compare-box-area .container-fluid .valign-middle .details .ico {
    display: none;
  }

  .compare-box .compare-box-area .container-fluid .valign-middle .details .title h4 {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 0;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .card-image img {
    width: 150px;
  }

  .compare-box .compare-box-area .container-fluid .top-card .card-bx .selec-card .select2.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 14px;
  }
}

@media (max-width: 1199px) {
  .compare-box .compare-box-area .container-fluid .table .cmp-dots { gap: 8px; height: 28px; }
  .compare-box .compare-box-area .container-fluid .table td.valign-middle img[src*="compare-card-dot"] {
    flex-basis: 26px; width: 26px; height: 26px;
  }
}

@media (max-width: 767px) {
  .compare-box .compare-box-area .container-fluid .table .cmp-dots { gap: 6px; height: 24px; }
  .compare-box .compare-box-area .container-fluid .table td.valign-middle img[src*="compare-card-dot"] {
    flex-basis: 22px; width: 22px; height: 22px;
  }
}

/* ----- Compare Cards banner on tablets: looser line-height + letter-spacing -----
   base gives the heading -3px letter-spacing / 110% line-height, which looks cramped at 768-1199px */
@media (min-width: 768px) and (max-width: 1199px) {
  .inner-head.compare-head h2.debit-cards-heading {
    letter-spacing: -0.5px;
    line-height: 1.3;
    margin-bottom: 24px;
  }

  .inner-head.compare-head p {
    line-height: 1.8;
    letter-spacing: 0.3px;
    max-width: 100%;
    padding-inline: 20px;
    margin-inline: auto;
    overflow-wrap: break-word;
  }
}

/* ----- compare points: ONE size for every dot in every column (img-fluid / natural size can no longer change it) ----- */
.compare-box .compare-box-area .container-fluid .table td img.cmp-dot,
.compare-box .compare-box-area .container-fluid .table td.valign-middle img[src*="compare-card-dot"] {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  max-width: none !important;
  max-height: none !important;
  flex: 0 0 30px !important;
  object-fit: contain;
}

@media (max-width: 1199px) {
  .compare-box .compare-box-area .container-fluid .table td img.cmp-dot,
  .compare-box .compare-box-area .container-fluid .table td.valign-middle img[src*="compare-card-dot"] {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    flex-basis: 26px !important;
  }
}

@media (max-width: 767px) {
  .compare-box .compare-box-area .container-fluid .table td img.cmp-dot,
  .compare-box .compare-box-area .container-fluid .table td.valign-middle img[src*="compare-card-dot"] {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    flex-basis: 22px !important;
  }
}

/* ----- compare points: same vertical centre in every column -----
   Any stray whitespace / inline line box in a cell makes that cell taller than the others, and
   vertical-align:middle then centres the dots 4-5px higher in those columns.
   font-size/line-height 0 on the cell removes every line box; the dots wrapper keeps its own fixed height. */
.compare-box .compare-box-area .container-fluid .table tbody td.valign-middle {
  vertical-align: middle !important;
}

.compare-box .compare-box-area .container-fluid .table tbody td.cmp-points {
  vertical-align: middle !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.compare-box .compare-box-area .container-fluid .table tbody td.cmp-points .cmp-dots {
  margin: 0;
  padding: 0;
  height: 32px;
  box-sizing: border-box;
}

.compare-box .compare-box-area .container-fluid .table tbody td.cmp-points .cmp-dots .dash {
  font-size: 1.6rem;
  line-height: 1;
}

/* feature name + its icon share one centre line, so the points line up with the label */
.compare-box .compare-box-area .container-fluid .valign-middle .details {
  align-items: center;
}



/* =========================================================
   Digital Onboarding — QC fixes
   Scoped to <body class="digital-onboarding"> so no other
   page that shares this file is affected.
   ========================================================= */

/* ----- QC #170: current-page breadcrumb is plain text, not clickable ----- */
body.digital-onboarding .breadcrumb-appstore .breadcrumb-item.active a {
  pointer-events: none;
  cursor: default;
}

/* ----- QC #171: hero buttons share one box model, label always on ONE line, same size at every width ----- */
body.digital-onboarding .h-btn-group .open-mcb-ac-btn,
body.digital-onboarding .h-btn-group .h-btn2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  white-space: nowrap;
  line-height: 1.2;
  font-weight: 500;
  padding: 12px 24px;
  font-size: 16px;
}

@media (min-width: 1920px) {

  body.digital-onboarding .h-btn-group .open-mcb-ac-btn,
  body.digital-onboarding .h-btn-group .h-btn2 {
    padding: 14px 22px;
    font-size: 18px;
  }
}

@media (min-width: 2560px) {

  body.digital-onboarding .h-btn-group .open-mcb-ac-btn,
  body.digital-onboarding .h-btn-group .h-btn2 {
    padding: 20px 30px;
    font-size: 22px;
  }
}

@media (max-width: 767px) {

  body.digital-onboarding .h-btn-group .open-mcb-ac-btn,
  body.digital-onboarding .h-btn-group .h-btn2 {
    padding: 12px 24px;
    font-size: 12px;
  }
}

/* ----- QC #178: mobile hero keeps a gradient behind the banner image, so the white text is never on a light page ----- */
@media (max-width: 767px) {
  body.digital-onboarding header.dob .container-fluid {
    background-color: #1a8f86 !important;
    background-image: url("../images/DOB-Mob-Main-Banner.png"), linear-gradient(180deg, #0b3f7a 0%, #1a8f86 55%, #2aa592 100%) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center top !important;
  }
}

/* ----- QC #164: every slide in "Choose the Account That Fits You" is the same card size ----- */
body.digital-onboarding .card-sec .bayf-swiper-new .swiper-slide {
  height: auto;
}

body.digital-onboarding .card-sec .bayf-swiper-new .swiper-slide>.white-bg {
  height: 100%;
}

/* ----- QC #175: breathing room between the last bullet and the Learn More button ----- */
body.digital-onboarding .card-sec .bayf-swiper-new .white-bg .left .slider-btn {
  margin-top: 1.25rem;
}

/* ----- QC #174: stacked (tablet + mobile) card image has fully curved corners ----- */
@media (max-width: 1199px) {
  body.digital-onboarding .card-sec .bayf-swiper-new .white-bg .right-img {
    border-radius: 20px;
    overflow: hidden;
  }

  body.digital-onboarding .card-sec .bayf-swiper-new .white-bg .right-img img {
    border-radius: 20px;
  }
}

/* ----- QC #177: Why Go Digital — all three columns start at the same top line (was bottom-aligned, so text tops drifted) ----- */
body.digital-onboarding .keyFeature-box-slide .keyFeature-box-details ul li {
  justify-content: flex-start;
}

/* ----- QC #176: tablet — content sections fill the width like the header / Why Go Digital block (no wide empty side gutters) ----- */
@media (min-width: 768px) and (max-width: 1199px) {

  body.digital-onboarding .section-02>.container,
  body.digital-onboarding .section3>.container {
    max-width: 100%;
    padding-inline: 26px;
  }

  body.digital-onboarding .card-sec>.container {
    max-width: 100%;
    padding-inline: 0;
  }
}

/* ----- QC #173: tablet — "Ready to Get Started" text stays on the blue side, smaller button ----- */
@media (min-width: 768px) and (max-width: 1199px) {
  body.digital-onboarding .payment-merchant .content-area {
    width: 56%;
    padding: 0 0 0 24px;
  }

  body.digital-onboarding .payment-merchant .content-area .s-btn {
    width: auto;
    padding: 10px 18px;
    font-size: 14px;
    margin-top: 12px;
  }
}
