/* Core blocks retain the existing Bergundbach typography and house colours. */
.bub-native-prices {
  max-width: 860px;
  margin: 2rem auto 0;
  padding: 0 1rem;
  font-family: "Manrope", sans-serif;
  color: var(--bub-text-body);
}
.bub-native-prices p { margin: 0 0 1.25rem; line-height: 1.7; }
.bub-native-prices h3 { margin: 2rem 0 1rem; font-size: 1.35rem; }
.bub-native-prices .bub-native-price-table { margin: 1rem 0 1.5rem; }
.bub-native-prices .bub-native-price-table table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.bub-native-prices .bub-native-price-table th, .bub-native-prices .bub-native-price-table td {
  padding: .85rem .65rem;
  border: 0;
  border-bottom: 1px solid var(--bub-line, #d8dbd0);
  text-align: left;
  vertical-align: top;
  line-height: 1.55;
}
.bub-native-prices .bub-native-price-table th { color: var(--bub-dark); font-weight: 600; }
.bub-native-prices .bub-native-price-table thead { border: 0; }
.bub-native-prices .bub-native-price-table td:not(:first-child) { font-weight: 600; color: var(--bub-accent); }
.bub-native-details { margin: 0; border-bottom: 1px solid var(--bub-line, #d8dbd0); }
.bub-native-details > summary { cursor: pointer; padding: 1rem 0; color: var(--bub-dark); font-weight: 600; line-height: 1.6; }
.bub-native-details > summary:focus-visible { outline: 2px solid var(--bub-accent); outline-offset: 4px; }
.bub-native-details > p { margin: .5rem 0 1.25rem; line-height: 1.7; }
.bub-native-details .wp-block-table { margin-top: .25rem; }
.bub-native-features .bub-feature-card { margin: 0; min-width: 0; }
.bub-native-features .bub-feature-list { margin-top: 1rem !important; }
@media (max-width: 600px) {
  .bub-native-prices { padding: 0 1rem; }
  .bub-native-prices .bub-native-price-table table { font-size: .83rem; }
  .bub-native-prices .bub-native-price-table th, .bub-native-prices .bub-native-price-table td { padding: .7rem .35rem; overflow-wrap: anywhere; }
  .bub-native-prices .bub-native-price-table th:first-child, .bub-native-prices .bub-native-price-table td:first-child { padding-left: 0; }
  .bub-native-features { grid-template-columns: minmax(0, 1fr); }
}

.bub-native-prices .bub-native-details + p { margin-top: 1.25rem; }

/* Classic themes add this wrapper when rendering core/group blocks. */
.bub-native-features > .wp-block-group__inner-container { display: contents; }

/* Open, chronological prices: current stays first, no seasonal accordions. */
.bub-native-prices .bub-wide-price-table { overflow-x: auto; }
.bub-native-prices .bub-wide-price-table table { min-width: 760px; }
.bub-native-prices .bub-wide-price-table th:first-child { width: 205px; }
.bub-native-prices .bub-wide-price-table th:nth-child(2) { min-width: 110px; }
.bub-native-prices .bub-native-price-table td:not(:first-child) { white-space: nowrap; }
.bub-native-prices .bub-native-price-table th:not(:first-child) { white-space: nowrap; overflow-wrap: normal; }
.bub-native-prices .bub-table-scroll-hint { display: none; }
@media (max-width: 800px) {
  .bub-native-prices .bub-table-scroll-hint { display: block; font-size: .8rem; margin-bottom: .5rem; }
}

/* A restrained emphasis for longer-stay savings, in the existing house colour. */
.bub-native-prices p.bub-price-discount { margin: 1.25rem 0; color: var(--bub-accent); }
.bub-native-prices p.bub-price-discount strong { font-weight: 700; }
.bub-native-prices .bub-local-tax { margin-bottom: 2rem; }
