/* Shared solution list/detail/preview layout; never loaded by product routes. */
.solutions-page.solution-list-page .solution-layout,
.solutions-page.solution-template-page .solution-shared-layout,
.word-case-page.solution-template-page .solution-shared-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; align-items: start; }
.solution-shared-main { min-width: 0; }
.solution-template-page .solution-prose { width: 100%; max-width: 900px; min-width: 0; margin-left: auto; margin-right: auto; }
.solution-template-page .solution-prose img { display: block; width: auto; max-width: 100%; height: auto; margin-left: auto; margin-right: auto; }
.solutions-page.solution-template-page .solution-detail-header,
.solutions-page.solution-template-page .solution-detail-body { padding: 28px 32px; }
.solutions-page.solution-template-page .solution-detail-header h1 { max-width: none; }
.solutions-page.solution-template-page .solution-detail-body p { max-width: none; }
.solution-nav-sidebar { min-width: 0; background: #edf8fb; border: 1px solid var(--color-border); border-radius: 12px; }
.solution-nav-sidebar summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; padding: 16px 18px; font-size: 16px; font-weight: 700; color: var(--color-text-primary); background: transparent; border: 0; }
.solution-nav-sidebar summary::-webkit-details-marker { display: none; }
.solution-nav-sidebar summary::after { content: ''; flex: 0 0 8px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 3px 0 0; }
.solution-nav-sidebar details[open] > summary::after { transform: rotate(225deg); margin-top: 4px; }
.solution-nav-sidebar summary:hover { color: var(--color-brand-strong); }
.solution-nav-sidebar summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: -3px; }
.solution-nav-catalog > summary { font-size: 18px; }
.solution-nav-group { border-top: 1px solid #cfe6ee; }
.solution-nav-group[open] > summary { color: var(--color-brand-strong); }
.solution-nav-links { padding: 0 10px 12px; max-height: 240px; overflow-y: auto; overscroll-behavior-y: contain; }
.solution-nav-links a { display: block; padding: 10px 12px; border-radius: 6px; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; color: var(--color-text-secondary); }
.solution-nav-links a:hover { background: #e0f2f7; color: var(--color-brand-strong); }
.solution-nav-group[data-solution-group="cases"] .solution-nav-links a + a { border-top: 1px solid #d3e5eb; border-radius: 0; }
.solution-nav-group[data-solution-group="cases"] .solution-nav-links a { margin-inline: 2px; padding-block: 14px; }
.solution-nav-links a[aria-current="page"] { color: #006a80; background: #d8f0f6; box-shadow: inset 3px 0 #00a6c7; font-weight: 700; }
.solution-nav-links .solution-nav-all { color: var(--color-brand-strong); margin-top: 6px; border-top: 1px solid #cfe6ee; border-radius: 0; }
@media (min-width: 1000px) {
  .solutions-page.solution-list-page .solution-layout,
  .solutions-page.solution-template-page .solution-shared-layout,
  .word-case-page.solution-template-page .solution-shared-layout { grid-template-columns: 300px minmax(0,1fr); gap: 28px; }
  .solution-nav-links { max-height: 360px; }
}
@media (max-width: 700px) {
  .solutions-page.solution-template-page .solution-detail-header,
  .solutions-page.solution-template-page .solution-detail-body { padding: 22px 20px; }
}
