/* Scoped to the FAQ module; use the Garden Gnome theme's fonts and colours. */
.gg-faq, .gg-faq-page {
  --faq-accent: #e5310e;
  --faq-ink: #333;
  --faq-line: #e5e5e5;
  color: var(--faq-ink);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
.gg-faq { margin: 1.75rem 0 3rem; }
/* The site's page template adds horizontal padding to a 100%-wide main. */
.gg-faq-host main.site-main, .gg-faq-page { box-sizing: border-box; }
.gg-faq-host #h-frequently-asked-questions { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.2; }
.gg-faq [hidden] { display: none !important; }
.gg-faq-tools { display: flex; align-items: flex-end; gap: 1.5rem; margin-bottom: 1.5rem; }
.gg-faq-search { flex: 1; min-width: 0; }
.gg-faq-search label { display: block; font-weight: 500; margin-bottom: .4rem; }
.gg-faq .gg-faq-search input {
  width: 100%; min-height: 48px; padding: .7rem 1rem;
  border: 1px solid #aaa; border-radius: 7px; background: #fff;
  color: var(--faq-ink); font: inherit;
}
.gg-faq .gg-faq-expand {
  min-height: 48px; padding: .65rem 1.25rem; white-space: nowrap;
  border: 1px solid var(--faq-accent); border-radius: 7px; background: #fff;
  color: var(--faq-accent); font: inherit; cursor: pointer;
}
.gg-faq .gg-faq-expand:hover { background: #fff4f0; }
.gg-faq-categories { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 2.4rem; }
.gg-faq .gg-faq-categories a, .gg-faq-page .gg-faq-categories a {
  display: inline-block; padding: .35rem .9rem; border: 1px solid var(--faq-line);
  border-radius: 7px; background: #f7f7f7; color: var(--faq-ink); text-decoration: none;
  font-size: .9375rem;
}
.gg-faq-categories a:hover { border-color: var(--faq-accent); color: var(--faq-accent); background: #fff; }
.gg-faq .gg-faq-group { margin-bottom: 2.75rem; scroll-margin-top: 100px; }
.gg-faq .gg-faq-group h2 {
  font-family: "Isidora Sans Bold", sans-serif; font-size: 1.5rem; font-weight: 400;
  color: var(--faq-ink); margin: 0 0 1rem; line-height: 1.3;
}
.gg-faq-item { border-bottom: 1px solid var(--faq-line); scroll-margin-top: 100px; }
.gg-faq-item:first-of-type { border-top: 1px solid var(--faq-line); }
.gg-faq-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  list-style: none; padding: 1rem .4rem; color: var(--faq-ink);
  cursor: pointer; font-size: 1.0625rem; font-weight: 500; line-height: 1.5;
}
.gg-faq-item summary::-webkit-details-marker { display: none; }
.gg-faq-item summary:hover, .gg-faq-item[open] summary { color: var(--faq-accent); }
.gg-faq-item[open] { background: #fcfcfc; }
.gg-faq-icon { position: relative; flex: 0 0 16px; height: 16px; color: var(--faq-accent); margin-right: .25rem; }
.gg-faq-icon::before, .gg-faq-icon::after { content: ""; position: absolute; background: currentColor; border-radius: 1px; }
.gg-faq-icon::before { width: 16px; height: 2px; top: 7px; left: 0; }
.gg-faq-icon::after { width: 2px; height: 16px; top: 0; left: 7px; }
.gg-faq-item[open] .gg-faq-icon::after { display: none; }
.gg-faq-answer { overflow-wrap: anywhere; }
.gg-faq-item .gg-faq-answer { padding: 0 2.5rem 1.25rem .4rem; }
.gg-faq-answer img, .gg-faq-answer video { max-width: 100%; height: auto; }
.gg-faq-answer iframe { max-width: 100%; }
.gg-faq-answer a { color: #bc2b0b; text-decoration: underline; text-underline-offset: .15em; }
.gg-faq-answer p { margin: 0 0 .8rem; }
.gg-faq .gg-faq-permalink { margin: 1rem 0 0; font-size: .8125rem; }
.gg-faq-permalink a { color: #666; }
.gg-faq-results, .gg-faq-empty { color: #666; }
.gg-faq :focus-visible, .gg-faq-page :focus-visible { outline: 2px solid var(--faq-accent); outline-offset: 4px; }
.gg-faq-page { max-width: 1000px; padding: 2rem 24px 4rem; margin: 0 auto; min-height: 55vh; }
.gg-faq-page h1 { font-family: "Isidora Sans Bold", sans-serif; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.2; margin: 1.5rem 0; }
.gg-faq-breadcrumb { font-size: .9375rem; }
.gg-faq-breadcrumb a { color: #bc2b0b; }
.gg-faq-single > .gg-faq-categories { margin-top: 2rem; }
@media (max-width: 600px) {
  .gg-faq-tools { flex-wrap: wrap; gap: .75rem; }
  .gg-faq-search { flex-basis: 100%; }
  .gg-faq .gg-faq-expand { min-height: 44px; padding: .45rem 1rem; }
  .gg-faq-categories { gap: .4rem; }
  .gg-faq-item summary { font-size: 1rem; gap: 1rem; }
  .gg-faq-item .gg-faq-answer { padding-right: .4rem; }
  .gg-faq-page { padding: 1.25rem 20px 3rem; }
}
