/* ==========================================================================
   Bonaventure Portfolio — bv-accordion.css
   Accordion widget. Flush Nexcess Edge CDN after updating.
   ========================================================================== */

:root {
  --bva-gold:      #DCB064;
  --bva-charcoal:  #26262D;
  --bva-white:     #ffffff;
  --bva-serif:     "scotch-text", "Playfair Display", Georgia, serif;
  --bva-sans:      "rival-sans",  "Jost", system-ui, sans-serif;
  --bva-transition:0.25s ease;
}

.bva-wrap { width: 100%; }

.bva-list { width: 100%; }

/* ── Item ─────────────────────────────────────────────────────────────────── */
.bva-item {
  border-bottom: 1px solid rgba(220,176,100,.25);
  padding:       8px 0;
}

.bva-list .bva-item:first-child {
  border-top: 1px solid rgba(220,176,100,.25);
}

/* ── Trigger ──────────────────────────────────────────────────────────────── */
.bva-trigger {
  width:           100%;
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  padding:         18px 4px;
  background:      none;
  border:          none;
  cursor:          pointer;
  text-align:      left;
  font-family:     var(--bva-serif);
  font-size:       18px;
  font-weight:     400;
  color:           var(--bva-white);
  user-select:     none;
  transition:      color var(--bva-transition);
  line-height:     1.3;
}

.bva-trigger:hover { color: var(--bva-gold); }

.bva-item.is-open .bva-trigger { color: var(--bva-gold); }

.bva-title { flex: 1; }

/* ── Icon ─────────────────────────────────────────────────────────────────── */
.bva-icon {
  flex-shrink: 0;
  font-size:   24px;
  font-weight: 300;
  color:       var(--bva-gold);
  line-height: 1;
  width:       1em;
  text-align:  center;
  position:    relative;
}

/* Show open icon by default, hide close icon.
   !important + .bva-wrap specificity beats Elementor/theme resets. */
.bva-wrap .bva-icon-open  { display: inline !important; }
.bva-wrap .bva-icon-close { display: none   !important; }

.bva-wrap .bva-item.is-open .bva-icon-open  { display: none   !important; }
.bva-wrap .bva-item.is-open .bva-icon-close { display: inline !important; }

/* ── Panel ────────────────────────────────────────────────────────────────── */
.bva-panel {
  display:    grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s ease;
  overflow:   hidden;
}

.bva-item.is-open .bva-panel {
  grid-template-rows: 1fr;
}

/* Inner wrapper needed for grid-template-rows animation */
.bva-answer {
  overflow:    hidden;
  padding:     0 4px 20px;
  font-family: var(--bva-sans);
  font-size:   17px;
  font-weight: 300;
  line-height: 1.75;
  color:       rgba(255,255,255,.6);
}

.bva-answer p + p { margin-top: 12px; }

.bva-answer a {
  color:           var(--bva-gold);
  text-decoration: underline;
}

.bva-empty {
  color:       rgba(255,255,255,.4);
  font-family: var(--bva-sans);
  font-size:   14px;
  padding:     24px 0;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .bva-trigger { font-size: 17px; }
  .bva-answer  { font-size: 16px; }
}

@media (max-width: 480px) {
  .bva-trigger {
    font-size: 15px;
    padding:   12px 4px;
    gap:       12px;
  }

  .bva-icon   { font-size: 20px; }
  .bva-answer { font-size: 14px; padding-bottom: 16px; }
}
