.portal-stage2__order-grid.portal-order-grid--described { grid-template-columns: minmax(0, 1fr) minmax(360px, 430px); }
.portal-order-column { display: grid; min-width: 0; gap: 20px; }
.portal-service-description { min-width: 0; overflow: hidden; border: 1px solid #dbe5f4; border-radius: 18px; background: radial-gradient(circle at 100% 0, rgba(24, 115, 247, .12), transparent 42%), linear-gradient(180deg, #fff 0%, #fbfdff 100%); box-shadow: 0 18px 44px rgba(31, 56, 96, .09); }
.portal-service-description__head { display: flex; min-width: 0; align-items: flex-start; gap: 14px; padding: 25px 26px 21px; border-bottom: 1px solid #e8eef7; }
.portal-service-description__mark { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #1f7af8 0%, #0d5dd8 100%); box-shadow: 0 10px 22px rgba(18, 104, 244, .2); font-size: 18px; font-weight: 800; }
.portal-service-description__head > div { min-width: 0; }
.portal-service-description__head p { margin: 1px 0 6px; color: #1765d7; font-size: 11px; font-weight: 800; line-height: 1.25; letter-spacing: .09em; text-transform: uppercase; }
.portal-service-description__head h2 { margin: 0; color: #17233a; font-size: clamp(21px, 1.75vw, 26px); font-weight: 780; line-height: 1.18; letter-spacing: -.03em; text-wrap: balance; }
.portal-service-description__body { display: grid; gap: 16px; padding: 23px 26px 27px; color: #43506a; font-size: 14px; line-height: 1.62; }
.portal-service-description__body p { margin: 0; }
.portal-service-description__body strong { color: #1d2b44; font-weight: 750; }
.portal-service-description__body a { color: #0b63dd; font-weight: 720; text-decoration: underline; text-decoration-color: rgba(11, 99, 221, .3); text-underline-offset: 3px; }
.portal-service-description__body ul { display: grid; gap: 9px; margin: 1px 0; padding: 0; list-style: none; }
.portal-service-description__body li { position: relative; min-width: 0; padding-left: 25px; color: #273752; font-weight: 620; line-height: 1.45; }
.portal-service-description__body li::before { position: absolute; top: .12em; left: 0; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #1268f4; background: #eaf3ff; content: "✓"; font-size: 11px; font-weight: 900; }
.portal-service-description__accent { padding: 14px 15px; border: 1px solid #cfe1fb; border-radius: 13px; color: #174d8f; background: #f2f7ff; font-weight: 680; }
.portal-service-description__closing { padding: 15px 16px; border: 1px solid #d5e5fb; border-radius: 13px; color: #19467f; background: #f0f6ff; font-weight: 650; }
.portal-service-description__more { display: inline-flex; width: fit-content; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid #cfe0f8; border-radius: 11px; background: #fff; text-decoration: none !important; }
.portal-service-description__more::after { content: "→"; font-size: 16px; line-height: 1; }
.portal-reposts { min-width: 0; margin: 0 0 22px; padding: 0; border: 0; }
.portal-reposts > legend { color: #24334e; font-size: 14px; font-weight: 650; line-height: 1.35; }
.portal-reposts > p { margin: 5px 0 12px; color: #657187; font-size: 13px; line-height: 1.45; }
.portal-reposts__switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.portal-reposts__switch label { position: relative; min-width: 0; cursor: pointer; }
.portal-reposts__switch input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.portal-reposts__switch span { position: relative; display: flex; min-height: 50px; align-items: center; justify-content: center; padding: 10px 14px; border: 1px solid #d2dae7; border-radius: 12px; color: #526078; background: #fff; font-size: 14px; font-weight: 680; line-height: 1.2; text-align: center; transition: border-color .16s ease, color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.portal-reposts__switch input:checked + span { border-color: #1268f4; color: #0758d5; background: #edf4ff; box-shadow: inset 0 0 0 1px rgba(18, 104, 244, .08); }
.portal-reposts__switch input:focus-visible + span { outline: 3px solid rgba(18, 104, 244, .17); outline-offset: 3px; }
.portal-reposts__quantity { margin-top: 12px; padding: 16px 16px 1px; border: 1px solid #d9e6f8; border-radius: 14px; background: linear-gradient(135deg, #f7faff 0%, #eef5ff 100%); }
.portal-reposts__quantity[hidden] { display: none; }
.portal-reposts__field { margin-bottom: 15px; }
.portal-order-total { border-color: #cfe0f7; background: radial-gradient(circle at 100% 0, rgba(24, 115, 247, .11), transparent 40%), #fff; }
.portal-order-total__price { display: flex; min-width: 0; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 17px; padding: 18px 19px; border: 1px solid #cfe0fb; border-radius: 14px; background: linear-gradient(135deg, #edf5ff 0%, #f7faff 100%); }
.portal-order-total__price span { color: #53617a; font-size: 13px; font-weight: 650; }
.portal-order-total__price strong { color: #0758d5; font-size: clamp(27px, 3vw, 36px); font-weight: 800; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
.portal-order-total__facts { display: grid; min-width: 0; gap: 0; margin: 0 0 19px; }
.portal-order-total__facts > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, auto); min-width: 0; gap: 12px; padding: 10px 0; border-bottom: 1px solid #e8edf4; }
.portal-order-total__facts dt, .portal-order-total__facts dd { min-width: 0; margin: 0; font-size: 13px; line-height: 1.4; }
.portal-order-total__facts dt { color: #68758a; }
.portal-order-total__facts dd { color: #26354f; font-weight: 720; text-align: right; overflow-wrap: anywhere; }
.portal-order-total__notice { margin: 0 0 15px; padding: 13px 14px; border: 1px solid #efd9a9; border-radius: 12px; color: #795719; background: #fff9ea; font-size: 13px; line-height: 1.5; }
.portal-order-total__success { margin: 0; }
.portal-citations-title-regular { font-weight: 400 !important; }
.portal-citations__field-hint { margin: -4px 0 11px; color: #657187; font-size: 13px; line-height: 1.45; }
.portal-citations__schedule { display: grid; gap: 10px; }
.portal-citations__schedule article { display: grid; gap: 5px; padding: 13px 14px; border: 1px solid #dbe6f5; border-radius: 12px; background: #fff; }
.portal-citations__schedule strong { color: #0d61df; font-size: 14px; font-weight: 780; }
.portal-citations__schedule p { color: #4c5b73; font-size: 13px; line-height: 1.5; }
@media (max-width: 1080px) { .portal-stage2__order-grid.portal-order-grid--described { grid-template-columns: minmax(0, 1fr) minmax(330px, 390px); } }
@media (max-width: 920px) { .portal-stage2__order-grid.portal-order-grid--described { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .portal-service-description__head { gap: 12px; padding: 21px 20px 18px; }
  .portal-service-description__mark { flex-basis: 36px; width: 36px; height: 36px; border-radius: 11px; }
  .portal-service-description__head h2 { font-size: 21px; }
  .portal-service-description__body { gap: 14px; padding: 19px 20px 22px; font-size: 14px; }
  .portal-order-total__price { align-items: flex-start; flex-direction: column; gap: 9px; }
  .portal-order-total__facts > div { grid-template-columns: minmax(0, 1fr) minmax(90px, auto); gap: 8px; }
}
