/* ============================================================
   responsive.css — Orchard Knob Capital (site-wide)
   Loaded LAST from includes/head.html so these rules win over
   Bootstrap (Yeti) and styles.css. Page-specific hero images and
   the contact form stay inline in their own pages.
   ============================================================ */

/* ===== BASE ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  /* Anchor links (services.html#mergers etc.) land below the fixed navbar.
     Raise this if the navbar is taller than 5rem on your screen. */
  scroll-padding-top: 5rem;
}

/* clip stops sideways scroll without breaking the fixed navbar */
body {
  overflow-x: clip;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
}

/* Long emails/URLs never push the page wider than the screen */
a[href^="mailto:"],
p {
  overflow-wrap: anywhere;
}

a:focus-visible,
button:focus-visible,
.nav-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ===== NAVBAR (fixed-top, navbar-expand-lg) ===== */
/* Logo scales down on small phones (the inline max-width:256px still caps it) */
.navbar-brand img {
  width: clamp(150px, 48vw, 256px);
  height: auto;
}

/* Mobile menu: bigger tap targets, and it scrolls if it is taller than the
   screen (e.g. a phone held sideways) instead of running off the bottom. */
@media (max-width: 991.98px) {
  .navbar-collapse {
    max-height: calc(100vh - 5rem);
    max-height: calc(100dvh - 5rem);
    overflow-y: auto;
  }

  .navbar-nav .nav-link {
    padding: .75rem 0;
  }
}

/* ===== HOME: service cards =====
   Hover zoom is for mouse users; on touch screens it sticks after a tap
   and can cause sideways scrolling. */
@media (hover: none) {
  .card:hover {
    transform: none !important;
  }
}

/* ===== HOME: featured-transactions slider ===== */
.swiper {
  --swiper-navigation-color: #fff;     /* visible on the blue band */
  --swiper-pagination-color: #fff;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: .5;
  padding-bottom: 2.25rem;             /* room for the dots */
}

.swiper-slide img {
  width: 100%;
  height: auto;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
}

@media (max-width: 639.98px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;                     /* swipe + dots on phones */
  }
}

/* ===== HOME: showcase image panels =====
   Inline backgrounds have no size (photos show at full size) and one panel
   has no content, so it collapses to zero height when stacked. */
.showcase-img {
  min-height: 240px;
  background-size: cover !important;
}

@media (min-width: 992px) {
  .showcase-img {
    min-height: 360px;
  }
}

/* ===== SERVICES ===== */
@media (max-width: 575.98px) {
  .col-sm-6 + .col-sm-6 {
    margin-top: 1rem;                  /* gap between stacked cards */
  }
}

/* ===== TRANSACTIONS: tombstone grid + tabs =====
   Markup uses col-3 at every width = four tiny logos per row on a phone. */
.tab-content .row {
  row-gap: 1rem;
}

.tab-content .row > .col-3 {
  width: 50%;                          /* phones: 2 per row */
}

@media (min-width: 576px) {
  .tab-content .row > .col-3 {
    width: 33.3333%;                   /* large phones: 3 per row */
  }
}

@media (min-width: 768px) {
  .tab-content .row > .col-3 {
    width: 25%;                        /* tablet and up: 4 per row */
  }
}

.nav-pills {
  gap: .5rem;
}

.nav-pills .nav-link {
  min-height: 44px;
}

@media (max-width: 575.98px) {
  .nav-pills .nav-item {
    flex: 1 1 100%;                    /* full-width tabs on phones */
  }

  .nav-pills .nav-link {
    width: 100%;
  }
}

/* ===== FOOTER (footer.footer.bg-dark > .container > .row) =====
   Bootstrap's .container already provides side gutters, so only the
   vertical spacing is set here. */
.footer {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

/* Tap targets: vertical padding only, so links don't get wider */
.footer .list-inline a {
  display: inline-block;
  padding: .5rem 0;
}

/* The "⋅" separators were dark on the dark footer
.footer .list-inline-item {
  color: rgba(255, 255, 255, .55);
} */

/* Tablet landscape / desktop: keep all links on ONE row.
   Bootstrap gives each column 50%, which wraps the link row on an iPad.
   Let the links column take the space it needs and the icons shrink to fit. */
@media (min-width: 992px) {
  .footer .row {
    flex-wrap: nowrap;
    align-items: center;
  }

  .footer .row > .col-lg-6 {
    width: auto;
    flex: 0 0 auto;
  }

  .footer .row > .col-lg-6:first-child {
    flex: 1 1 auto;
    min-width: 0;
  }
}

@media (max-width: 991.98px) {
  .footer .row > * + * {
    margin-top: 1rem;                  /* gap between the link row and icons */
  }
}

@media (max-width: 575.98px) {
  .footer {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .footer .list-inline-item.me-4 {
    margin-right: 1rem !important;     /* three icons fit on narrow phones */
  }
}

/* ===== USER PREFERENCES ===== */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}