/* Plan listings */
.listing-actions { display:flex; flex-wrap:wrap; gap:.5rem; width:100%; }
.listing-actions .btn { flex:1 1 7rem; min-height:44px; padding:.6rem .75rem; font-size:1rem; white-space:normal; text-align:center; overflow-wrap:anywhere; }
.listing-actions .listing-buy { background-color:var(--color-accent-dark); }
.listing-actions .listing-buy:hover { background-color:color-mix(in srgb,var(--color-accent-dark) 90%,#000); }
.listing-card-footer { display:flex; flex-direction:column; align-items:stretch; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--border-color); }
.listing-card-footer .price-block { display:flex; flex-wrap:wrap; width:100%; }
.listing-card-footer .price-block > :first-child { flex:0 0 auto; white-space:nowrap; }
.listing-card-footer .price-stack { flex:1 1 0; min-width:min-content; flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:.55rem; }
.listing-tail { margin-top:1.5rem; }
.listing-tail > summary { min-height:48px; display:flex; align-items:center; justify-content:center; padding:.8rem 1rem; border:1px solid var(--border-color); border-radius:1rem; background:var(--bg-card); color:var(--text-primary); font-weight:600; cursor:pointer; list-style:none; text-align:center; }
.listing-tail > summary::-webkit-details-marker { display:none; }
.listing-tail > summary:focus-visible, .listing-actions a:focus-visible { outline:3px solid rgb(var(--color-primary-500)); outline-offset:3px; }
.listing-tail .listing-less, .listing-tail[open] .listing-more { display:none; }
.listing-tail[open] .listing-less { display:inline; }
.listing-tail[open] > .grid { margin-top:1.5rem; }
.listing-tail[open] .reveal { opacity:1; transform:none; }
.listing-offers { display:none; }
.pfb-option-count { font-variant-numeric:tabular-nums; font-size:.8em; margin-left:.3rem; }
.pfb-seg-btn:disabled, .pfb-inc:disabled, .pfb-apply:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.listing-geo .geo-answer-text { font-size:1rem; }
.listing-geo .geo-answer-toggle { min-width:44px; min-height:44px; font-size:1rem; }
@media (max-width:767px) {
  .listing-offers { display:block; margin-top:1.25rem; }
  .listing-offers > h2 { font-size:1rem; margin:0 0 .65rem; }
  .listing-offer-rows { display:grid; gap:.6rem; }
  .listing-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.5rem .75rem; padding:.8rem; border:1px solid var(--border-color); border-radius:1rem; background:var(--bg-card); color:var(--text-primary); }
  .listing-offer-spec h3 { font-size:1rem; margin:0; line-height:1.4; overflow-wrap:anywhere; }
  .listing-offer-spec p { font-size:1rem; color:var(--text-secondary); margin:0; }
  .listing-offer-price { align-self:center; text-align:right; }
  .listing-price { font-size:1.25rem; font-weight:700; }
  .listing-offer .listing-actions { grid-column:1 / -1; }
  .listing-hero .hd-id-cta { gap:.4rem; }
  .listing-hero .hd-id-cta .btn { font-size:.875rem; padding:.55rem .7rem; min-height:44px; }
  .listing-hero .hd-sub { font-size:1rem; }
  .listing-geo:not(.is-open) .geo-answer-text { display:-webkit-box; -webkit-line-clamp:var(--listing-geo-lines,2); line-clamp:var(--listing-geo-lines,2); -webkit-box-orient:vertical; overflow:hidden; }
  .listing-geo .geo-answer-toggle { display:inline-block; }
  .listing-geo[data-unclamped] .geo-answer-text { display:block; overflow:visible; }
  .listing-geo[data-unclamped] .geo-answer-toggle { display:none; }
}
