/* Native product content, prices and order links stay intact. No page-wide overflow hiding. */
.sgh-catalog-grid.sgh-catalog-products,
.host_plans > .container.sgh-catalog-home {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(15rem, calc((100% - 3.75rem) / 4))), 1fr));
    gap: 1.5rem 1.25rem !important;
    align-items: stretch;
    min-width: 0;
    box-sizing: border-box;
    list-style: none;
}
.sgh-catalog-grid.sgh-catalog-products {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
.sgh-catalog-grid::before,
.sgh-catalog-grid::after { content: none !important; }
.sgh-catalog-grid > :not(.sgh-catalog-item) { grid-column: 1 / -1; min-width: 0; }
.sgh-catalog-grid > .clearfix { display: none !important; }
.sgh-catalog-grid > .sgh-catalog-item {
    display: flex !important;
    flex-direction: column;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: top;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box;
}
.sgh-catalog-grid .sgh-catalog-card,
.sgh-catalog-grid .sgh-catalog-card * { box-sizing: border-box; }
.sgh-catalog-grid .sgh-catalog-card {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    float: none !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
    zoom: 1 !important;
    overflow-wrap: anywhere;
    word-break: normal;
}
.sgh-catalog-grid .sgh-catalog-card > * { min-width: 0; max-width: 100%; flex-shrink: 0; }
.sgh-catalog-grid .sgh-catalog-card :is(h2,h3,h4,h5,p,li,strong,small,a) {
    overflow-wrap: anywhere;
    white-space: normal;
}
.sgh-catalog-grid .sgh-catalog-card :is(.top-head,.product-header,.product-desc) {
    height: auto !important;
    min-height: 0 !important;
}
.sgh-catalog-grid .sgh-catalog-card > :is(ul,.features,.product-desc) {
    height: auto !important;
    min-height: 0 !important;
}
.sgh-catalog-grid .sgh-catalog-card > :is(.price-area,.product-pricing,.pricing) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    margin-top: auto !important;
    flex: 0 0 auto;
}
/* Featured ribbons previously extended outside, and the highlighted card was scaled. */
.sgh-catalog-grid .sgh-catalog-comparison-card .plan-container {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: .45rem .65rem;
    transform: none !important;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
}
.sgh-catalog-grid .sgh-catalog-comparison-card .plan-container::before,
.sgh-catalog-grid .sgh-catalog-comparison-card .plan-container::after { content: none !important; }
.sgh-catalog-grid .sgh-catalog-comparison-card :is(.popular-plan,.txt-container) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    transform: none !important;
}
.sgh-catalog-grid .sgh-catalog-card :is(.btn,.btn-order-now,.order-button) { max-width: 100%; white-space: normal; }
.sgh-catalog-grid .sgh-catalog-card .order-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    height: auto !important;
    line-height: 1.4 !important;
    padding: .65rem .9rem;
    text-align: center;
}
.sgh-catalog-grid .sgh-catalog-card .price-area :is(span,small,strong,.price,.setup-fee) {
    white-space: normal !important;
    overflow-wrap: anywhere;
}
.sgh-catalog-grid .sgh-catalog-card img { max-width: 100%; height: auto; }
/* The four native homepage cards share the same intrinsic grid. */
.host_plans > .container.sgh-catalog-home { max-width: 100%; }
.sgh-catalog-home .sgh-catalog-card > .hiimg { margin: .65rem auto 0 !important; }
.sgh-catalog-home .sgh-catalog-card > :is(.title,.prices,ul) { float: none !important; }
.sgh-catalog-home .sgh-catalog-card > .prices { flex: 0 0 auto; }
.sgh-catalog-home .sgh-catalog-card > .prices::before {
    border: 0 !important;
    width: 100% !important;
    height: 15px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -14px !important;
    background: inherit;
    clip-path: polygon(0 0,100% 0,50% 100%);
}
.sgh-catalog-home .sgh-catalog-card > .title,
.sgh-catalog-home .sgh-catalog-card > .prices,
.sgh-catalog-home .sgh-catalog-card > ul > li { padding-inline: .75rem; }
.sgh-catalog-home .sgh-catalog-card .prices a { display: inline-block; max-width: 100%; }
@media (max-width: 35rem) {
    .sgh-catalog-grid.sgh-catalog-products,
    .host_plans > .container.sgh-catalog-home { grid-template-columns: minmax(0,1fr); gap: 1.25rem !important; }
}
@media (prefers-reduced-motion: reduce) {
    .sgh-catalog-grid .sgh-catalog-card { transition: none !important; }
}
