/* ShareAI — For CPT — FAQs (auroral palette, manual accordion) */

/* ===== List ===== */
.sfaq-list{ display:flex; flex-direction:column; gap:16px; }

/* ===== Item ===== */
.sfaq{
  --sfaq-bg: rgba(255,255,255,.60);
  --sfaq-border: 1px solid rgba(17,24,39,.10);
  --sep-top: 0px;
  --sep-bottom: 0px;

  background: var(--sfaq-bg);
  border: var(--sfaq-border);
  border-radius: 12px;
  overflow: hidden;

  margin-top: var(--sep-top);
  margin-bottom: var(--sep-bottom);

  contain: paint;
  will-change: margin;
  transition: margin .25s ease;
}

/* ===== Header / Toggle ===== */
.sfaq__head{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 20px;
}
.sfaq__q{
  margin:0;
  font-weight:700;
  line-height:1.2;
  font-size: clamp(1.05rem, 0.5vw + 1rem, 1.25rem) !important;
  color:#2B2F31;
  background: #2B2F31;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* full-header click target (accessible) */
.sfaq__toggle{
  position:absolute; inset:0;
  width:100%; height:100%;
  background:transparent; border:0; cursor:pointer;
  text-indent:-9999px; /* visually invisible, but operable */
}

/* plus/minus icon */
.sfaq__icon{
  margin-left:auto;
  width:22px; height:22px; position:relative; flex:none;
}
.sfaq__icon::before,
.sfaq__icon::after{
  content:""; position:absolute; inset:0; margin:auto; width:100%; height:2px;
  background: linear-gradient(90deg, #83b8ff, #d0a5ff, #ffa6e9);
  border-radius:2px;
}
.sfaq__icon::after{ transform: rotate(90deg); transition: transform .25s ease; }
.sfaq[aria-collapsed="true"] .sfaq__icon::after{ transform: rotate(0deg); }

/* ===== Panel ===== */
.sfaq__panel{
  padding: 10px 20px 16px 20px;
}

/* Open-by-default fallback ONLY when JS hasn’t initialized yet */
.sfaq:not([data-sfaq-js="1"]) .sfaq__panel{
  min-height: 200px;
  max-height: none;
}

/* JS-managed transitions */
.sfaq[data-sfaq-js="1"] .sfaq__panel{
  overflow:hidden;
  transition:
    max-height .28s cubic-bezier(.22,1,.36,1),
    padding .22s ease;
}

/* Content */
.sfaq__panel-inner{
  color:#334155;
  line-height:1.7;
  font-size:0.995rem;
}
.sfaq__panel-inner p{ margin: 0.6em 0; }

/* Focus states */
.sfaq__toggle:focus-visible{
  outline: 2px solid #83b8ff;
  outline-offset: 2px;
  border-radius: 8px;
}
