/* Book Sorting Automation Systems — page-specific styles only. */
.solution-book-sorting-page .book-sorter-kicker { color: #0787B5; }
.solution-book-sorting-page .book-sorter-overview-grid {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  align-items: center; gap: clamp(1.5rem, 4vw, 3rem);
}
.solution-book-sorting-page .book-sorter-overview-copy { min-width: 0; }
.solution-book-sorting-page .book-sorter-project-figure { min-width: 0; margin: 0; }
.solution-book-sorting-page .book-sorter-project-figure img {
  display: block; width: 100%; aspect-ratio: 16 / 10; height: auto; max-height: 410px; object-fit: cover;
  border-radius: 1rem; border: 1px solid rgba(74,98,138,.22); box-shadow: 0 14px 36px rgba(23,32,51,.16);
}
.solution-book-sorting-page .book-sorter-project-figure figcaption { margin-top: .65rem; color: #41536B; font-size: .83rem; line-height: 1.5; }
.solution-book-sorting-page .book-sorter-inline-link {
  display: inline-flex; gap: .4rem; align-items: center; margin-top: .65rem; color: #087EAC; font-weight: 650;
  text-decoration: none; border-bottom: 1px solid rgba(8,126,172,.45); padding-bottom: .2rem; transition: color .2s ease, border-color .2s ease;
}
.solution-book-sorting-page .book-sorter-inline-link:hover { color: #075F80; border-bottom-color: #FFD052; }
.solution-book-sorting-page .book-sorter-inline-link:focus-visible { outline: 2px solid #087EAC; outline-offset: 4px; }
.solution-book-sorting-page .book-sorter-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.6rem); margin-top: 1.8rem; }
.solution-book-sorting-page .book-sorter-config-card {
  min-width: 0; overflow: hidden; border: 1px solid rgba(74,98,138,.23); border-radius: 1rem;
  background: rgba(248,250,252,.94); box-shadow: 0 8px 22px rgba(23,32,51,.075);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.solution-book-sorting-page .book-sorter-config-card:hover,
.solution-book-sorting-page .book-sorter-config-card:focus-within { transform: translateY(-3px); border-color: #08A8D2; box-shadow: 0 14px 30px rgba(8,126,172,.14); }
.solution-book-sorting-page .book-sorter-config-media { background: #06192A; border-bottom: 1px solid rgba(8,126,172,.24); }
.solution-book-sorting-page .book-sorter-config-media video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #06192A; }
.solution-book-sorting-page .book-sorter-config-body { padding: clamp(1rem, 2vw, 1.45rem); }
.solution-book-sorting-page .book-sorter-config-index,
.solution-book-sorting-page .book-sorter-card-index { display: inline-block; margin: 0 0 .55rem; color: #0787B5; font-size: .76rem; font-weight: 800; letter-spacing: .1em; }
.solution-book-sorting-page .book-sorter-config-body h3 { margin: 0 0 .6rem; color: #172033; font-size: 1.22rem; line-height: 1.35; transition: color .2s ease; }
.solution-book-sorting-page .book-sorter-config-card:hover .book-sorter-config-body h3 { color: #087EAC; }
.solution-book-sorting-page .book-sorter-config-body p:last-child { margin-bottom: 0; color: #41536B; line-height: 1.65; }
.solution-book-sorting-page .book-sorter-capability-grid .solution-capability { min-height: 10rem; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.solution-book-sorting-page .book-sorter-capability-grid .solution-capability:hover,
.solution-book-sorting-page .book-sorter-capability-grid .solution-capability:focus-within { border-color: #08A8D2; box-shadow: 0 12px 26px rgba(8,126,172,.12); transform: translateY(-2px); }
.solution-book-sorting-page .book-sorter-throughput-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); align-items: center; gap: clamp(1.5rem, 3vw, 2.5rem); }
.solution-book-sorting-page .book-sorter-throughput-metric {
  padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1rem; border: 1px solid rgba(8,168,210,.35);
  background: linear-gradient(145deg, #071A2B, #14334E); color: #F8FAFC; box-shadow: 0 14px 34px rgba(7,26,43,.18);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.solution-book-sorting-page .book-sorter-throughput-metric:hover,
.solution-book-sorting-page .book-sorter-throughput-metric:focus-within {
  transform: translateY(-3px); border-color: #08A8D2;
  box-shadow: 0 20px 42px rgba(8,126,172,.24), 0 0 0 1px rgba(8,168,210,.12);
}
.solution-book-sorting-page .book-sorter-metric-label { display: block; color: #83D9EF; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; line-height: 1.5; }
.solution-book-sorting-page .book-sorter-throughput-metric strong { display: block; margin-top: .45rem; color: #FFFFFF; font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.05; font-weight: 800; letter-spacing: -.04em; }
.solution-book-sorting-page .book-sorter-metric-unit { display: block; margin-top: .35rem; color: #C5D9E8; font-size: 1rem; font-weight: 650; }
.solution-book-sorting-page .book-sorter-throughput-metric p { margin: .85rem 0 0; color: #B4C8D9; font-size: .85rem; line-height: 1.55; }
@media (max-width: 900px) {
  .solution-book-sorting-page .book-sorter-overview-grid,
  .solution-book-sorting-page .book-sorter-throughput-grid { grid-template-columns: minmax(0, 1fr); }
  .solution-book-sorting-page .book-sorter-project-figure img { max-height: 360px; }
}
@media (max-width: 700px) {
  .solution-book-sorting-page .book-sorter-config-grid { grid-template-columns: minmax(0, 1fr); }
  .solution-book-sorting-page .book-sorter-config-media video { aspect-ratio: 16 / 9; }
  .solution-book-sorting-page .book-sorter-capability-grid .solution-capability { min-height: unset; }
}
@media (prefers-reduced-motion: reduce) {
  .solution-book-sorting-page .book-sorter-inline-link,
  .solution-book-sorting-page .book-sorter-config-card,
  .solution-book-sorting-page .book-sorter-config-body h3,
  .solution-book-sorting-page .book-sorter-capability-grid .solution-capability,
  .solution-book-sorting-page .book-sorter-parcel-figure,
  .solution-book-sorting-page .book-sorter-parcel-figure img,
  .solution-book-sorting-page .book-sorter-throughput-metric { transition: none; }
  .solution-book-sorting-page .book-sorter-parcel-figure:hover,
  .solution-book-sorting-page .book-sorter-parcel-figure:focus-within,
  .solution-book-sorting-page .book-sorter-throughput-metric:hover,
  .solution-book-sorting-page .book-sorter-throughput-metric:focus-within { transform: none; }
  .solution-book-sorting-page .book-sorter-parcel-figure:hover img,
  .solution-book-sorting-page .book-sorter-parcel-figure:focus-within img { transform: none; }
}



/* Adaptive sorting applications + square social overview video. Scoped to the book-sorting detail page. */
.solution-book-sorting-page .book-sorter-adapt-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  align-items: center;
  gap: clamp(1.5rem, 3.2vw, 2.75rem);
}
.solution-book-sorting-page .book-sorter-adapt-copy,
.solution-book-sorting-page .book-sorter-promo-column { min-width: 0; }
.solution-book-sorting-page .book-sorter-usecase-list {
  display: grid; gap: .7rem; margin-top: 1.25rem;
}
.solution-book-sorting-page .book-sorter-usecase {
  display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); align-items: start; gap: .85rem;
  padding: .85rem .95rem; border: 1px solid rgba(74,98,138,.2); border-radius: .8rem;
  background: rgba(248,250,252,.92); box-shadow: 0 5px 14px rgba(23,32,51,.045);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.solution-book-sorting-page .book-sorter-usecase:hover,
.solution-book-sorting-page .book-sorter-usecase:focus-within {
  transform: translateY(-2px); border-color: #08A8D2; box-shadow: 0 10px 22px rgba(8,126,172,.12);
}
.solution-book-sorting-page .book-sorter-usecase-index {
  display: inline-flex; width: 2.35rem; height: 2.35rem; align-items: center; justify-content: center;
  border-radius: .65rem; background: #E6F6FB; color: #0787B5; font-size: .8rem; font-weight: 850;
}
.solution-book-sorting-page .book-sorter-usecase h3 {
  margin: 0 0 .25rem; color: #172033; font-size: 1rem; line-height: 1.35;
  transition: color .2s ease;
}
.solution-book-sorting-page .book-sorter-usecase:hover h3 { color: #087EAC; }
.solution-book-sorting-page .book-sorter-usecase p {
  margin: 0; color: #41536B; font-size: .9rem; line-height: 1.55;
}
.solution-book-sorting-page .book-sorter-adapt-note {
  margin: 1rem 0 0; color: #52647A; font-size: .84rem; line-height: 1.6;
}
.solution-book-sorting-page .book-sorter-promo-column {
  padding: clamp(1rem, 2vw, 1.4rem); border: 1px solid rgba(8,168,210,.26); border-radius: 1rem;
  background: rgba(248,250,252,.92); box-shadow: 0 12px 30px rgba(23,32,51,.08);
}
.solution-book-sorting-page .book-sorter-promo-heading { margin-bottom: .8rem; }
.solution-book-sorting-page .book-sorter-promo-heading .solution-page-kicker { margin-bottom: .35rem; }
.solution-book-sorting-page .book-sorter-promo-heading h3 { margin: 0; color: #172033; font-size: 1.18rem; line-height: 1.35; }
.solution-book-sorting-page .book-sorter-promo-figure { margin: 0; }
.solution-book-sorting-page .book-sorter-promo-media {
  overflow: hidden; width: 100%; max-width: 560px; margin-inline: auto; aspect-ratio: 1 / 1;
  border-radius: .8rem; border: 1px solid rgba(8,168,210,.3); background: #06192A;
}
.solution-book-sorting-page .book-sorter-promo-media video {
  display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: contain;
  object-position: center; background: #06192A;
}
.solution-book-sorting-page .book-sorter-promo-figure figcaption {
  margin-top: .65rem; color: #41536B; font-size: .83rem; line-height: 1.5;
}
@media (max-width: 900px) {
  .solution-book-sorting-page .book-sorter-adapt-grid { grid-template-columns: minmax(0, 1fr); }
  .solution-book-sorting-page .book-sorter-promo-column { display: grid; grid-template-columns: minmax(0, .7fr) minmax(250px, .9fr); align-items: center; gap: 1.25rem; }
  .solution-book-sorting-page .book-sorter-promo-heading { margin-bottom: 0; }
}
@media (max-width: 700px) {
  .solution-book-sorting-page .book-sorter-promo-column { display: block; }
  .solution-book-sorting-page .book-sorter-promo-heading { margin-bottom: .8rem; }
  .solution-book-sorting-page .book-sorter-promo-media { max-width: min(100%, 480px); }
}
@media (prefers-reduced-motion: reduce) {
  .solution-book-sorting-page .book-sorter-usecase,
  .solution-book-sorting-page .book-sorter-usecase h3 { transition: none; }
}


/* Parcel-routing trial gallery: compact, consistent cards with aligned captions. */
.solution-book-sorting-page .book-sorter-parcel-intro {
  max-width: 880px; margin-bottom: clamp(1.1rem, 2vw, 1.6rem);
}
.solution-book-sorting-page .book-sorter-parcel-note {
  margin: .8rem 0 0; padding-left: 1rem; border-left: 3px solid #08A8D2;
  color: #52647A; font-size: .9rem; line-height: 1.6;
}
.solution-book-sorting-page .book-sorter-parcel-gallery {
  display: grid; max-width: 920px; margin-inline: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch;
  gap: clamp(1rem, 2vw, 1.35rem);
}
.solution-book-sorting-page .book-sorter-parcel-figure {
  display: flex; flex-direction: column; height: 100%; min-width: 0;
  overflow: hidden; margin: 0; border: 1px solid rgba(74,98,138,.2); border-radius: .9rem;
  background: #F8FAFC; box-shadow: 0 7px 20px rgba(23,32,51,.06);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.solution-book-sorting-page .book-sorter-parcel-figure:hover,
.solution-book-sorting-page .book-sorter-parcel-figure:focus-within {
  transform: translateY(-3px); border-color: #08A8D2;
  box-shadow: 0 16px 32px rgba(8,126,172,.16);
}
.solution-book-sorting-page .book-sorter-parcel-figure img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center;
  transition: transform .32s ease;
}
.solution-book-sorting-page .book-sorter-parcel-figure:hover img,
.solution-book-sorting-page .book-sorter-parcel-figure:focus-within img { transform: scale(1.025); }
.solution-book-sorting-page .book-sorter-parcel-figure figcaption {
  display: block; flex: 1 0 auto; min-height: 3.6rem; box-sizing: border-box;
  padding: .8rem .95rem; color: #41536B; font-size: .84rem; line-height: 1.5;
}
@media (max-width: 700px) {
  .solution-book-sorting-page .book-sorter-parcel-gallery { grid-template-columns: minmax(0, 1fr); max-width: 480px; }
  .solution-book-sorting-page .book-sorter-parcel-figure img { max-height: 300px; }
}
