/* =============================================================================
   CUSTOM CSS — Add your site-specific overrides here
   This file loads last so your rules take priority over all theme styles.
   ============================================================================= */

/* ---------------------------------------------------------------------------
   Add your custom CSS below this line.
   Examples:
     - Adjust a specific page or block style
     - Override a component color or size
     - Add one-off layout tweaks
--------------------------------------------------------------------------- */
.js-filter-wrapper,
#block-gicc-theme-syndicate {
  display: none;
}
.g-recaptcha {
  margin-bottom: 1rem;
}

.node p {
  text-align: justify;
}

/* ---------------------------------------------------------------------------
   DRUPAL ADMIN TOOLBAR — push site down when toolbar-horizontal is active
   Drupal adds body.toolbar-horizontal when the admin toolbar is visible.
   The toolbar bar is ~39px; tray adds ~40px more (total ~79px).
   We use 100px as a safe offset so nothing hides behind the toolbar.
--------------------------------------------------------------------------- */

body.toolbar-horizontal .site-header {
  top: 79px;
}

body.toolbar-horizontal.toolbar-tray-open .site-header {
  top: 79px;
}

/* body.toolbar-horizontal .layout-main-wrapper {
  padding-top: calc(var(--header-height) + var(--space-8) + 79px);
} */

body.toolbar-horizontal .nav-overlay {
  top: calc(var(--header-height) + 79px);
}

body.toolbar-horizontal .search-panel {
  top: calc(var(--header-height-current, var(--header-height)) + 79px);
}

body.toolbar-horizontal .site-nav {
  top: calc(var(--header-height) + 79px);
}

body.toolbar-horizontal.header-scrolled .site-nav {
  top: calc(var(--header-height-scroll) + 79px);
  height: calc(100vh - var(--header-height-scroll) - 79px);
}

.faq-wrapper>div>div {
  margin-bottom: 0.3rem;
}


/* ---------------------------------------------------------------------------
   GOOGLE CUSTOM SEARCH ENGINE (CSE)
--------------------------------------------------------------------------- */

/* Hide the empty nbsp div */
.gcse-search {
  display: none;
}

/* Search box container */
.gsc-control-cse,
.gsc-control-cse .gsc-table-result,
.gsc-control-cse table,
.gsc-control-cse td,
.gsc-above-wrapper-area,
.gsc-above-wrapper-area-container,
.gsc-results-wrapper-overlay,
.gsc-results-wrapper-nooverlay,
.gsc-result-info-container,
.gsc-orderby-container,
.gsc-tabsArea,
.gsc-selected-option-container,
.gsc-option-menu {
  font-family: var(--font-sans) !important;
  background: var(--color-surface) !important;
  background-color: var(--color-surface) !important;
  border: none !important;
  padding: 0 !important;
  color: var(--color-text) !important;
}

/* Input wrapper */
.gsc-input-box {
  border: none !important;
  border-radius: 0 !important;
  background: var(--color-surface) !important;
  box-shadow: none !important;
  width: 100% !important;
}

.gsc-input-box:focus-within {
  border: none !important;
  box-shadow: none !important;
}

/* Input field — bottom border only, full width */
.gsc-input-box input.gsc-input {
  font-family: var(--font-sans) !important;
  font-size: var(--text-sm) !important;
  color: var(--color-text) !important;
  padding: var(--space-3) var(--space-4) !important;
  height: auto !important;
  width: 100% !important;
  border: none !important;
  border-bottom: 2px solid var(--color-border) !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color var(--transition-fast) !important;
}

.gsc-input-box input.gsc-input:focus {
  border-bottom-color: var(--color-brand) !important;
  outline: none !important;
  box-shadow: none !important;
}

.gsc-input-box input.gsc-input::placeholder {
  color: var(--color-text-muted) !important;
}

/* Search button */
.gsc-search-button button.gsc-search-button-v2,
.gsc-search-button input.gsc-search-button {
  background: var(--gradient-brand) !important;
  border: none !important;
  border-radius: var(--radius-full) !important;
  padding: var(--space-2) var(--space-5) !important;
  cursor: pointer !important;
  transition: opacity var(--transition-fast) !important;
}

.gsc-search-button button.gsc-search-button-v2:hover,
.gsc-search-button input.gsc-search-button:hover {
  opacity: 0.85 !important;
}

.gsc-search-button button.gsc-search-button-v2 svg {
  fill: #fff !important;
}

/* Results container */
.gsc-results-wrapper-overlay,
.gsc-results-wrapper-nooverlay {
  background: var(--color-surface) !important;
  background-color: var(--color-surface) !important;
  border: none !important;
  box-shadow: none !important;
  margin-top: var(--space-2) !important;
  padding: 0 !important;
}

/* Individual result */
.gsc-webResult.gsc-result {
  border-bottom: 1px solid var(--color-border) !important;
  padding: var(--space-4) !important;
  background: transparent !important;
}

.gsc-webResult.gsc-result:last-child {
  border-bottom: none !important;
}

/* Result title */
.gs-title,
.gs-title * {
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  font-weight: var(--font-semibold) !important;
  color: var(--color-brand-text) !important;
  text-decoration: none !important;
}

.gs-title:hover,
.gs-title *:hover {
  text-decoration: underline !important;
}

/* Result snippet */
.gs-snippet {
  font-size: var(--text-sm) !important;
  color: var(--color-text-secondary) !important;
  line-height: var(--leading-relaxed) !important;
  margin-top: var(--space-1) !important;
}

/* Result URL */
.gsc-url-top,
.gs-visibleUrl {
  font-size: var(--text-xs) !important;
  color: var(--color-text-muted) !important;
}

/* Cursor / pagination */
.gsc-cursor-box {
  text-align: center !important;
  padding: var(--space-4) 0 !important;
}

.gsc-cursor-page {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  border-radius: var(--radius-full) !important;
  border: 1.5px solid var(--color-border) !important;
  font-size: var(--text-sm) !important;
  font-weight: var(--font-medium) !important;
  color: var(--color-text-secondary) !important;
  background: var(--color-surface) !important;
  margin: 0 2px !important;
  cursor: pointer !important;
  transition: all var(--transition-fast) !important;
}

.gsc-cursor-current-page {
  background: var(--gradient-brand) !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* Replace Google branding image with text */
.gcsc-find-more-on-google,
.gcsc-branding,
.gsc-branding {
  background-image: none !important;
  background: var(--color-surface) !important;
  background-color: var(--color-surface) !important;
  font-size: var(--text-xs) !important;
  color: var(--color-text-muted) !important;
  text-align: right !important;
  padding: var(--space-2) var(--space-3) !important;
}

.gcsc-find-more-on-google span,
.gcsc-branding span,
.gsc-branding span,
.gcsc-find-more-on-google a,
.gcsc-branding a,
.gsc-branding a {
  display: none !important;
}

/* .gcsc-find-more-on-google::after, */
.gcsc-branding::after,
.gsc-branding::after {
  content: 'Powered by Google' !important;
  font-family: var(--font-sans) !important;
  font-size: var(--text-xs) !important;
  color: var(--color-text-muted) !important;
  display: block !important;
}

.gsc-wrapper {
  max-width: 100% !important;
}

html[data-theme="dark"] .gcsc-find-more-on-google,
html[data-theme="dark"] .gcsc-branding,
html[data-theme="dark"] .gsc-branding {
  background: var(--color-surface) !important;
  background-color: var(--color-surface) !important;
}

html[data-theme="dark"] .gcsc-find-more-on-google::after,
html[data-theme="dark"] .gcsc-branding::after,
html[data-theme="dark"] .gsc-branding::after {
  color: var(--color-text-muted) !important;
}

/* Dark mode */
html[data-theme="dark"] .gsc-control-cse,
html[data-theme="dark"] .gsc-control-cse .gsc-table-result,
html[data-theme="dark"] .gsc-control-cse table,
html[data-theme="dark"] .gsc-control-cse td,
html[data-theme="dark"] .gsc-above-wrapper-area,
html[data-theme="dark"] .gsc-above-wrapper-area-container,
html[data-theme="dark"] .gsc-result-info-container,
html[data-theme="dark"] .gsc-orderby-container,
html[data-theme="dark"] .gsc-tabsArea,
html[data-theme="dark"] .gsc-selected-option-container,
html[data-theme="dark"] .gsc-option-menu,
html[data-theme="dark"] .gsc-input-box,
html[data-theme="dark"] .gsc-results-wrapper-overlay,
html[data-theme="dark"] .gsc-results-wrapper-nooverlay,
html[data-theme="dark"] .gsc-webResult.gsc-result {
  background: var(--color-surface) !important;
  background-color: var(--color-surface) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}

html[data-theme="dark"] .gsc-input-box input.gsc-input {
  background: var(--color-surface) !important;
  background-color: var(--color-surface) !important;
  color: var(--color-text) !important;
  border-bottom-color: var(--color-border-strong) !important;
}

html[data-theme="dark"] .gsc-input-box input.gsc-input::placeholder {
  color: var(--color-text-muted) !important;
}

/* Dark mode search clear/cross icon */
html[data-theme="dark"] .gsst_a .gscb_a,
html[data-theme="dark"] .gsst_b,
html[data-theme="dark"] .gsc-clear-button {
  filter: invert(1) !important;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .gsc-control-cse,
  html:not([data-theme="light"]) .gsc-control-cse table,
  html:not([data-theme="light"]) .gsc-control-cse td,
  html:not([data-theme="light"]) .gsc-input-box,
  html:not([data-theme="light"]) .gsc-results-wrapper-overlay,
  html:not([data-theme="light"]) .gsc-results-wrapper-nooverlay,
  html:not([data-theme="light"]) .gsc-webResult.gsc-result {
    background: var(--color-surface) !important;
    background-color: var(--color-surface) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text) !important;
  }

  html:not([data-theme="light"]) .gsc-input-box input.gsc-input {
    background: var(--color-surface) !important;
    background-color: var(--color-surface) !important;
    color: var(--color-text) !important;
    border-bottom-color: var(--color-border-strong) !important;
  }

  html:not([data-theme="light"]) .gsst_a .gscb_a,
  html:not([data-theme="light"]) .gsst_b,
  html:not([data-theme="light"]) .gsc-clear-button {
    filter: invert(1) !important;
  }
}
