/* Readable, responsive rate tables and grouped pricing FAQs. */
.pricing-section { box-sizing: border-box; max-width: 800px; margin: 15px auto; padding: 0 12px; scroll-margin-top: 20px; }
html body :is(#short-term-pricing, #video-pricing, #additional-editing, section[aria-labelledby="choosing-time-lapse"]) { text-align: center; }
html body :is(#short-term-pricing, #video-pricing) .pricing-table { text-align: center; }
html body .pricing-section h2 { color: #ffcc00; }
#video-pricing > h2 { margin: 0; }
#video-pricing > .pricing-table-wrap { margin-top: 0; }
#additional-editing > p:first-child { margin-top: 0; }
.pricing-table-wrap { overflow-x: auto; margin: 15px auto; }
.pricing-table { width: 100%; border-collapse: collapse; text-align: left; line-height: 1.5; }
.pricing-table caption { color: #eee; font-weight: bold; padding: 12px; text-align: center; }
.pricing-table th, .pricing-table td { border: 1px solid #555; padding: 12px; vertical-align: top; }
.pricing-table thead th { color: #ffcc00; background: #171717; }
.pricing-table tbody th { font-weight: normal; }
.pricing-table td { color: #fff; }
.pricing-faq-group { margin: 24px auto; }
.pricing-faq-group > h3 { color: #ffcc00; }
.pricing-faq-group .faq-item summary { text-align: left; line-height: 1.5; }
.pricing-faq-group .faq-item summary:focus-visible { outline: 2px solid #ffcc00; outline-offset: 5px; }
.pricing-faq-group .faq-item p { max-width: none; line-height: 1.5; }
.pricing-faq-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin: 15px auto; }
.pricing-faq-nav a { padding: 8px 12px; border: 1px solid #66531c; border-radius: 5px; }
html body #additional-editing p { text-align: center !important; }
/* Centre the pricing copy and figures; keep FAQ questions and answers left-aligned. */
html body.project-page main p:not(.faq-item p) { text-align: center !important; }
html body.project-page .pricing-table :is(th, td) { text-align: center; }
@media (max-width: 480px) {
  .pricing-table th, .pricing-table td { padding: 8px 6px; font-size: .86rem; }
}
