/* Scope everything under .pricing-block */
.pricing-block {
  margin: 2rem auto;
  max-width: 1000px;
  font-family: inherit;
}

/* ---------- Tabs ---------- */
.pricing-block__tab-buttons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.pricing-block__tab-buttons button {
  padding: 0.5rem 1rem;
  border: 1px solid var(--bs-primary-dark);
  background: #f7f7f7;
  cursor: pointer;
  font-weight: 600;
  border-radius: 4px;
}
.pricing-block__tab-buttons button.active {
  background: var(--bs-primary);
  color: #fff;
  border: 2px solid var(--bs-primary-dark);
}

/* ---------- Layout ---------- */
.pricing-block__tab-content {
  display: none;
  gap: 2rem;
  flex-wrap: wrap;
}
.pricing-block__column {
  flex: 1 1 300px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}
.pricing-block__column h3 {
  font-size: 1.3em;
  font-weight: 400;
  text-align: center;
}
.pricing-block__column h4 {
  font-size: 1.2em;
  font-weight: 400;
  text-align: center;
}

/* ---------- Left column (estimate list) ---------- */
.pricing-block__estimate-list {
  list-style: none;
  padding: 1rem;
  margin: 1rem 0;
  border: 1px solid var(--bs-primary-dark);
  border-radius: 8px;
  background: var(--bs-primary-light-opaque, #f8f9fa);
  text-align: center;
}
.pricing-block__estimate-list li {
  margin-bottom: 1.85rem;
  font-size: 1.2em;
}
.estimate-group { font-size: 1.5rem; font-weight: 400; color: var(--bs-primary-ultradark); }
.estimate-price { font-size: 2rem; font-weight: 500; color: var(--bs-primary-ultradark); }
.estimate-label { font-size: 0.9rem; color: #666; }
.estimate-link { font-size: 1rem; }
.pricing-block__note { margin-top: 1rem; font-size: 0.9rem; color: #555; }

/* ---------- Right column (accordion clone of Astro) ---------- */
.pricing-item {
  border: 1px solid var(--bs-primary);
  border-radius: 6px;
  margin-bottom: 0.75rem;
  overflow: hidden;
  background: #fff;
}

/* Header row */
.pricing-summary {
  display: flex;
  align-items: center;   /* center everything vertically */
  cursor: pointer;
  font-weight: 600;
  padding: 0.75rem 1.25rem;
  transition: border-color 0.2s;
}

/* Summary text expands so caret gets pushed flush right */
.pricing-summary .summary-text {
  flex: 1;
}

/* Checkmark left */
.pricing-summary .check-icon::before {
  content: '\f058';
  font-family: 'Font Awesome 5 Free';
  font-weight: 400;
  font-size: 0.85em;
  color: var(--bs-primary-ultradark);
  margin-right: 0.75rem;
  line-height: 1;
  position: relative;
  top: 0.15em; /* nudge */
}

/* Caret right (always orange, flush right) */
.pricing-summary .caret::before {
  content: '\f078';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 0.85em;
  margin-left: auto;     /* forces caret to far right */
  color: #e85c27;
  transition: transform 0.2s;
}

/* Open state */
.pricing-item.open {
  border-color: #e85c27;
}
.pricing-item.open .caret::before {
  transform: rotate(180deg);
}

/* Body */
.pricing-body {
  display: none;
  padding: 0rem 1rem ;
  color: #555;
  line-height: 1.5;
  border-top: 1px solid #eee;
  background: #fff;
}
.pricing-item.open .pricing-body {
  display: block;
}




/* xl Extra large screens (≥1200px and up to <1400px) */
@media (max-width: 1399.98px) {
    
}

/* lg Large screens (≥992px and up to <1200px) */
@media (max-width: 1199.98px) {
}

/* md Medium screens (tablets, ≥768px and up to <992px) */
@media (max-width: 991.98px) {
}

/* sm Small screens (landscape phones, ≥576px and up to <768px) */
@media (max-width: 767.98px) {

.pricing-block__column {
  padding: 0.5rem;
}
}

/* xs Extra small screens (portrait phones, <576px) */
@media (max-width: 575.98px) {
}