/* Ensure this component uses a block flow (not flex/float) */
.tfhs-toggle {
  display: block;
  width: 100%;
}

/* Defensive clear in case parent rows/columns use floats */
.tfhs-toggle::after {
  content: "";
  display: block;
  clear: both;
}

/* --- FORCE VERTICAL STACK regardless of Avada wrapper behavior --- */
.fusion-builder-row .tfhs-toggle,
.fusion-flex-container .tfhs-toggle,
.tfhs-toggle {
  display: block !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

.tfhs-toggle-item {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

.tfhs-toggle-item {
  border-bottom: 1px solid #DDDDDD;
}

/* --- Heading wrapper (real heading level for screen reader nav) --- */
.tfhs-toggle-header {
  margin: 0;
}

/* --- Trigger button --- */
.tfhs-toggle-trigger {
  appearance: none;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0.85rem 0;
  font: inherit;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  line-height: 1.3;
  color: inherit;
}

/* Focus visibility for WCAG AA */
.tfhs-toggle-trigger:focus,
.tfhs-toggle-trigger:focus-visible {
  outline: 2px solid #4a5e2b;
  outline-offset: 2px;
}

/* --- Icon: plus/minus square --- */
.tfhs-toggle-icon {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 3px;
  background: #4a5e2b;
}

.tfhs-toggle-icon::before,
.tfhs-toggle-icon::after {
  content: "";
  position: absolute;
  background: #fff;
  top: 50%;
  left: 50%;
}

/* horizontal bar */
.tfhs-toggle-icon::before {
  width: 12px;
  height: 2px;
  transform: translate(-50%, -50%);
}

/* vertical bar, hidden when expanded to leave just the minus */
.tfhs-toggle-icon::after {
  width: 2px;
  height: 12px;
  transform: translate(-50%, -50%);
}

.tfhs-toggle-trigger[aria-expanded="true"] .tfhs-toggle-icon {
  background: #1A1A1A;
}

.tfhs-toggle-trigger[aria-expanded="true"] .tfhs-toggle-icon::after {
  display: none;
}

/* --- Panel: animated expand/collapse via CSS grid rows --- */
.tfhs-toggle-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.25s ease;
}

.tfhs-toggle-panel.is-open {
  grid-template-rows: 1fr;
}

.tfhs-toggle-panel-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 0 0 0;
}

@media (prefers-reduced-motion: reduce) {
  .tfhs-toggle-panel {
    transition: none;
  }
}

/* Table colors inside toggle panels */
.tfhs-toggle-panel table thead {
  background-color: #F4F3EF !important;
  border-color: #F4F3EF !important;
}

.tfhs-toggle-panel table th {
  color: #000 !important;
}

.tfhs-toggle-panel .fusion-content-boxes {
  margin-bottom: 0 !important;
}

.tfhs-toggle-panel .fusion-content-boxes .fusion-column {
  margin-bottom: 20px !important;
}

.tfhs-toggle-panel p.content-box-heading {
  font-weight: bold !important;
}