/* Scoped styles: the rest of the commercial website keeps its current layout. */
.crm-contract { --order-ink: #112e29; --order-border: #dce8e3; --order-mint: #edf7f3; color: var(--order-ink); }
.crm-contract h1, .crm-contract h2, .crm-contract h3 { color: var(--order-ink); }
.crm-contract-hero { padding: clamp(2.6rem, 6vw, 5rem) 0; background: #f2f8f5; border-bottom: 1px solid var(--order-border); }
.crm-contract-hero h1 { max-width: 17ch; margin: .6rem 0 1rem; font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.08; letter-spacing: -.04em; }
.crm-contract-hero .lead { max-width: 66ch; }
.crm-contract .order-wrap { padding-block: clamp(2rem, 4vw, 3.5rem); }
.crm-contract .order-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; color: #086151; font-weight: 700; margin-bottom: .5rem; }
.crm-contract .order-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.4rem; }
.crm-contract .order-card { border: 1px solid var(--order-border); border-radius: 1rem; background: #fff; padding: 1rem; min-width: 0; display: flex; flex-direction: column; gap: .7rem; }
.crm-contract .order-card h3, .crm-contract .order-card p { margin: 0; }
.crm-contract .order-card ul { margin: 0 0 .3rem; padding-left: 1.2rem; }
.crm-contract .order-card .btn { margin-top: auto; justify-content: center; width: 100%; }
.crm-contract .order-card button[aria-pressed="true"] { background: #095747; color: #fff; border-color: #095747; }
.crm-plan-figure { margin: 0 0 .45rem; }
.crm-plan-figure img { display: block; width: 100%; aspect-ratio: 1.8; object-fit: cover; object-position: top left; border: 1px solid #e0ebe5; border-radius: .7rem; background: #f4f9f7; }
.crm-plan-figure figcaption { margin-top: .4rem; font-size: .75rem; color: #445f57; }
.price-card[data-contract-card] > .btn + .btn { margin-top: .5rem; }
.crm-contract .order-money { font-size: 1.03rem; font-weight: 700; color: #084c40; }
.crm-contract .order-note { color: #3d5950; font-size: .9rem; }
.crm-contract .order-sheet .order-note { margin: .5rem 0 .85rem; }
.crm-contract .order-sheet .order-summary-grid + p { margin: 1rem 0 .75rem; }
.crm-contract #resumen { scroll-margin-top: 2.5rem; }
.crm-contract .order-sheet { border: 1px solid var(--order-border); border-radius: 1rem; padding: clamp(1rem, 3vw, 2rem); background: var(--order-mint); }
.crm-contract .order-summary-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1rem, 3vw, 2.25rem); align-items: start; }
.crm-contract .order-form { display: grid; gap: .75rem; }
.crm-contract .order-form label { display: grid; gap: .25rem; font-size: .92rem; font-weight: 600; }
.crm-contract .order-form select { width: 100%; padding: .62rem .72rem; border: 1px solid #9db8ad; border-radius: .45rem; background: #fff; color: var(--order-ink); font: inherit; }
.crm-contract .order-totals { background: #fff; border: 1px solid var(--order-border); border-radius: .75rem; padding: 1rem; }
.crm-contract .order-totals dl { margin: .3rem 0 .8rem; }
.crm-contract .order-totals dl > div { display: flex; justify-content: space-between; gap: .8rem; margin: 0 0 .55rem; }
.crm-contract .order-totals dd { margin: 0; font-weight: 700; text-align: right; }
.crm-contract .order-total { border-top: 1px solid var(--order-border); padding-top: .8rem; font-size: 1.15rem; }
.crm-contract .order-steps { padding-left: 1.2rem; }
.crm-contract .order-steps li { margin-bottom: .55rem; }
.crm-legal-details { line-height: 1.65; }
.crm-legal-details address { font-style: normal; }
.crm-legal-details a { text-decoration: underline; text-underline-offset: .15em; }
.crm-legal-details h2 { margin-top: 1.5rem; }
.site-footer .crm-commerce-contact { margin-top: .55rem; }
.site-footer .crm-commerce-contact address { color: inherit; font-size: .82rem; font-style: normal; max-width: 28ch; }
.crm-contract [hidden] { display: none !important; }
@media (max-width: 790px) {
  .crm-contract .order-grid, .crm-contract .order-summary-grid { grid-template-columns: minmax(0, 1fr); }
  .crm-contract .order-card { gap: .55rem; }
  .crm-contract .order-form select { font-size: 1rem; }
}
