/* Migration catalogue: clear entry, one filter group, progressively disclosed guides. */
.catalog-hero { padding: 60px 0 60px; }
.catalog-hero .hero-grid { padding-bottom: 4px; }
.catalog-hero h1 { font-size: clamp(38px, 3.95vw, 56px); }
.catalog-hero .hero-copy { align-self: center; }
.catalog-section { background: #fff; }
.count-pill { font-size: 10px; color: var(--dt-muted); border: 1px solid var(--dt-line); background: var(--dt-surface); border-radius: 30px; padding: 8px 14px; white-space: nowrap; margin-bottom: 4px; }
.filter-panel { background: var(--dt-surface); border: 1px solid var(--dt-line); padding: 24px; border-radius: 12px; display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr) 1px minmax(0,1.35fr); align-items: end; gap: 20px; }
.filter-control { min-width: 0; }
.filter-control label { display: flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 500; color: var(--dt-text); margin: 0 0 10px; }
.filter-control label > span { font-size: 9px; background: #eaeae4; color: var(--dt-muted); width: 21px; height: 21px; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; }
.filter-control .form-select, .filter-control .form-control { height: 48px; border-radius: 7px; border: 1px solid #90908a; color: var(--dt-text); font-size: 12px; background-color: #fff; padding-left: 13px; }
.filter-control .form-select { padding-right: 35px; }
.filter-control .form-control::placeholder { color: #686862; opacity: 1; font-size: 11px; }
.filter-direction { display: flex; align-items: center; justify-content: center; height: 48px; color: #62625f; }
.filter-direction .icon { width: 18px; height: 18px; }
.filter-separator { height: 48px; width: 1px; background: #dadad2; }
.search-wrap { position: relative; }
.search-wrap > .icon { position: absolute; left: 14px; top: 15px; width: 18px; height: 18px; color: var(--dt-muted); pointer-events: none; }
.search-wrap .form-control { padding-left: 41px; }
.catalog-meta { min-height: 69px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.catalog-meta p { margin: 0; color: var(--dt-muted); font-size: 12px; }
.migration-card { padding: 25px 26px 20px; background: #fff; border: 1px solid var(--dt-line); border-radius: var(--dt-radius); min-height: 320px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.migration-card:hover { color: var(--dt-text); border-color: #bd9b4a; box-shadow: 0 12px 30px #23232309; transform: translateY(-3px); }
.migration-card:focus-visible { outline-offset: 4px; }
.card-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 9px; font-weight: 500; letter-spacing: .1em; color: var(--dt-muted); margin-bottom: 24px; }
.card-symbol { width: 37px; height: 37px; border-radius: 8px; background: var(--dt-surface); display: flex; align-items: center; justify-content: center; color: var(--dt-charcoal); }
.card-symbol .icon { width: 20px; height: 20px; }
.card-number { margin-left: auto; color: #71716c; font-size: 10px; letter-spacing: .03em; }
.migration-card h3 { font-size: 21px; line-height: 1.4; letter-spacing: -.026em; margin: 0 0 15px; max-width: 340px; }
.migration-card > p { color: var(--dt-muted); font-size: 14px; line-height: 1.85; margin-bottom: 26px; }
.card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; border-top: 1px solid var(--dt-line); padding-top: 16px; font-size: 11px; font-weight: 600; }
.link-arrow { width: 30px; height: 30px; border: 1px solid var(--dt-line); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .2s, border-color .2s; }
.link-arrow .icon { width: 15px; height: 15px; }
.migration-card:hover .link-arrow, .migration-card:focus-visible .link-arrow { background: var(--dt-gold); border-color: var(--dt-gold); }
.catalog-expand { text-align: center; margin-top: 34px; }
.catalog-expand:has([hidden]) { display: none; }
.catalog-expand .btn { min-width: 215px; }
.catalog-help { display: flex; align-items: center; gap: 15px; padding: 20px 22px; background: var(--dt-surface); border-radius: 10px; margin-top: 36px; }
.help-icon { width: 31px; height: 31px; color: var(--dt-charcoal); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.help-icon .icon { width: 22px; height: 22px; }
.catalog-help p { margin: 0; font-size: 11px; color: var(--dt-muted); line-height: 1.85; }
.catalog-help strong { color: var(--dt-text); display: block; font-weight: 600; }
.catalog-help a { margin-left: auto; font-size: 10px; font-weight: 600; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; }
.catalog-help a:hover { text-decoration: underline; text-underline-offset: 4px; }
.catalog-help a .icon { width: 17px; height: 17px; }
.catalog-empty { text-align: center; background: var(--dt-surface); border: 1px solid var(--dt-line); padding: 48px 25px; border-radius: 12px; }
.empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: #eaeae4; border-radius: 50%; margin-bottom: 20px; }
.catalog-empty h3 { font-size: 24px; }
.catalog-empty p { color: var(--dt-muted); max-width: 520px; font-size: 13px; margin: 15px auto 24px; }
@media (max-width: 1199.98px) {
  .catalog-hero h1 { font-size: 42px; }
  .filter-panel { gap: 14px; padding: 20px; }
  .card-eyebrow { margin-bottom: 20px; }
  .migration-card { min-height: 310px; }
}
@media (max-width: 991.98px) {
  .catalog-hero h1 { font-size: 44px; }
  .catalog-hero { padding-bottom: 44px; }
  .filter-panel { grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr); gap: 16px; }
  .filter-separator { display: none; }
  .filter-search { grid-column: 1 / -1; }
  .catalog-help { flex-wrap: wrap; }
  .catalog-help a { margin-left: 46px; }
  .count-pill { display: none; }
}
@media (max-width: 575.98px) {
  .catalog-hero { padding-top: 20px; }
  .catalog-hero h1 { font-size: 33px; }
  .catalog-hero .hero-actions .btn-gold { width: 100%; justify-content: space-between; }
  .catalog-hero .hero-actions .btn-quiet { padding-block: 10px; }
  .catalog-hero .hero-reassurance { flex-direction: column; margin-top: 13px; gap: 8px; }
  .filter-panel { padding: 18px; grid-template-columns: minmax(0,1fr); gap: 17px; }
  .filter-direction, .filter-separator { display: none; }
  .filter-control label { margin-bottom: 8px; }
  .filter-search { grid-column: auto; }
  .filter-control .form-select, .filter-control .form-control { font-size: 13px; }
  .catalog-meta { min-height: 60px; }
  .migration-card { min-height: 0; padding: 24px; }
  .migration-card h3 { font-size: 22px; }
  .migration-card > p { font-size: 13px; margin-bottom: 24px; }
  .card-bottom { font-size: 11px; }
  .card-eyebrow { margin-bottom: 22px; font-size: 9px; }
  .catalog-help { gap: 8px 12px; padding: 20px; align-items: flex-start; }
  .catalog-help p { flex: 1; font-size: 12px; }
  .catalog-help a { margin-left: 43px; font-size: 11px; }
  .catalog-expand { margin-top: 28px; }
}
#show-more-solutions[aria-expanded="true"] .icon { transform: rotate(180deg); }
