/* ===== Color variables ===== */
:root {
  --color-gold-tint: #F5EDDE;
  --color-gold: #BE830E;
  --color-black: #000;
  --color-white: #FFFFFF;
}

/* ===== Accordion wrapper ===== */
.lb-accordion-wrapper {
  display: block;
}

/* Add spacing between accordion blocks */
.lb-accordion-block {
  margin-bottom: 0.85rem;
}

.lb-accordion-block:last-child {
  margin-bottom: 0;
}

/* ===== Accordion item ===== */
.lb-accordion-item {
  border: 0;
  margin: 10px 0;
  background: transparent;
}

/* ===== Header (summary) ===== */
.lb-accordion-item-header {
  margin: 0 !important;
  background: var(--color-gold-tint) !important;
  border: none;
  text-transform: initial !important;
  display: block;
  cursor: pointer;
  position: relative;
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.4;
  padding: 1.15rem 3.25rem 1.15rem 1.1rem;
  min-height: 0;
  list-style: none;
  border-radius: 0;
}

/* Hide native disclosure triangle */
.lb-accordion-item-header::-webkit-details-marker {
  display: none;
}

/* ===== Icon (Font Awesome if present; otherwise fallback) ===== */
.lb-accordion-item-header::after {
  content: "\f067";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", Arial, Helvetica, sans-serif;
  font-weight: 900;
  color: var(--color-gold);
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
  font-size: 1rem;
}

/* Fallback if FA isn't loaded */
@supports not (font-variant-ligatures: common-ligatures) {
  .lb-accordion-item-header::after {
    content: "+";
    font-weight: 700;
    font-family: Arial, Helvetica, sans-serif;
  }
}

/* Open state icon */
.lb-accordion-item[open] > .lb-accordion-item-header::after {
  content: "\f068";
}

@supports not (font-variant-ligatures: common-ligatures) {
  .lb-accordion-item[open] > .lb-accordion-item-header::after {
    content: "–";
  }
}

/* Open state header */
.lb-accordion-item[open] > .lb-accordion-item-header {
  color: var(--color-black);
}

/* ===== Content panel ===== */
.lb-accordion-item-content {
  border: 2px solid var(--color-gold-tint);
  border-top: 0;
  padding: 1rem 1.1rem;
  background: var(--color-white);
  margin-top: 0;
}

/* Clean up content spacing */
.lb-accordion-item-content > *:first-child {
  margin-top: 0;
}

.lb-accordion-item-content > *:last-child {
  margin-bottom: 0;
}

/* ===== Gold tint background variant ===== */
.bg-gold-tint .lb-accordion-wrapper .lb-accordion-item-header {
  background: var(--color-white) !important;
  border: none !important;
}

.bg-gold-tint .lb-accordion-wrapper .lb-accordion-item-content {
  border: none;
  margin-top: 3px;
  background: var(--color-white);
}

/* Level 2 nested accordions */
.bg-gold-tint .accordion-level-2 .lb-accordion-block {
  margin-bottom: 0.75rem;
}

.bg-gold-tint .accordion-level-2 .lb-accordion-item-header {
  border: 2px solid var(--color-gold-tint) !important;
  background: var(--color-white) !important;
}

.bg-gold-tint .accordion-level-2 .lb-accordion-item-content {
  border: 2px solid var(--color-gold-tint) !important;
  border-top: 0 !important;
  margin-top: 0;
}

/* ===== Region-agnostic adjustments ===== */
:where(.lb-accordion-section, .layout__region, .layout-builder__region) .bg-white {
  background: transparent !important;
}

:where(.lb-accordion-section, .layout__region, .layout-builder__region) .bg-white details > .lb-accordion-item-header {
  background: var(--color-white) !important;
}

:where(.lb-accordion-section, .layout__region, .layout-builder__region) .bg-white details > .lb-accordion-item-content {
  background: var(--color-white) !important;
  margin-top: 3px !important;
  border-top: 0;
}

/* ===== Focus styles ===== */
.lb-accordion-item-header:focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 2px;
}

/* ===== Optional hover polish ===== */
.lb-accordion-item-header:hover {
  filter: brightness(0.98);
}

/* ===== Prevent accidental extra spacing from nested wrappers ===== */
.lb-accordion-wrapper .lb-accordion-wrapper {
  margin-bottom: 0;
}

/* ===== Responsive tweaks ===== */
@media (max-width: 767px) {
  .lb-accordion-item-header {
    font-size: 1rem;
    padding: 1rem 3rem 1rem 1rem;
  }

  .lb-accordion-item-header::after {
    right: 16px;
  }

  .lb-accordion-item-content {
    padding: 0.95rem 1rem;
  }
}