/* Scoped additions only. No logo, hero, font-family or brand-asset overrides. */
.dslp-guide-content { min-width: 0; }
.single-post .ds-guide-v140 .ds-article__content-wrap:has(.dslp-guide-content) { width: 100%; max-width: 100%; box-sizing: border-box; }
.dslp-guide-content [id] { scroll-margin-top: 110px; }
.admin-bar .dslp-guide-content [id] { scroll-margin-top: 150px; }
.dslp-mobile-toc { display: none; }
.dslp-verdict, .dslp-comparison, .dslp-sources, .dslp-detail-heading { margin-block: 28px; }
.dslp-verdict { border-left: 3px solid #193454; padding: 4px 0 4px 20px; }
.single-post .ds-guide-v140 .dslp-verdict h2,
.single-post .ds-guide-v140 .dslp-comparison h2,
.single-post .ds-guide-v140 .dslp-sources h2,
.single-post .ds-guide-v140 .dslp-detail-heading h2 { margin: 0 0 12px; font-size: 26px; line-height: 1.25; }
.dslp-decision { border-top: 1px solid #e2e7ed; margin-top: 22px; padding-top: 20px; }
.dslp-decision dl { margin: 0; display: grid; gap: 16px; }
.dslp-decision dt { font-weight: 700; margin: 0 0 5px; color: #14243b; }
.dslp-decision dd { margin: 0; line-height: 1.65; }
.single-post .ds-guide-v140 .dslp-source-link { font-size: 14px; margin: 18px 0 0; }
.dslp-comparison { padding: 24px; background: #fff; border: 1px solid #e2e7ed; border-radius: 8px; min-width: 0; max-width: 100%; }
.single-post .ds-guide-v140 .dslp-table-help { font-size: 14px; color: #526171; }
.dslp-table-scroll { overflow-x: auto; max-width: 100%; overscroll-behavior-x: contain; }
.dslp-table-scroll:focus-visible, .dslp-mobile-toc summary:focus-visible { outline: 3px solid #4261c5; outline-offset: 3px; }
.single-post .ds-guide-v140 .dslp-table { width: 100%; min-width: 580px; table-layout: fixed; border-collapse: collapse; margin: 12px 0; }
.single-post .ds-guide-v140 .dslp-table th,
.single-post .ds-guide-v140 .dslp-table td { display: table-cell; padding: 15px 13px; vertical-align: top; text-align: left; font-size: 14px; line-height: 1.6; border-bottom: 1px solid #e2e7ed; overflow-wrap: anywhere; }
.single-post .ds-guide-v140 .dslp-table thead th { background: #14243b; color: #fff; font-weight: 600; }
.single-post .ds-guide-v140 .dslp-table th:first-child { width: 26%; }
.single-post .ds-guide-v140 .dslp-table th:nth-child(2) { width: 40%; }
.single-post .ds-guide-v140 .dslp-table th:nth-child(3) { width: 34%; }
.dslp-table tbody tr:nth-child(even) { background: #f8fafc; }
.dslp-table small { display: block; margin-top: 8px; color: #526171; font-weight: 400; }
.dslp-sources { padding-top: 24px; border-top: 1px solid #e2e7ed; }
.dslp-sources li { margin-block: 8px; }
.dslp-home-disclosure { color: #526171; font-size: 14px; line-height: 1.65; margin: 0 0 22px; }
.dslp-home-disclosure a, .dslp-sources a, .dslp-source-link a { text-decoration: underline; text-underline-offset: 3px; }
/* Contents replace the theme's hidden sidebar at its existing breakpoint. */
@media (max-width: 900px) {
  .dslp-mobile-toc { display: block; margin: 0 0 24px; border: 1px solid #dce3eb; border-radius: 8px; background: #fff; }
  .dslp-mobile-toc summary { cursor: pointer; padding: 16px; font-weight: 700; min-height: 44px; box-sizing: border-box; }
  .dslp-mobile-toc nav { display: grid; padding: 0 16px 12px; }
  .dslp-mobile-toc a { display: block; padding: 12px 0; min-height: 44px; box-sizing: border-box; border-top: 1px solid #edf0f4; }
}
@media (max-width: 640px) {
  .dslp-comparison { padding: 18px; }
  .dslp-verdict { padding-left: 14px; }
  .single-post .ds-guide-v140 .dslp-comparison h2,
  .single-post .ds-guide-v140 .dslp-verdict h2,
  .single-post .ds-guide-v140 .dslp-sources h2 { font-size: 23px; }
}

/* 1.4.20: plain editorial rows; scope resets to the rating/price component. */
.single-post .ds-guide-v140 .ds-shortlist__row .dslp-shortlist-rating-price {
  width: 100%; margin-top: auto; padding-top: 8px; color: #183252;
}
.single-post .ds-guide-v140 .ds-shortlist__row .dslp-shortlist-rating-price span {
  display: block; width: auto; padding: 0 !important; margin: 0;
  background: none !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; color: inherit; font: inherit; letter-spacing: normal;
}
.single-post .ds-guide-v140 .dslp-rating-title {
  font-size: 14px; font-weight: 700; line-height: 20px; margin-bottom: 8px;
}
.single-post .ds-guide-v140 .dslp-rating-line {
  display: grid; grid-template-columns: minmax(0,1fr) max-content 48px;
  gap: 8px; align-items: center; min-height: 24px; margin: 3px 0;
  font-size: 14px; line-height: 1.4; font-weight: 400; text-align: left;
}
.single-post .ds-guide-v140 .dslp-rating-overall {
  border-top: 1px solid #dce5ef; margin-top: 8px; padding-top: 8px;
  min-height: 28px; font-size: 15px; font-weight: 700;
}
.single-post .ds-guide-v140 .ds-shortlist__row .dslp-rating-line .dslp-rating-stars {
  position: relative; display: inline-block; width: max-content; height: 22px;
  font: 20px/22px Arial,sans-serif; color: #d5dce5; white-space: nowrap;
}
.single-post .ds-guide-v140 .ds-shortlist__row .dslp-rating-stars > .dslp-rating-fill {
  position: absolute; left: 0; top: 0; overflow: hidden; color: #a76600;
}
.single-post .ds-guide-v140 .ds-shortlist__row .dslp-rating-line .dslp-rating-score {
  text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap;
}
.single-post .ds-guide-v140 .ds-shortlist__row .dslp-rating-overall .dslp-rating-score { font-weight: 700; }
.single-post .ds-guide-v140 .dslp-price-slot {
  box-sizing: border-box; min-height: 64px; display: flex; flex-direction: column;
  justify-content: center; gap: 4px; padding-top: 8px; overflow-wrap: anywhere;
  font-size: 14px; line-height: 1.4; font-weight: 600;
}
.single-post .ds-guide-v140 .dslp-price-slot small { font-size: 12px; line-height: 1.4; font-weight: 400; color: #536981; }
.single-post .ds-guide-v140 .dslp-shortlist-rating-price + .ds-shortlist__footer-v143 {
  margin-top: 0 !important; padding-top: 0 !important;
}
.single-post .ds-guide-v140 .dslp-rating-note {
  font-size: 12px; line-height: 1.5; color: #536981; margin: 8px 0 16px;
  padding: 0; background: none; border: 0; box-shadow: none;
}
@media (max-width: 380px) {
  .single-post .ds-guide-v140 .dslp-rating-line { font-size: 13px; gap: 5px; grid-template-columns: minmax(0,1fr) max-content 44px; }
  .single-post .ds-guide-v140 .dslp-rating-overall { font-size: 14px; }
  .single-post .ds-guide-v140 .ds-shortlist__row .dslp-rating-line .dslp-rating-stars { font-size: 18px; }
}

/* 1.4.27: shared guide card count; retain existing card dimensions and spacing. */
.single-post .ds-guide-v140 .dslp-guide-content .ds-shortlist[class] {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) !important; align-items: stretch;
}
.single-post .ds-guide-v140 .dslp-guide-content .ds-shortlist__row {
  display: flex; flex-direction: column; height: 100%; box-sizing: border-box;
}
.single-post .ds-guide-v140 .dslp-quick-comparison .dslp-table { table-layout: auto; }
.single-post .ds-guide-v140 .dslp-quick-comparison .dslp-table th:nth-child(n) { width: auto; }
@media (max-width: 640px) {
  .single-post .ds-guide-v140 .dslp-guide-content .ds-shortlist[class] { grid-template-columns: minmax(0,1fr) !important; }
}

/* 1.4.28: homepage Explore by Category visual polish only. */
body.home .ds-categories {
  background: #fff;
  border-top: 0;
  border-bottom: 0;
  padding-top: 58px;
  padding-bottom: 66px;
}
body.home .ds-categories .ds-section__head {
  margin-bottom: 38px;
  text-align: center;
}
body.home .ds-categories .ds-section__heading {
  margin: 0 0 10px;
  font-family: var(--ds-font-sans);
  font-size: clamp(38px, 4.25vw, 52px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #07152d;
}
body.home .dslp-category-intro {
  max-width: 780px;
  margin: 0 auto;
  color: #536981;
  font-size: 18px;
  line-height: 1.55;
}
body.home .dslp-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  background: transparent;
  border: 0;
}
body.home .dslp-category-card {
  --dslp-category-bg: #f5f8fc;
  --dslp-category-icon-bg: #e4eefb;
  --dslp-category-icon-color: #2563eb;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 282px;
  padding: 26px 28px 24px;
  text-align: left;
  color: #07152d;
  background: var(--dslp-category-bg);
  border: 1px solid rgba(16, 35, 63, 0.025);
  border-radius: 16px;
  box-shadow: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.home .dslp-category-card:hover {
  color: #07152d;
  background: var(--dslp-category-bg);
  border-color: rgba(16, 35, 63, 0.08);
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(16, 35, 63, 0.09);
}
body.home .dslp-category-card:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 4px;
}
body.home .dslp-category-card--business {
  --dslp-category-bg: linear-gradient(135deg, #f2f9ff 0%, #eaf5ff 100%);
  --dslp-category-icon-bg: #cfe9ff;
  --dslp-category-icon-color: #2784f6;
}
body.home .dslp-category-card--cloud {
  --dslp-category-bg: linear-gradient(135deg, #f2fff8 0%, #eafaf2 100%);
  --dslp-category-icon-bg: #cef3e1;
  --dslp-category-icon-color: #0aa46c;
}
body.home .dslp-category-card--security {
  --dslp-category-bg: linear-gradient(135deg, #fff6f7 0%, #fff0f2 100%);
  --dslp-category-icon-bg: #ffdadd;
  --dslp-category-icon-color: #ef3e4c;
}
body.home .dslp-category-card--visual {
  --dslp-category-bg: linear-gradient(135deg, #f8f6ff 0%, #f0edff 100%);
  --dslp-category-icon-bg: #ddd7ff;
  --dslp-category-icon-color: #5847e8;
}
body.home .dslp-category-card--builders {
  --dslp-category-bg: linear-gradient(135deg, #fffaf0 0%, #fff4d8 100%);
  --dslp-category-icon-bg: #ffe8ad;
  --dslp-category-icon-color: #df9400;
}
body.home .dslp-category-card--tools {
  --dslp-category-bg: linear-gradient(135deg, #f1fcff 0%, #e9f8fb 100%);
  --dslp-category-icon-bg: #cdeff3;
  --dslp-category-icon-color: #067b8e;
}
body.home .dslp-category-icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border-radius: 999px;
  color: var(--dslp-category-icon-color);
  background: var(--dslp-category-icon-bg);
}
body.home .dslp-category-icon__svg {
  display: block;
  width: 35px;
  height: 35px;
}
body.home .dslp-category-card__title {
  display: block;
  margin: 18px 0 7px;
  font-family: var(--ds-font-sans);
  font-size: 23px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #07152d;
}
body.home .dslp-category-card__description {
  display: block;
  margin: 0 0 18px;
  font-family: var(--ds-font-sans);
  font-size: 16.5px;
  line-height: 1.55;
  font-weight: 400;
  color: #425c78;
}
body.home .dslp-category-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-family: var(--ds-font-sans);
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #075fe5;
}
body.home .dslp-category-card:hover .dslp-category-card__cta {
  color: #064fc0;
}
@media (max-width: 900px) {
  body.home .ds-categories {
    padding-top: 48px;
    padding-bottom: 54px;
  }
  body.home .dslp-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  body.home .dslp-category-card {
    min-height: 264px;
  }
}
@media (max-width: 620px) {
  body.home .ds-categories {
    padding-top: 38px;
    padding-bottom: 44px;
  }
  body.home .ds-categories .ds-section__head {
    margin-bottom: 28px;
  }
  body.home .ds-categories .ds-section__heading {
    font-size: 34px;
  }
  body.home .dslp-category-intro {
    font-size: 16px;
  }
  body.home .dslp-category-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  body.home .dslp-category-card {
    min-height: 238px;
    padding: 24px;
  }
  body.home .dslp-category-icon {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }
  body.home .dslp-category-icon__svg {
    width: 31px;
    height: 31px;
  }
  body.home .dslp-category-card__title {
    font-size: 22px;
  }
}

