/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Begin Module CSS - Articles Search first */
.hero-search-form {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 600px;
  gap: 8px; /* Michigan magic stays */
}


/* SEARCH FIELD */
#ebscohostsearchtext {
  height: 58px;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 400;

  border: 1px solid #3f3f3f;
  border-radius: 4px;
  box-sizing: border-box;

  transition: border-color 0.15s ease;
}

/* PLACEHOLDER TEXT — Articles search */
#ebscohostsearchtext::placeholder {
  color: #6b6b6b;
  opacity: 1; /* Firefox fix */
}

/* FOCUS STATE */
#ebscohostsearchtext:focus {
  border-color: #7a1f2a;
  outline: none;
}

.search-button {
  width: 62px;
  height: 58px;
  padding: 0;

  background-color: #7a1f2a;
  border: none;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
}
/* ===============================
   SHARED HERO SEARCH GEOMETRY
   =============================== */

.hero-search-form {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 660px;
}

/* SEARCH INPUT — BOOKS */
#booksearch #target {
  height: 58px;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 400;

  border: 1px solid #3f3f3f;
  border-radius: 4px;
  box-sizing: border-box;

  transition: border-color 0.15s ease;
}


/* FOCUS STATE — SAME AS ARTICLES */
#booksearch #target:focus {
  border-color: #7a1f2a;
  outline: none;
}


/* PLACEHOLDER — MATCH ARTICLES */
#booksearch #target::placeholder {
  color: #6b6b6b;
  opacity: 1;
}

/* SEARCH BUTTON — SAME HEIGHT */

.search-button {
  width: 62px;
  height: 58px;
  padding: 0;

  background-color: #7a1f2a;
  border: none;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;
}





/* HOVER — SAME */
#booksearch .search-button:hover {
  background-color: #5f1722;
}

/* REMOVE BROWSER JUNK (CONTROLLED) */
#booksearch #target:focus,
#booksearch .search-button:focus {
  outline: none;
  box-shadow: none;
}
/* INPUT FOCUS — RESTORED COOL EFFECT */
.hero-search-form input:focus,
#booksearch #target:focus {
  border-color: #000000;
  box-shadow: 0 0 0 2px #000000;
  outline: none;
}
/* ======================================================
   DATABASES SEARCH — GEOMETRY MATCH
   Matches Articles & Books exactly
   ====================================================== */

#s-lg-widget-1769449450700 form {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 8px; /* match Articles search */
}


/* SELECT FIELD (acts like input) */
#s-lg-widget-1769449450700 select {
  flex: 1 1 auto;   /* same as before, but explicit */
  min-width: 0;     /* 🔥 THIS is the fix */

  height: 58px;
  padding: 0 16px;
  font-size: 16px;
  line-height: normal;

  color: #3f3f3f;
  background-color: #ffffff;

  border: 1px solid #000000;
  border-radius: 4px;
  box-sizing: border-box;
  outline: none;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10'%3E%3Cpath fill='%233f3f3f' d='M1 1l7 7 7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 34px center; /* aligns with input padding */
  background-size: 14px 9px;
}

/* GO BUTTON — MATCH ICON BUTTON */
#s-lg-widget-1769449450700 button,
#s-lg-widget-1769449450700 input[type="submit"] {
  flex: 0 0 54px;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 58px;
  padding: 0;
  background-color: #7a1f2a;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Hover parity */
#s-lg-widget-1769449450700 button:hover,
#s-lg-widget-1769449450700 input[type="submit"]:hover {
  background-color: #5f1722;
}

/* Hide “View More Results” */
#s-lg-widget-1769449450700 .s-lg-widget-more {
  display: none !important;
}

/* ======================================================
   MOBILE — SAME STACKING RULE AS OTHERS
   ====================================================== */

@media (max-width: 768px) {
  #s-lg-widget-1769449450700 form {
    flex-direction: row;   /* KEEP IT ROW */
    flex-wrap: nowrap;
    gap: 6px;
  }

  #s-lg-widget-1769449450700 select {
    flex: 1 1 auto;
    min-width: 0;
    height: 51px;
  }

  #s-lg-widget-1769449450700 button,
  #s-lg-widget-1769449450700 input[type="submit"] {
    flex: 0 0 44px;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 51px;
  }
}
/* =============================
   ONESEARCH TABS — FORCE OVERRIDES
============================= */

/* BASE BUTTON */
/* Base tab styling */
/* ==============================
   OneSearch Mode Styling (Clean)
   ============================== */

/* Base tab / mode */
.onesearch-tab {
  font-weight: 700;
  color: #5a1a22; /* Coates maroon */
  padding: 6px 12px;
  text-decoration: none;
  background: none;
  border-radius: 6px;
  cursor: pointer;
}


/* ==============================
   External Links (Databases / Journals)
   ============================== */

.external-link {
  font-weight: 700;
  color: #5a1a22;
  text-decoration: none;
  display: inline-flex;
  gap: 6px;
}

.external-link:hover {
  text-decoration: underline;
}

/* External link icon */
.external-link svg {
  width: 12px;
  height: 14px;
  opacity: 0.7;
}

.external-link:hover svg {
  opacity: 1;
}
/* ==========================================================
   6) ONESEARCH — TAB UNDERLINES + FOCUS CLEANUP
   ========================================================== */

/* Base underline (hidden by default) */
.onesearch-tab::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background-color: rgba(122, 31, 42, 0.35); /* soft maroon */
  opacity: 0;
  transition: opacity 0.15s ease;
}

/* Hover */
.onesearch-tab:hover::after {
  opacity: 1;
}

/* Active */
.onesearch-tab.active::after {
  background-color: #7a1f2a; /* solid maroon */
  opacity: 1;
}

/* ONESEARCH — kill Chrome/Astra/Elementor focus "dots" (scoped to tabs only) */
.onesearch-tab,
.onesearch-tab:focus,
.onesearch-tab:active,
.onesearch-tab:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* If the focus is landing on a child (link/span/icon), kill it too */
.onesearch-tab a,
.onesearch-tab button,
.onesearch-tab span,
.onesearch-tab svg,
.onesearch-tab *:focus,
.onesearch-tab *:active,
.onesearch-tab *:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

/* ONESEARCH — kill theme/global underline on the actual clickable text */
.onesearch-tab a,
.onesearch-tab a:hover,
.onesearch-tab a:focus,
.onesearch-tab a:active,
.onesearch-tab .elementor-button-text,
.onesearch-tab:hover .elementor-button-text {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* If Elementor is styling it as a button */
.onesearch-tab.elementor-button,
.onesearch-tab.elementor-button:focus,
.onesearch-tab.elementor-button:active,
.onesearch-tab.elementor-button:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

/* Optional: keep your underline as the ONLY focus indicator */
.onesearch-tab:focus-visible::after {
  opacity: 1;
}

/* Elementor edit mode — show all panels */
body.elementor-editor-active #articles-form,
body.elementor-editor-active #books-form,
body.elementor-editor-active #databases-form,
body.elementor-editor-active #libguides-form,
body.elementor-editor-active #reserves-form {
  display: block !important;
}

/* Remove extra paragraph spacing inside panels */
#articles-form p:last-child,
#books-form p:last-child,
#databases-form p:last-child {
  margin-bottom: 0 !important;
}

/* OneSearch card styling */
.search-card {
  background-color: #ffffff !important;
  background: #ffffff !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 2px;
  box-shadow: 0 16px 36px rgba(0,0,0,0.10);
  position: relative;
  z-index: 2;
}

