/* -------------- Buttons -------------- */

.btn {
  --btn-bg: var(--ocean);
  --btn-fg: var(--white);
  display: inline-flex; 
  align-items: center; 
  justify-content: center;
  gap: .5em;
  padding: .65rem 1rem;
  border-radius: var(--radius);
  background: var(--btn-bg);
  color: var(--btn-fg);
  border: 0;
  box-shadow: var(--shadow-1);
  text-decoration: none;
  font-weight: 600;
}

.btn:hover { filter: brightness(0.95); }
.btn--secondary { --btn-bg: var(--green); }
.btn--danger    { --btn-bg: var(--red); }

.fl-button a {
  --btn-bg: var(--ocean);
  --btn-fg: var(--white);
  display: inline-flex; 
  align-items: center; 
  justify-content: center;
  gap: .5em;
  padding: .65rem 1rem;
  border-radius: var(--radius);
  background: var(--btn-bg);
  color: var(--btn-fg);
  border: 0;
  box-shadow: var(--shadow-1);
  text-decoration: none;
  font-weight: 600;
}

.fl-button a:hover {	background-color: var(--sky); }



/* --------------- Accordions --------------- */

/* Add gap between accordion items when closed */
.fl-accordion .fl-accordion-item {
  margin-bottom: 6px;
  transition: margin-bottom 0.2s ease;
/*   box-shadow: 0px 1px 1px rgba(0,0,0,0.15); */
  background-color: #ffffff;
}
/* Remove extra spacing when expanded */
.fl-accordion .fl-accordion-item .fl-accordion-content.open {
  margin-bottom: 0;
}

/* Accordion button */
.fl-accordion .fl-accordion-button,
.fl-accordion .fl-accordion-button:focus,
.fl-accordion .fl-accordion-button:active,
.fl-accordion .fl-accordion-button.open:focus,
.fl-accordion .fl-accordion-button.open:active,
.fl-accordion .fl-accordion-button:focus-visible {
  display: flex;
  align-items: center;
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  border: none;
  background: #ffffff;
  text-align: left;
  text-transform: uppercase;
  position: relative;
  padding-right: 2rem;
  cursor: pointer;
}

.fl-accordion-button-label {
  color: var(--denim) !important;
  font-size: 1rem;
  font-family: 'Noto Sans', sans-serif;
  font-weight: 600;
  line-height: 1em;
/*   text-transform: uppercase; */
  margin: 0 !important;
  padding: 0 !important;
  transition: all 0.5s ease;
}

.fl-accordion-button-label:hover {
  color: var(--sky) !important;
}

/* Accordion content area */
.fl-accordion .fl-accordion-content {
  background: #ffffff;
  font-family: 'Noto Sans', sans-serif;
  font-size: 1rem;
  color: var(--text-color);
  border: none;
  display: none;
  margin-bottom: 4px;
}

/* Accessible keyboard focus style */
.fl-accordion:focus,
.fl-accordion a:focus,
.fl-accordion select:focus {
  outline: none;
}