/**
 * overrides.css
 *
 * Styles for the modules in overrides.js. Sections are named after the module.
 */

.article-card .article-card-figure img {
  object-position: top;
}
a.fr-strong {
  font-weight: 700;
}
a.fr-green {
  color: green;
}
/**
   * Link style.
   */
img {
  position: relative;
  max-width: 100%;
}
img.fr-dib {
  margin: 5px auto;
  display: block;
  float: none;
  vertical-align: top;
}
img.fr-dib.fr-fil {
  margin-left: 0;
}
.fr-fir {
  margin-right: 0;
}
img.fr-dii {
  display: inline-block;
  float: none;
  vertical-align: bottom;
  margin-left: 5px;
  margin-right: 5px;
  max-width: calc(100% - (2 * 5px));
}
img.fr-dii.fr-fil {
  float: left;
  margin: 5px 5px 5px 0;
  max-width: calc(100% - 5px);
}
img.fr-dii.fr-fir {
  float: right;
  margin: 5px 0 5px 5px;
  max-width: calc(100% - 5px);
}
img.fr-rounded {
  border-radius: 100%;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
img.fr-bordered {
  border: solid 10px #ccc;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

@media (width >= 900px) {
  body[data-template="dollar-bank.history-page"]
    .grid:has(.g-col-12):not(:has(.sticky-content-body))
    .g-col-12 {
    grid-column: auto / span 8;
    grid-column-start: 3 !important;
  }
}

.sticky-content-body p {
  font-size: inherit !important;
  color: inherit !important;
}

.button-group a:not([class]) {
  text-underline-offset: 0.2em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-color: var(--theme-link-decoration);
  text-decoration-color: var(--theme-link-decoration);
}

.disclosures-list {
  gap: 0 !important;
}

@media (min-width: 768px) {
  .dd-row {
    grid-template-columns: minmax(0, 1fr) fit-content(70%) !important;
  }
}

.compare-tip:hover > .compare-tip-panel,
.compare-tip:focus > .compare-tip-panel {
  display: block;
}

.DB-nav-login + .dropdown-menu {
  left: auto !important;
  right: 0;
}

.compare-table td > p,
.compare-table td > p + .compare-tip {
  display: inline;
}

.DB-footer-meta {
  padding-top: 1.5rem !important;
}

.ktc-checkbox {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}

.ktc-checkbox input[type="checkbox"].form-control {
  /* undo .form-control */
  display: inline-block;
  width: 1em;
  height: 1em;
  padding: 0;
  line-height: normal;
  border-radius: 0.25em;
  /* mimic .form-check-input */
  float: left;
  margin: 0.25em 0 0 -1.5em;
  vertical-align: top;
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.25);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.ktc-checkbox input[type="checkbox"].form-control:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.ktc-checkbox input[type="checkbox"].form-control:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.ktc-checkbox label {
  display: inline; /* .form-check-label */
  margin-bottom: 0;
}

section#content_zone-c2c9f4e5-7cf4-4daa-9e85-4878efd4d8eb .swiper-horizontal {
  padding: 0 15px;
}
section#content_zone-c2c9f4e5-7cf4-4daa-9e85-4878efd4d8eb .card-slider-prev {
  left: 24px !important;
}
section#content_zone-c2c9f4e5-7cf4-4daa-9e85-4878efd4d8eb .card-slider-next {
  right: 25px !important;
}

#content_zone-98d8d2f7-8590-471b-a765-5ef683ee7763 .section-padding.bg-light {
  background: transparent !important;
}

@media (width < 992px) {
  .compare-rows-table.caption-bottom {
    display: flex;
    flex-direction: column-reverse;
  }
}

body[data-template="dollar-bank\.argo-page"] .argo_content h1 {
  color: #2774ae;
  font-size: 48px;
  display: inline-block;
  position: relative;
}

/* ==========================================================================
   compareTableDisclaimerLabels
   ========================================================================== */

/* Cells that now have a real label: turn off the generated :before label */
.compare-rows-table td.has-label-link:before {
  content: none;
  display: none;
}

/* Real label: same look as the original td[data-label]:before, hidden by default */
.compare-rows-table .cell-label {
  display: none;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--theme-muted);
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
}

/* Show it where the existing :before label shows.
   TODO: replace the breakpoint with the one the theme already uses. */
@media (max-width: 767.98px) {
  .compare-rows-table .cell-label {
    display: block;
  }
}

/* Optional: keep the disclaimer link looking like part of the label */
.compare-rows-table .cell-label sup a {
  color: inherit;
}

/* #291 Homepage hero: taller frame when the hero has no login panel.
   Same rule the build compiles from src/components/heroes/PrimaryHero.astro
   (sp-fluid(5, 13, 1920px)): 48px at 320px wide, rising to 144px at 1920px+.
   Heroes that still carry .login-form (e.g. /small-business) are untouched. */
.primary-hero.section-padding:not(:has(.login-form)) {
  --section-padding: clamp(3rem, 1.5437rem + 6.2136vw, 9rem);
}

/* Swiper: hide pagination/nav when the slider is locked (single slide).
   Swiper already applies the -lock classes; Bootstrap's `d-flex`
   (display: flex !important) was overriding them. */
.swiper-pagination.swiper-pagination-lock,
.swiper-button-next.swiper-button-lock,
.swiper-button-prev.swiper-button-lock,
.card-slider-wrap .card-slider-arrow.swiper-button-lock {
  display: none !important;
}
