.catalog-view { min-width: 0; color: #183d4d; }
.catalog-view *, .catalog-view *::before, .catalog-view *::after { box-sizing: border-box; }
.catalog-view h3, .catalog-view p, .catalog-view a { overflow-wrap: anywhere; }
.catalog-feature-group { margin: 10px 0; border-top: 1px solid #d5e7eb; }
.catalog-feature-group summary { cursor: pointer; padding: 12px 4px; min-height: 44px; font-size: .85rem; font-weight: 600; overflow-wrap: anywhere; }
.catalog-view :is(a, button, summary):focus-visible { outline: 3px solid #087785; outline-offset: 3px; }
.catalog-view .catalog-contract-action { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 10px; background: #075c70; color: #fff; font-weight: 600; text-decoration: none; }
.catalog-view .catalog-contract-action[hidden] {
  display: none;
}
.catalog-features .catalog-dependency { color: #76521d; }
.catalog-view h3 { margin: 0 0 10px; font-size: 1.08rem; }
.catalog-view p { line-height: 1.5; }
.catalog-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.catalog-offer, .catalog-current, .catalog-standard { min-width: 0; padding: 18px; border: 1px solid #d5e7eb; border-radius: 16px; background: #fff; }
.catalog-current { background: #f2fbfd; margin-bottom: 20px; }
.catalog-price { color: #456575; margin: 0 0 16px; font-size: 1.05rem; font-weight: 650; }
.catalog-capacities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0 18px; }
.catalog-capacity { display: flex; flex-direction: column; gap: 5px; padding: 12px 8px; background: #eef7f9; border-radius: 10px; min-width: 0; overflow-wrap: anywhere; }
.catalog-capacity > span { font-size: .78rem; }
.catalog-capacity > strong { font-size: 1.3rem; }
.catalog-capacity small { font-size: .7rem; color: #456575; }
.catalog-features { list-style: none; padding: 0; margin: 0 0 16px; }
.catalog-features li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 8px; padding: 7px 0; border-bottom: 1px solid #e6eff2; font-size: .83rem; }
.catalog-features li strong { font-size: .78rem; }
.catalog-features small { flex-basis: 100%; color: #76521d; }
.catalog-features .excluded { color: #637882; }
.catalog-personalized { color: #76521d; font-size: .85rem; font-weight: 600; }
.catalog-contact { font-size: .85rem; color: #456575; margin-top: 20px; }
.catalog-view a { color: #087785; text-decoration: underline; text-underline-offset: 3px; }
.catalog-view button { padding: 9px 14px; border: 1px solid #aacdd4; border-radius: 8px; background: #fff; color: #183d4d; font-size: .9rem; cursor: pointer; }
.catalog-view [role="alert"] { color: #9b3434; }
.catalog-view [hidden] { display: none !important; }
.upgrade-modal-dialog.catalog-dialog { width: min(1100px, 100%); max-height: 88vh; overflow: auto; box-sizing: border-box; }
@media (max-width: 380px) { .catalog-capacities { grid-template-columns: 1fr; } }
