/* Only the two broadband plan pages and Signup consume this stylesheet. */
.plans-stack .catalogue-gst{font-size:14px;margin:-12px 0 12px}
.plans-stack .catalogue-inclusive{font-size:14px;margin:0 0 16px}
.plans-stack .catalogue-averages{font-size:13px;line-height:1.5;margin:12px 0;overflow-wrap:anywhere}
.plans-stack .catalogue-error{padding:28px;line-height:1.6}
#plans-list[data-collection="business"]{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){#plans-list[data-collection="business"]{grid-template-columns:1fr}}
.catalogue-signup-status{padding:12px 0;font-size:14px;line-height:1.5}
.catalogue-signup-status:empty{display:none}
.selected-plan-card .catalogue-tax{font-size:13px;line-height:1.5;margin-top:8px}
.cart-card .catalogue-tax,.mobile-order-panel .catalogue-tax{font-size:13px;line-height:1.5;padding:10px 0;overflow-wrap:anywhere}

/* Compact mobile composition; retain the existing sticky offsets and boundaries. */
@media(max-width:640px){
  .plans-stack .plan-card{min-height:0;padding:20px 22px;justify-content:flex-start}
  .plans-stack .plan-name{font-size:26px;line-height:1.2;margin:6px 0 8px}
  .plans-stack .price{font-size:32px;line-height:1.2;margin:0}
  .plans-stack .catalogue-gst{font-size:14px;line-height:1.5;margin:4px 0 0}
  .plans-stack .catalogue-inclusive{font-size:13px;line-height:1.5;margin:4px 0 0}
  .plans-stack .catalogue-averages{font-size:13px;line-height:1.5;margin:10px 0 0}
  .plans-stack .plan-cta{min-height:46px;margin:14px 0 0;padding:12px 16px;line-height:22px}
}

/* Grid items may shrink to the available column; enlarged labels wrap. */
.plans-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.plans-stack .plan-card{min-width:0;overflow-wrap:anywhere}
@media(min-width:641px) and (max-width:900px){.plans-stack .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.plans-grid{grid-template-columns:minmax(0,1fr)}}

/* Keep pricing prominent above the nominal speed row and approved details. */
.plans-stack .plan-card{padding-top:20px;justify-content:flex-start}
.plans-stack .plan-name{margin-top:0;margin-bottom:12px}
.plans-stack .plan-card.light{background:#e1e6ed!important}
.plans-stack .catalogue-averages,.plans-stack .plan-inclusions{list-style:none;padding:14px 0 0;margin:0 0 14px;border-top:1px solid #cdd3dc;display:grid;gap:6px;text-align:left;font-size:13px;line-height:20px}
.plans-stack .dark .catalogue-averages,.plans-stack .dark .plan-inclusions{border-color:#363b43}
.plans-stack .catalogue-averages + .plan-inclusions{padding-top:0;border-top:0}
@media(min-width:641px){.plans-stack .plan-card{display:flex;flex-direction:column}.plans-stack .plan-cta{margin-top:auto}}
@media(max-width:640px){
 .plans-stack .catalogue-gst{margin-bottom:14px}
 .plans-stack .catalogue-inclusive{margin-top:-10px;margin-bottom:14px}
 .plans-stack .plan-cta{margin-top:0}
}

/* Large nominal tiers and small, decorative information icons. */
.plans-stack .plan-speeds{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:64px;margin:4px 0 16px}
.plans-stack .speed-metric{flex:0 0 auto;text-align:center}
.plans-stack .speed-value{font-size:32px;font-weight:600;line-height:1.2}
.plans-stack .speed-label{font-size:11px;line-height:1.5;margin-top:4px;color:#50545c}
.plans-stack .dark .speed-label{color:#c4c9d0}
.plans-stack .catalogue-averages li,.plans-stack .plan-inclusions li{display:flex;align-items:flex-start;gap:8px}
.plans-stack .plan-icon{width:16px;height:16px;flex:0 0 16px;margin-top:2px}
.plans-stack .plan-info-text{min-width:0}

/* Keep the four-column layout compact when average rows wrap. */
@media(min-width:901px) and (max-width:1200px){#plans-list[data-collection="residential"] .plan-card{padding:20px 20px 24px}}

@media(max-width:640px){.plans-stack .catalogue-averages,.plans-stack .plan-inclusions{gap:4px;margin-bottom:10px}}

.plans-stack .speed-separator{font-size:32px;line-height:1.2;font-weight:400}
@media(max-width:640px){
 .plans-stack .plan-card{padding-top:16px}
 .plans-stack .catalogue-averages li,.plans-stack .plan-inclusions li{justify-content:center;text-align:center}
}

/* Supporting actions leave space at both sides, including the wider Business cards. */
.plans-stack .plan-card .plan-cta{width:calc(100% - 24px);max-width:260px;min-height:44px;padding:10px 18px;line-height:24px;margin-left:auto;margin-right:auto;align-self:center}
#plans-list[data-collection="business"] .catalogue-averages li,#plans-list[data-collection="business"] .plan-inclusions li{justify-content:center;text-align:center}

/* Tablets compare plans side by side; only phone widths use the sticky stack.
   Reset the heading track and runway together so there is no empty stack space. */
@media(min-width:641px) and (max-width:900px){
 .plans-stack .plans-heading-track{display:contents}
 .plans-stack .plans-stack-header{position:static;top:auto;box-shadow:none}
 .plans-stack .wrap.plans{padding-top:18px!important;padding-bottom:54px!important}
 .plans-stack .plans-grid{gap:22px;align-items:stretch}
 .plans-stack .plans-grid::after{display:none;content:none}
 .plans-stack .plan-card{position:static;top:auto;min-height:0;margin-top:0}
}
