/* Package comparison, in the real estate site's existing brand system. */
.re-pricing { scroll-margin-top: calc(var(--re-nav-h) + 20px); }
.re-package-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 36px 0 24px; }
.re-package-card { min-width: 0; background: var(--re-surface); border: 1px solid var(--re-line); border-radius: 12px; padding: 26px 22px; }
.re-package-card h3 { font-family: var(--re-font-display); font-size: 2rem; font-weight: 400; line-height: 1; letter-spacing: .02em; margin: 0 0 12px; }
.re-package-description { font-size: .9rem; line-height: 1.5; color: var(--re-ink-soft); min-height: 4.5em; margin: 0 0 22px; }
.re-package-price { display: flex; align-items: baseline; gap: 9px; margin: 0; color: var(--re-ink-soft); font-size: .85rem; }
.re-package-price strong { font-family: var(--re-font-display); font-weight: 400; font-size: 3.25rem; line-height: 1; letter-spacing: .02em; color: var(--re-accent); }
.re-package-size { color: var(--re-ink-soft); margin: 8px 0 22px; font-size: .8rem; }
.re-package-includes { padding: 20px 0 0; margin: 0; list-style: none; border-top: 1px solid var(--re-line); font-size: .86rem; line-height: 1.5; }
.re-package-includes li { position: relative; padding-left: 19px; margin: 0 0 10px; }
.re-package-includes li:last-child { margin-bottom: 0; }
.re-package-includes li::before { content: '✓'; position: absolute; left: 0; color: var(--re-accent); }
.re-pricing-actions { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 24px; }
.re-pricing-contact { color: var(--re-ink-soft); text-underline-offset: 4px; font-size: .95rem; }
.re-pricing-contact:hover { color: var(--re-accent); }
.re-pricing-actions :focus-visible { outline: 2px solid var(--re-ink); outline-offset: 5px; }
.re-pricing-status[hidden], .re-offer[hidden] { display: none; }
.re-pricing .re-offer { margin-bottom: 0; }
@media (max-width: 1100px) { .re-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .re-package-description { min-height: 3em; } }
@media screen and (max-width: 1024px) {
  .re-package-grid { gap: 16px; margin-top: 28px; }
  .re-package-card { padding: 22px 18px; }
}
@media screen and (max-width: 600px) {
  .re-package-grid { grid-template-columns: 1fr; gap: 12px; margin: 24px 0 20px; }
  .re-package-card { padding: 20px; }
  .re-package-card h3 { font-size: 1.75rem; margin-bottom: 8px; }
  .re-package-description { min-height: 0; margin-bottom: 16px; }
  .re-package-price strong { font-size: 2.75rem; }
  .re-package-size { margin: 6px 0 16px; }
  .re-package-includes { padding-top: 16px; }
  .re-package-includes li { margin-bottom: 8px; }
  .re-pricing-actions { gap: 14px; margin-top: 20px; }
}

.re-package-recommended { border-color: var(--re-accent); }
.re-package-badge { display: inline-block; margin-top: 20px; padding: 5px 10px; border-radius: 4px; background: var(--re-bg); color: var(--re-accent); font-size: .8rem; font-weight: 600; }
@media screen and (max-width: 600px) { .re-package-badge { margin-top: 14px; } }
