/* IBB Accord GPT – shared styles */

.ibb-accord-gpt-accordion {
  --ibb-accord-gpt-radius: 8px;
  --ibb-accord-gpt-border: 1px solid #e2e8f0; /* slate-200 */
  --ibb-accord-gpt-bg: #ffffff;
  --ibb-accord-gpt-header-bg: #f8fafc; /* slate-50 */
  --ibb-accord-gpt-header-bg-hover: #f1f5f9; /* slate-100 */
  --ibb-accord-gpt-header-bg-active: #e2e8f0; /* slate-200 */
  --ibb-accord-gpt-text: #0f172a; /* slate-900 */
  --ibb-accord-gpt-subtle: #64748b; /* slate-500 */
}

.ibb-accord-gpt-accordion {
  border: var(--ibb-accord-gpt-border);
  border-radius: var(--ibb-accord-gpt-radius);
  background: var(--ibb-accord-gpt-bg);
  overflow: hidden;
}

.ibb-accord-gpt-section + .ibb-accord-gpt-section {
  border-top: var(--ibb-accord-gpt-border);
}

.ibb-accord-gpt-header {
  width: 100%;
  text-align: left;
  padding: 14px 48px 14px 16px;
  background: var(--ibb-accord-gpt-header-bg);
  color: var(--ibb-accord-gpt-text);
  border: 0;
  margin: 0;
  display: block;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: inherit;
  cursor: pointer;
  position: relative;
  border-radius: 0;
}

.ibb-accord-gpt-header:hover,
.ibb-accord-gpt-header:focus {
  background: var(--ibb-accord-gpt-header-bg-hover);
  outline: none;
}

/* Indicator: plus/minus */
.ibb-accord-gpt-header::before {
  content: '+';
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  font-weight: 700;
  color: inherit;
}

.ibb-accord-gpt-accordion[data-icon-pos="left"] .ibb-accord-gpt-header {
  padding: 14px 16px 14px 48px;
}

.ibb-accord-gpt-accordion[data-icon-pos="left"] .ibb-accord-gpt-header::before {
  left: 16px;
  right: auto;
}

.ibb-accord-gpt-header[aria-expanded="true"] {
  background: var(--ibb-accord-gpt-header-bg-active, var(--ibb-accord-gpt-header-bg));
}

.ibb-accord-gpt-header[aria-expanded="true"]::before {
  content: '−';
}

.ibb-accord-gpt-panel {
  padding: 14px 16px 16px 16px;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.ibb-accord-gpt-panel > *:first-child { margin-top: 0; }
.ibb-accord-gpt-panel > *:last-child { margin-bottom: 0; }

/* Help smooth scrolling land below fixed headers on some browsers */
.ibb-accord-gpt-header { scroll-margin-top: 150px; }

@media (max-width: 768px) {
  .ibb-accord-gpt-header { scroll-margin-top: 150px; }
}
