body.cmg-template-calculator .ast-article-single { max-width: 72rem; }
body.cmg-template-calculator .entry-header,
body.cmg-template-calculator .entry-content { max-width: 60rem; }
body.cmg-template-calculator .entry-title { max-width: 19ch; }

body.cmg-template-calculator .cmg-fee-tool {
  margin: 2.25rem 0 3rem !important;
  padding: clamp(1.25rem, 4vw, 2.25rem) !important;
  border: 1px solid var(--cmg-border) !important;
  border-radius: var(--cmg-radius-lg) !important;
  background: linear-gradient(180deg, #fff 0%, #f7fbf9 100%) !important;
  box-shadow: var(--cmg-shadow-md) !important;
}

body.cmg-template-calculator .cmg-fee-tool > h2 { max-width: 18ch; margin-top: 0 !important; font-size: clamp(2.1rem, 4vw, 3rem) !important; }
body.cmg-template-calculator .cmg-fee-tool__grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem 1.25rem !important; }
body.cmg-template-calculator .cmg-fee-tool__grid > div { min-width: 0; }
body.cmg-template-calculator .cmg-fee-tool input { min-height: 3.25rem; border-color: var(--cmg-border-strong); background: #fff; }
body.cmg-template-calculator .cmg-fee-tool small { display: block; margin-top: 0.35rem; color: var(--cmg-muted); font-size: 0.8125rem; line-height: 1.4; }
body.cmg-template-calculator #cmg-fee-summary { margin: 1.25rem 0 0; padding: 1rem; border: 1px solid #c5ddd5; border-radius: var(--cmg-radius-md); background: var(--cmg-success-soft); color: var(--cmg-ink); font-weight: 750; }
body.cmg-template-calculator .cmg-fee-tool table { margin-bottom: 0; }

@media (max-width: 700px) {
  body.cmg-template-calculator .cmg-fee-tool { padding: 1rem !important; border-radius: var(--cmg-radius-md) !important; }
  body.cmg-template-calculator .cmg-fee-tool__grid { grid-template-columns: 1fr !important; gap: 0.875rem !important; }
  body.cmg-template-calculator .cmg-fee-tool > h2 { font-size: 2rem !important; }
  body.cmg-template-calculator .cmg-fee-tool table { display: block; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
}
