/* Castlance v10.0.19 — public layout polish */

/* Four active commercial plans must read as one product family, not a 3+1 orphan grid. */
html[data-theme] body.castlance-public-v8 .premium-pricing,
html[data-theme] body.castlance-public-v8 .pricing-grid-v43 {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

html[data-theme] body.castlance-public-v8 .premium-pricing > article,
html[data-theme] body.castlance-public-v8 .pricing-grid-v43 > article {
  min-width:0 !important;
  width:auto !important;
  height:100% !important;
}

/* Keep cards visually balanced without creating artificial empty vertical space. */
html[data-theme] body.castlance-public-v8 .premium-pricing > article {
  padding:24px !important;
}
html[data-theme] body.castlance-public-v8 .premium-pricing h3 { margin:0 0 14px !important; }
html[data-theme] body.castlance-public-v8 .premium-pricing p { min-height:0 !important; margin:0 0 14px !important; }
html[data-theme] body.castlance-public-v8 .premium-pricing ul { margin:16px 0 20px !important; }
html[data-theme] body.castlance-public-v8 .premium-pricing .btn { margin-top:auto !important; }

/* Pricing page: equal rhythm, no orphan Business card, no excessive fixed card height. */
html[data-theme] body.castlance-public-v8 .pricing-card-v43 {
  min-height:0 !important;
  padding:26px !important;
}
html[data-theme] body.castlance-public-v8 .pricing-card-v43 .plan-desc {
  min-height:0 !important;
}
html[data-theme] body.castlance-public-v8 .pricing-grid-v43.single-plan {
  grid-template-columns:minmax(0,560px) !important;
  justify-content:center !important;
}

/* Prevent similar four-item public grids from leaving a lone item when there is enough room. */
html[data-theme] body.castlance-public-v8 .journey,
html[data-theme] body.castlance-public-v8 .labs-grid,
html[data-theme] body.castlance-public-v8 .value-grid,
html[data-theme] body.castlance-public-v8 .pricing-trust-row {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

/* Wide desktop: allow public content to use the available viewport more efficiently. */
@media (min-width:1280px) {
  html[data-theme] body.castlance-public-v8 .container {
    width:min(1380px,calc(100% - 64px)) !important;
  }
}

/* Compact desktop/tablet: two clean columns instead of an unusably narrow 4-up layout. */
@media (max-width:1099px) {
  html[data-theme] body.castlance-public-v8 .premium-pricing,
  html[data-theme] body.castlance-public-v8 .pricing-grid-v43,
  html[data-theme] body.castlance-public-v8 .journey,
  html[data-theme] body.castlance-public-v8 .labs-grid,
  html[data-theme] body.castlance-public-v8 .pricing-trust-row,
  html[data-theme] body.castlance-public-v8 .value-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px) {
  html[data-theme] body.castlance-public-v8 .premium-pricing,
  html[data-theme] body.castlance-public-v8 .pricing-grid-v43,
  html[data-theme] body.castlance-public-v8 .journey,
  html[data-theme] body.castlance-public-v8 .labs-grid,
  html[data-theme] body.castlance-public-v8 .pricing-trust-row,
  html[data-theme] body.castlance-public-v8 .value-grid {
    grid-template-columns:1fr !important;
  }
  html[data-theme] body.castlance-public-v8 .premium-pricing > article,
  html[data-theme] body.castlance-public-v8 .pricing-card-v43 { padding:22px !important; }
}
