/* eBookExpertsHub — logo size & responsive layout overrides */

/* ── Logo (override plugin.css width constraints) ── */
header > a:first-of-type,
header > a.site-logo-link,
header > a[href*="index.html"] {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
  margin-left: clamp(16px, 2.5vw, 32px) !important;
  text-align: left !important;
  display: inline-flex !important;
  align-items: center !important;
}

header > a:first-of-type img,
header .site-logo,
header img.site-logo,
header .img-fluid,
.logo-main img,
.Logocustom img {
  height: clamp(64px, 9vw, 96px) !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  display: block !important;
  object-fit: contain !important;
  image-rendering: -webkit-optimize-contrast !important;
}

.logo-main {
  margin-left: clamp(16px, 2.5vw, 32px) !important;
}

/* Prevent plugin.css from constraining logo link container */
header > a:first-of-type,
header > a.site-logo-link,
header > a[href*="index.html"],
header > a.logo-main {
  width: auto !important;
  max-width: none !important;
}

/* ── Header layout ── */
header {
  flex-wrap: wrap !important;
  align-items: center !important;
  padding: 10px 24px !important;
  gap: 6px 12px;
}

.center-hdr {
  flex: 1 1 auto !important;
  min-width: 0;
  text-align: right;
}

.hdr-cta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 14px !important;
  justify-content: flex-end !important;
  max-width: none !important;
  margin-bottom: 0 !important;
}

.hdr-cta > a {
  font-size: clamp(13px, 1.4vw, 18px) !important;
}

.hdr-cta .header-btn,
.hdr-cta .manuscript-btnn {
  padding: 8px 16px !important;
  font-size: 13px !important;
  white-space: nowrap;
}

/* ── Banner hero ── */
.banner .main-hdg h1 {
  font-size: clamp(1.6rem, 4vw, 2.5rem) !important;
}

.banner .main-hdg h3 {
  font-size: clamp(1rem, 2.5vw, 1.35rem) !important;
}

.banner .main-hdg p {
  font-size: clamp(14px, 1.8vw, 16px) !important;
  line-height: 1.6;
}

.banner-slider-images img,
.apportslidr li img {
  width: clamp(140px, 18vw, 237px) !important;
  height: auto !important;
}

/* ── Large desktop ── */
@media (min-width: 1400px) {
  header > a:first-of-type img,
  header .site-logo,
  header .img-fluid,
  .logo-main img {
    height: 96px !important;
  }
}

/* ── Laptop ── */
@media (max-width: 1365px) {
  header > a:first-of-type img,
  header .site-logo {
    height: clamp(58px, 8vw, 84px) !important;
  }
}

/* ── Tablet landscape ── */
@media (max-width: 1199px) {
  .hdr-cta .manuscript-btnn {
    display: none !important;
  }

  .hdr-cta > a[href^="mailto"] span {
    font-size: 14px !important;
  }
}

/* ── Tablet / mobile nav ── */
@media (max-width: 991px) {
  header {
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    position: relative !important;
    padding: 10px 16px !important;
  }

  header > * {
    flex: 0 0 auto !important;
  }

  header > a:first-of-type {
    order: 1;
    z-index: 5;
    max-width: 55%;
  }

  header > a:first-of-type img,
  header .site-logo {
    height: clamp(52px, 14vw, 72px) !important;
  }

  .center-hdr {
    order: 2;
    flex: 1 1 auto !important;
    width: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  .hdr-cta {
    display: none !important;
  }

  .center-hdr > nav,
  .hdr-cta + nav {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin: 0 !important;
  }

  .navbar-toggler {
    display: block !important;
    border: 1px solid #013266 !important;
    padding: 5px 9px !important;
    margin-right: 0 !important;
  }

  .cust-navbar-collapse {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: #fff !important;
    z-index: 9999 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important;
    max-height: 80vh;
    overflow-y: auto;
  }

  .cust-navbar-collapse.show,
  .cust-navbar-collapse.collapsing {
    display: block !important;
  }

  .call-icon-for-mob {
    display: flex !important;
  }

  .banner {
    padding: 28px 0 !important;
    min-height: auto !important;
  }

  .banner .main-hdg {
    text-align: center;
    padding: 0 12px;
  }

  .banner-slider-images {
    text-align: center;
    margin-top: 16px;
  }

  .slider-form {
    margin: 20px auto 0 !important;
    max-width: 100% !important;
  }

  .banner-sec {
    height: auto !important;
    min-height: 360px;
    padding: 32px 0 !important;
  }
}

/* ── Mobile portrait ── */
@media (max-width: 767px) {
  header > a:first-of-type img,
  header .site-logo {
    height: clamp(48px, 16vw, 64px) !important;
  }

  .banner .main-hdg h1 {
    font-size: 1.5rem !important;
  }

  .banner-slider-images img,
  .apportslidr li img {
    width: 140px !important;
  }

  .container-xl {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ── Small phones ── */
@media (max-width: 575px) {
  header {
    padding: 8px 12px !important;
  }

  header > a:first-of-type img,
  header .site-logo {
    height: clamp(44px, 18vw, 58px) !important;
  }

  .banner .main-hdg h1 {
    font-size: 1.35rem !important;
  }

  .btn-1, .btn-2 {
    font-size: 13px !important;
    padding: 8px 14px !important;
  }
}

/* ── Hide mobile call bar on desktop ── */
@media (min-width: 992px) {
  .call-icon-for-mob {
    display: none !important;
  }
}
