/* CLINILINK saving calculator widget styles. v1.1.62 */
.clsave-widget{--green:#2f9a73;--green-dark:#1f6b50;--orange:#f47b20;--ink:#16342c;--muted:#64746f;--line:#dcebe5;font-family:'Onest',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}.clsave-widget *{box-sizing:border-box}.clsave-wrap{background:linear-gradient(135deg,#f4fbf7,#fff7ef);border:1px solid #dcebe5;border-radius:32px;padding:28px;overflow:hidden}.clsave-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;margin-bottom:22px}.clsave-badge{display:inline-flex;border-radius:999px;background:rgba(47,154,115,.12);color:var(--green-dark);font-weight:800;font-size:13px;padding:8px 12px;margin-bottom:12px}.clsave-title{font-size:38px;line-height:1.05;margin:0 0 14px;font-weight:950;letter-spacing:-.04em}.clsave-lead{font-size:18px;line-height:1.55;color:var(--muted);margin:0}.clsave-result-hero,.clsave-panel,.clsave-results,.clsave-leadbox{background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 18px 50px rgba(31,107,80,.08)}.clsave-result-label{color:var(--muted);font-size:14px;font-weight:700}.clsave-main-sum{transition:color .18s ease;font-size:42px;line-height:1.05;font-weight:950;color:var(--green-dark);letter-spacing:-.04em;margin:8px 0}.clsave-result-note{font-size:15px;color:var(--muted);line-height:1.45}.clsave-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.clsave-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.clsave-field label{display:block;font-weight:800;margin-bottom:7px}.clsave-input{width:100%;height:52px;border:1px solid #d7e8e1;border-radius:16px;padding:0 14px;font-size:16px;background:#fbfdfc}.clsave-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 5px rgba(47,154,115,.12)}.clsave-btn{border:0;border-radius:18px;background:var(--green);color:#fff;font-weight:900;padding:15px 20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:52px}.clsave-btn:hover{background:var(--orange);color:#fff}.clsave-btn-block{width:100%;margin-top:14px}.clsave-table{display:grid;gap:10px;margin-top:14px}.clsave-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #edf4f1}.clsave-row:last-child{border-bottom:0}.clsave-row strong{font-weight:950}.clsave-final-cards-title{font-size:24px;line-height:1.25;margin:24px 0 12px;font-weight:900;color:var(--ink);letter-spacing:-.02em}.clsave-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.clsave-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.clsave-card h4{margin:0 0 8px;font-size:18px}.clsave-card .sum{font-size:24px;font-weight:950;color:var(--green-dark)}.clsave-card.bad{background:#fffaf6}.clsave-leadbox{margin-top:22px}.clsave-lead-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.clsave-hidden{position:absolute;left:-9999px;opacity:0}.clsave-counter{text-align:center;margin-top:10px;color:var(--muted);font-size:13px}.clsave-status{padding:14px 16px;border-radius:18px;margin-bottom:16px;font-weight:800}.clsave-status.ok{background:rgba(47,154,115,.12);color:var(--green-dark);border:1px solid rgba(47,154,115,.24)}.clsave-status.err{background:rgba(184,50,39,.10);color:#b83227;border:1px solid rgba(184,50,39,.22)}.clsave-note{font-size:13px;color:var(--muted);line-height:1.45;margin-top:10px}
.clsave-row-value{display:inline-flex;align-items:center;gap:8px;justify-self:end}.clsave-help-btn-sm{width:26px;height:26px;border-radius:50%;border:1px solid rgba(47,154,115,.26);background:rgba(47,154,115,.09);color:var(--green-dark);font-weight:950;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease,transform .18s ease}.clsave-help-btn-sm:hover,.clsave-help-btn-sm:focus{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-1px);outline:none}.clsave-row-breakdown{display:none;grid-column:1/-1;margin:0 0 4px;padding:12px 14px;border-radius:16px;border:1px solid #dcebe5;background:#fbfdfc;color:var(--muted);font-size:13px;line-height:1.45}.clsave-row-breakdown.is-open{display:block}.clsave-row-breakdown b,.clsave-row-breakdown strong{color:var(--ink)}.clsave-mini-list{display:grid;gap:5px;margin-top:8px}.clsave-mini-line{display:grid;grid-template-columns:1fr auto;gap:10px}.clsave-mini-line.is-total{border-top:1px solid #e7f0ec;margin-top:4px;padding-top:6px;font-weight:850}.clsave-mini-line.is-section{border-top:1px solid #e7f0ec;margin-top:7px;padding-top:7px;font-weight:900;color:var(--ink)}

.clsave-lead-fields{opacity:1;transform:translateY(0);max-height:1400px;overflow:hidden;transition:opacity .32s ease,transform .32s ease,max-height .42s ease}.clsave-lead-fields.is-hidden{opacity:0;transform:translateY(-8px);max-height:0;pointer-events:none}.clsave-ajax-status{display:none;margin:0 0 16px}.clsave-ajax-status.is-visible{display:block}.clsave-btn[disabled]{opacity:.72;cursor:wait}.clsave-phone-error{display:block;min-height:0;margin-top:0;color:#b83227;font-size:13px;opacity:0;max-height:0;overflow:hidden;transition:opacity .22s ease,max-height .22s ease,margin .22s ease}.clsave-phone-error.is-visible{opacity:1;max-height:60px;margin-top:6px}.clsave-input.is-phone-error{border-color:rgba(184,50,39,.55);box-shadow:0 0 0 5px rgba(184,50,39,.10)}

.clsave-main-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.clsave-main-line .clsave-main-sum{margin:0}.clsave-help-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(47,154,115,.28);background:rgba(47,154,115,.10);color:var(--green-dark);font-weight:950;font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease,transform .18s ease}.clsave-help-btn:hover,.clsave-help-btn:focus{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-1px);outline:none}.clsave-breakdown{display:none;margin-top:14px;padding:16px;border-radius:20px;border:1px solid #dcebe5;background:#fbfdfc;box-shadow:0 12px 30px rgba(31,107,80,.07)}.clsave-breakdown.is-open{display:block}.clsave-breakdown-title{font-weight:950;margin:0 0 10px;font-size:15px}.clsave-breakdown-formula{padding:10px 12px;border-radius:14px;background:rgba(47,154,115,.09);color:var(--green-dark);font-weight:850;line-height:1.45;margin-bottom:10px}.clsave-breakdown-list{display:grid;gap:7px;font-size:14px;color:var(--muted)}.clsave-breakdown-line{display:grid;grid-template-columns:1fr auto;gap:10px}.clsave-breakdown-line strong{color:var(--ink);font-weight:900}.clsave-breakdown-line.is-total{padding-top:8px;margin-top:4px;border-top:1px solid #e7f0ec;color:var(--ink)}.clsave-breakdown-muted{font-size:13px;color:var(--muted);line-height:1.45;margin-top:10px}



/* Modal explanations for calculation help */
.clsave-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:22px}.clsave-modal.is-open{display:flex}.clsave-modal-backdrop{position:absolute;inset:0;background:rgba(16,38,32,.56);backdrop-filter:blur(4px)}.clsave-modal-dialog{position:relative;width:min(720px,100%);max-height:min(86vh,760px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 90px rgba(16,38,32,.28);padding:24px}.clsave-modal-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid #dcebe5;background:#fbfdfc;color:var(--ink);font-size:26px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease,border-color .18s ease}.clsave-modal-close:hover,.clsave-modal-close:focus{background:var(--orange);border-color:var(--orange);color:#fff;outline:none}.clsave-modal-kicker{display:inline-flex;margin:0 48px 10px 0;padding:7px 11px;border-radius:999px;background:rgba(47,154,115,.10);color:var(--green-dark);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.clsave-modal-title{margin:0 48px 16px 0;font-size:24px;line-height:1.16;font-weight:950;letter-spacing:-.02em}.clsave-modal-content{color:var(--muted);font-size:15px;line-height:1.5}.clsave-modal-content .clsave-breakdown,.clsave-modal-content .clsave-row-breakdown{display:block;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:15px;line-height:1.5}.clsave-modal-content .clsave-breakdown-title{display:none}.clsave-modal-content .clsave-breakdown-formula{margin-bottom:14px}.clsave-modal-content .clsave-breakdown-list,.clsave-modal-content .clsave-mini-list{gap:8px}.clsave-modal-content .clsave-breakdown-line,.clsave-modal-content .clsave-mini-line{grid-template-columns:1fr auto;align-items:start}.clsave-modal-content b{display:block;color:var(--ink);font-size:16px;margin-bottom:10px}.clsave-modal-content strong{color:var(--ink)}body.clsave-modal-lock{overflow:hidden}@media(max-width:767px){.clsave-modal{padding:12px}.clsave-modal-dialog{border-radius:22px;padding:20px;max-height:90vh}.clsave-modal-title{font-size:21px;margin-right:44px}.clsave-modal-content .clsave-breakdown-line,.clsave-modal-content .clsave-mini-line{grid-template-columns:1fr;gap:2px}.clsave-modal-close{top:12px;right:12px}}

@media(max-width:991px){.clsave-hero,.clsave-grid,.clsave-form-grid,.clsave-cards,.clsave-lead-grid{grid-template-columns:1fr}.clsave-title{font-size:30px}}


/* Aligned clinic parameters block */
.clsave-param-intro{margin:0 0 14px;padding:14px 16px;border-radius:18px;background:rgba(47,154,115,.09);border:1px solid rgba(47,154,115,.18);color:var(--green-dark);font-size:14px;line-height:1.5;font-weight:400}.clsave-param-grid{align-items:stretch}.clsave-param-card{display:flex;flex-direction:column;min-height:192px;padding:16px;border:1px solid #dcebe5;border-radius:20px;background:#fbfdfc}.clsave-param-card label{min-height:44px;display:flex;align-items:flex-start;margin-bottom:8px;line-height:1.2}.clsave-param-hint{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.4}.clsave-param-card .clsave-input{margin-top:auto;background:#fff}.clsave-param-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:rgba(47,154,115,.12);color:var(--green-dark);font-size:12px;font-weight:950;flex:0 0 auto}.clsave-panel h3{margin-top:0}@media(max-width:991px){.clsave-param-card{min-height:0}.clsave-param-card label{min-height:0}.clsave-param-grid{gap:12px}}


/* Modal content alignment */
.clsave-modal-content {
  text-align: left;
}

.clsave-modal-content .clsave-breakdown-formula,
.clsave-modal-content .clsave-breakdown-muted {
  text-align: justify;
  text-align-last: left;
}

.clsave-modal-content .clsave-breakdown-line span,
.clsave-modal-content .clsave-mini-line span {
  text-align: left;
}

.clsave-modal-content .clsave-breakdown-line strong,
.clsave-modal-content .clsave-mini-line strong {
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .clsave-modal-content .clsave-breakdown-formula,
  .clsave-modal-content .clsave-breakdown-muted {
    text-align: left;
  }
  .clsave-modal-content .clsave-breakdown-line strong,
  .clsave-modal-content .clsave-mini-line strong {
    text-align: left;
    white-space: normal;
  }
}



/* Final launch and technical split before lead form */
.clsave-cost-split{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 18px 50px rgba(31,107,80,.08)}
.clsave-cost-split h3{margin:0 0 8px;font-size:24px;line-height:1.2;font-weight:950;letter-spacing:-.02em}.clsave-cost-split-intro{margin:0 0 16px;color:var(--muted);line-height:1.5;font-size:14px}.clsave-cost-split-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.clsave-cost-stack{border:1px solid #e1eee8;border-radius:22px;padding:18px;background:#fbfdfc}.clsave-cost-stack.is-primary{background:linear-gradient(180deg,rgba(47,154,115,.08),#fff);border-color:rgba(47,154,115,.22)}.clsave-cost-stack h4{margin:0 0 12px;font-size:17px;font-weight:950}.clsave-cost-group{border-top:1px solid #e7f0ec;padding-top:12px;margin-top:12px}.clsave-cost-group:first-of-type{border-top:0;padding-top:0;margin-top:0}.clsave-cost-group-title{font-weight:900;color:var(--green-dark);margin-bottom:8px}.clsave-cost-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;font-size:14px;color:var(--muted);padding:5px 0}.clsave-cost-line strong{color:var(--ink);font-weight:900;text-align:right;white-space:nowrap}.clsave-cost-line.is-total{border-top:1px solid #e7f0ec;margin-top:6px;padding-top:9px;color:var(--ink);font-weight:900}.clsave-cost-line.is-total strong{color:var(--green-dark);font-size:17px}.clsave-cost-footnote{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:991px){.clsave-cost-split-grid{grid-template-columns:1fr}.clsave-cost-line strong{text-align:right}}



/* v1.1.16: center main CMS saving value */
.clsave-result-hero .clsave-main-line{
  justify-content:center;
  text-align:center;
}
.clsave-result-hero .clsave-main-sum{
  text-align:center;
}
.clsave-result-hero .clsave-breakdown-formula .clsave-formula-line{
  display:block;
  margin-top:6px;
}



/* v1.1.17 — readability and orange buttons */
.clsave-widget {
  --orange: #f47b20;
  --orange-dark: #df6512;
  --orange-soft: rgba(244, 123, 32, .12);
  --soft-bg: #fbfdfc;
  font-size: 16px;
}

.clsave-widget .clsave-wrap {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding: 32px;
  background: linear-gradient(135deg, #f7fcfa 0%, #fff7ef 100%);
}

.clsave-widget .clsave-title {
  max-width: 900px;
  line-height: 1.08;
}

.clsave-widget .clsave-lead {
  max-width: 820px;
  color: #536661;
}

.clsave-widget .clsave-result-hero,
.clsave-widget .clsave-panel,
.clsave-widget .clsave-results,
.clsave-widget .clsave-leadbox,
.clsave-widget .clsave-card {
  border-color: #d8e7e1;
  box-shadow: 0 16px 44px rgba(22, 52, 44, .07);
}

.clsave-widget .clsave-panel h3,
.clsave-widget .clsave-results h3,
.clsave-widget .clsave-leadbox h3 {
  margin-top: 0;
  margin-bottom: 14px;
  font-size: 22px;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.clsave-widget .clsave-param-intro {
  color: #254b40;
  background: rgba(47, 154, 115, .08);
  border-color: rgba(47, 154, 115, .20);
}

.clsave-widget .clsave-param-card {
  min-height: 214px;
  padding: 18px;
  background: #fff;
  border-color: #d8e7e1;
  box-shadow: 0 10px 24px rgba(22, 52, 44, .045);
}

.clsave-widget .clsave-param-card label {
  min-height: 48px;
  font-size: 15px;
}

.clsave-widget .clsave-param-number {
  background: var(--orange);
  color: #fff;
}

.clsave-widget .clsave-param-hint,
.clsave-widget .clsave-note,
.clsave-widget .clsave-result-note {
  color: #5c6e69;
}

.clsave-widget .clsave-input {
  border-color: #d5e6df;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.clsave-widget .clsave-input:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 5px rgba(244, 123, 32, .14);
}

.clsave-widget .clsave-btn,
.clsave-widget a.clsave-btn,
.clsave-widget button.clsave-btn,
.clsave-widget input.clsave-btn {
  background: var(--orange) !important;
  border: 1px solid var(--orange) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(244, 123, 32, .23);
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.clsave-widget .clsave-btn:hover,
.clsave-widget .clsave-btn:focus,
.clsave-widget .clsave-btn:active,
.clsave-widget a.clsave-btn:hover,
.clsave-widget button.clsave-btn:hover {
  background: var(--orange-dark) !important;
  border-color: var(--orange-dark) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(244, 123, 32, .30);
  outline: none;
}

.clsave-widget .clsave-btn[disabled] {
  background: var(--orange) !important;
  color: #fff !important;
  opacity: .68;
  transform: none;
}

.clsave-widget .clsave-help-btn,
.clsave-widget .clsave-help-btn-sm {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
  box-shadow: 0 8px 16px rgba(244, 123, 32, .18);
}

.clsave-widget .clsave-help-btn:hover,
.clsave-widget .clsave-help-btn:focus,
.clsave-widget .clsave-help-btn-sm:hover,
.clsave-widget .clsave-help-btn-sm:focus {
  background: var(--orange-dark) !important;
  border-color: var(--orange-dark) !important;
  color: #fff !important;
}

.clsave-widget .clsave-table {
  gap: 8px;
}

.clsave-widget .clsave-row {
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #e7f0ec;
  border-radius: 16px;
  background: #fff;
}

.clsave-widget .clsave-row + .clsave-row {
  margin-top: 0;
}

.clsave-widget .clsave-row:last-child {
  border-bottom: 1px solid #e7f0ec;
}

.clsave-widget .clsave-row > span:first-child {
  color: #344d45;
  font-weight: 750;
  line-height: 1.35;
}

.clsave-widget .clsave-row-value strong {
  font-size: 16px;
  line-height: 1.2;
}

.clsave-widget .clsave-stack-split {
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #d8e7e1;
  box-shadow: 0 14px 34px rgba(22,52,44,.055);
}

.clsave-widget .clsave-card .sum,
.clsave-widget .clsave-main-sum {
  color: var(--green-dark);
}

.clsave-widget .clsave-lead-grid .clsave-field label {
  color: #344d45;
}

.clsave-widget .clsave-modal-dialog {
  box-shadow: 0 34px 100px rgba(16, 38, 32, .32);
}

.clsave-widget .clsave-modal-close {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #fff !important;
}

.clsave-widget .clsave-modal-close:hover,
.clsave-widget .clsave-modal-close:focus {
  background: var(--orange-dark) !important;
  border-color: var(--orange-dark) !important;
  color: #fff !important;
}

@media(max-width: 991px) {
  .clsave-widget .clsave-wrap {
    padding: 22px;
    border-radius: 24px;
  }
  .clsave-widget .clsave-param-card {
    min-height: 0;
  }
}

@media(max-width: 767px) {
  .clsave-widget .clsave-wrap {
    padding: 16px;
  }
  .clsave-widget .clsave-title {
    font-size: 30px;
  }
  .clsave-widget .clsave-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .clsave-widget .clsave-row-value {
    justify-self: start;
  }
}



/* v1.1.19 — normal labels and right aligned values in result rows */
.clsave-widget .clsave-results .clsave-row {
  grid-template-columns: minmax(0, 1fr) auto;
  justify-items: stretch;
  align-items: center;
  text-align: left;
}

.clsave-widget .clsave-results .clsave-row > span:first-child {
  text-align: left;
  font-weight: 400;
  color: #344d45;
}

.clsave-widget .clsave-results .clsave-row-value {
  justify-self: end;
  text-align: right;
  justify-content: flex-end;
}

.clsave-widget .clsave-results .clsave-row-value strong {
  text-align: right;
  font-weight: 800;
  white-space: nowrap;
}

.clsave-widget .clsave-results .clsave-row-breakdown {
  width: 100%;
}

@media(max-width: 767px) {
  .clsave-widget .clsave-results .clsave-row {
    grid-template-columns: 1fr;
  }
  .clsave-widget .clsave-results .clsave-row-value {
    justify-self: end;
  }
}



/* v1.1.20 — full width widget */
.clsave-widget {
  width: 100%;
  max-width: 100%;
}

.clsave-widget .clsave-wrap {
  width: 100%;
  max-width: none;
}


.clsave-widget .clsave-param-intro{font-weight:400!important}

.clsave-widget .clsave-results-note{margin:4px 0 14px;color:var(--muted);font-size:14px;line-height:1.45;font-weight:400;text-align:left}


/* v1.1.26 — modal formula decomposition */
.clsave-widget .clsave-auto-formula .clsave-formula-line{
  display:block;
  margin:0 0 7px;
}
.clsave-widget .clsave-auto-formula .clsave-formula-line:last-child{
  margin-bottom:0;
}
.clsave-widget .clsave-auto-formula b{
  display:inline;
  margin:0;
  font-size:inherit;
}



/* v1.1.30 — Bootstrap 4-like danger highlight for lost patients / leads */
.clsave-widget .clsave-breakdown-line.is-loss,
.clsave-widget .clsave-mini-line.is-loss,
.clsave-modal-content .clsave-breakdown-line.is-loss,
.clsave-modal-content .clsave-mini-line.is-loss,
.clsave-modal-content .alert.alert-danger {
  color: #721c24;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: .25rem;
  padding: .75rem 1rem;
  margin: .35rem 0;
}
.clsave-widget .clsave-breakdown-line.is-loss strong,
.clsave-widget .clsave-mini-line.is-loss strong,
.clsave-modal-content .clsave-breakdown-line.is-loss strong,
.clsave-modal-content .clsave-mini-line.is-loss strong,
.clsave-modal-content .alert.alert-danger strong {
  color: #721c24;
}

/* v1.1.30 — live recalculation loader */
.clsave-widget .clsave-btn-loader {
  display: none;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: clsaveSpin .75s linear infinite;
}
.clsave-widget .clsave-btn.is-loading .clsave-btn-text {
  display: none;
}
.clsave-widget .clsave-btn.is-loading .clsave-btn-loader {
  display: inline-block;
}
@keyframes clsaveSpin { to { transform: rotate(360deg); } }

/* v1.1.30 — price card split */
.clsave-widget .clsave-card-breakdown {
  display: grid;
  gap: 8px;
  margin: 12px 0 10px;
  padding-top: 12px;
  border-top: 1px solid #edf4f1;
}
.clsave-widget .clsave-card-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}
.clsave-widget .clsave-card-line strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  text-align: right;
}
@media(max-width:575px){
  .clsave-widget .clsave-card-line { grid-template-columns: 1fr; gap: 2px; }
  .clsave-widget .clsave-card-line strong { text-align: left; }
}

/* v1.1.38 — launch price card help buttons */
.clsave-widget .clsave-card-line .clsave-card-line-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  justify-self: end;
}
.clsave-widget .clsave-card-line .clsave-card-line-value strong {
  text-align: right;
}
.clsave-widget .clsave-card-line .clsave-card-line-value .clsave-help-btn-sm {
  flex: 0 0 auto;
}
@media(max-width:575px){
  .clsave-widget .clsave-card-line .clsave-card-line-value {
    justify-self: start;
    justify-content: flex-start;
  }
}



/* v1.1.31 — recalculated state */
.clsave-widget .clsave-btn.is-done {
  background: #1f9d65;
  border-color: #1f9d65;
  color: #fff;
}
.clsave-widget .clsave-btn.is-done:hover,
.clsave-widget .clsave-btn.is-done:focus {
  background: #178553;
  border-color: #178553;
  color: #fff;
}



/* v1.1.35 — advantage/risk highlighting inside estimates */
.clsave-widget .clsave-mini-line.is-clsave-advantage {
  background: rgba(47, 154, 115, .10);
  border: 1px solid rgba(47, 154, 115, .24);
  border-radius: 12px;
  color: #1f6b50;
  padding: 8px 10px;
}
.clsave-widget .clsave-mini-line.is-clsave-advantage strong {
  color: #1f6b50;
}
.clsave-widget .clsave-mini-line.is-stack-risk {
  background: rgba(220, 53, 69, .08);
  border: 1px solid rgba(220, 53, 69, .22);
  border-radius: 12px;
  color: #b83227;
  padding: 8px 10px;
}
.clsave-widget .clsave-mini-line.is-stack-risk strong {
  color: #b83227;
}


/* v1.1.36 — modal explanatory note */
.clsave-modal-note {
  margin: -2px 0 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  text-align: left;
}



/* v1.1.37 — compact orange CTA in main CMS saving block */
.clsave-widget .clsave-result-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-top: 14px;
  padding: 9px 15px;
  border: 0;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(244, 123, 32, .22);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.clsave-widget .clsave-result-cta:hover,
.clsave-widget .clsave-result-cta:focus {
  background: #df6814;
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(244, 123, 32, .30);
  outline: none;
}
.clsave-widget .clsave-result-cta:active { transform: translateY(0); }


/* v1.1.39 — compact help icons in price cards */
.clsave-widget .clsave-card-line .clsave-card-line-value {
  gap: 5px;
}
.clsave-widget .clsave-card-line .clsave-card-line-value .clsave-help-btn-sm {
  width: 18px;
  height: 18px;
  min-width: 18px;
  flex-basis: 18px;
  font-size: 10px;
  line-height: 1;
  border-width: 1px;
}



/* v1.1.40 — center CTA in CMS saving block */
.clsave-widget .clsave-result-hero .clsave-result-cta {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}


/* Font family override: site already loads Onest */
.clsave-widget,
.clsave-widget input,
.clsave-widget button,
.clsave-widget textarea,
.clsave-widget select {
  font-family: "Onest", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}


/* v1.1.42 — agreement html links */
/* v1.1.51 agreement links open in new window */
.clsave-widget .clsave-agreement{display:block;margin-top:14px;color:#64746f;font-size:13px;line-height:1.45;font-weight:400}
.clsave-widget .clsave-agreement a{color:var(--green-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}.clsave-widget .clsave-agreement a:hover{color:var(--orange)}
.clsave-widget .clsave-agreement .is_required{color:#b83227;margin-left:2px;font-weight:900}


/* v1.1.43 — period price layout in modal estimates */
.clsave-widget .clsave-period-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  line-height: 1.15;
}
.clsave-widget .clsave-period-price .clsave-period-total {
  display: block;
  color: var(--ink);
  font-weight: 900;
}
.clsave-widget .clsave-period-price .clsave-period-detail {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
}
.clsave-modal-content .clsave-period-price .clsave-period-detail {
  font-size: 12px;
}
@media(max-width:767px){
  .clsave-widget .clsave-period-price { align-items: flex-start; }
}



/* v1.1.44 — force monthly detail to a separate line in modal estimates */
.clsave-period-price,
.clsave-modal .clsave-period-price,
.clsave-widget .clsave-period-price {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 3px !important;
  line-height: 1.15 !important;
  vertical-align: top !important;
}

.clsave-period-price .clsave-period-total,
.clsave-modal .clsave-period-price .clsave-period-total,
.clsave-widget .clsave-period-price .clsave-period-total {
  display: block !important;
  width: 100% !important;
  color: var(--ink, #16342c) !important;
  font-weight: 900 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.clsave-period-price .clsave-period-detail,
.clsave-modal .clsave-period-price .clsave-period-detail,
.clsave-widget .clsave-period-price .clsave-period-detail {
  display: block !important;
  width: 100% !important;
  clear: both !important;
  color: var(--muted, #64746f) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.clsave-modal .clsave-mini-line > strong .clsave-period-price,
.clsave-modal .clsave-breakdown-line > strong .clsave-period-price {
  width: 100% !important;
}

@media(max-width:767px){
  .clsave-period-price,
  .clsave-modal .clsave-period-price,
  .clsave-widget .clsave-period-price {
    align-items: flex-start !important;
  }
  .clsave-period-price .clsave-period-total,
  .clsave-period-price .clsave-period-detail,
  .clsave-modal .clsave-period-price .clsave-period-total,
  .clsave-modal .clsave-period-price .clsave-period-detail,
  .clsave-widget .clsave-period-price .clsave-period-total,
  .clsave-widget .clsave-period-price .clsave-period-detail {
    text-align: left !important;
  }
}



/* 1.1.46: separate server / SSL / backup rows and keep values aligned */
.clsave-widget .clsave-mini-line,
.clsave-modal-content .clsave-mini-line {
  grid-template-columns: minmax(0, 1fr) minmax(128px, max-content);
  align-items: start;
}

.clsave-widget .clsave-mini-line > span,
.clsave-modal-content .clsave-mini-line > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.clsave-widget .clsave-mini-line > strong,
.clsave-modal-content .clsave-mini-line > strong {
  min-width: 128px;
  text-align: right;
}

@media (max-width: 575.98px) {
  .clsave-widget .clsave-mini-line,
  .clsave-modal-content .clsave-mini-line {
    grid-template-columns: minmax(0, 1fr) minmax(96px, max-content);
    gap: 8px;
  }

  .clsave-widget .clsave-mini-line > strong,
  .clsave-modal-content .clsave-mini-line > strong {
    min-width: 96px;
  }
}



/* v1.1.54 — form subtitle, optional results HTML and visible result controls */
.clsave-widget .clsave-form-subtitle {
  margin: -4px 0 16px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
}
.clsave-widget .clsave-results-html {
  margin-top: 16px;
  padding: 0px;
  border: 1px solid #e1eee8;
  border-radius: 18px;
  background: #fbfdfc;
}
.clsave-widget .clsave-video-embed,
.clsave-video-embed {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #0f241f;
}
.clsave-widget .clsave-video-embed::before,
.clsave-video-embed::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.clsave-widget .clsave-video-embed iframe,
.clsave-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}


/* v1.1.56 — trusted player HTML block */
.clsave-widget .clsave-results-html,
.clsave-results-html {
  width: 100%;
  overflow: hidden;
}
.clsave-widget .clsave-results-html iframe,
.clsave-results-html iframe,
.clsave-widget .clsave-results-html video,
.clsave-results-html video,
.clsave-widget .clsave-results-html embed,
.clsave-results-html embed,
.clsave-widget .clsave-results-html object,
.clsave-results-html object {
  max-width: 100%;
}


/* v1.1.58 — responsive video block under clsave-table */
.clsave-widget .clsave-results-media,
.clsave-results-media {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-top: 16px;
}
.clsave-widget .clsave-results-media .clsave-results-html,
.clsave-results-media .clsave-results-html {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}
.clsave-widget .clsave-results-media .clsave-results-html + .clsave-results-html,
.clsave-results-media .clsave-results-html + .clsave-results-html {
  margin-top: 14px;
}
.clsave-widget .clsave-video-embed,
.clsave-video-embed {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 16 / 9;
  height: auto;
}
.clsave-widget .clsave-video-embed::before,
.clsave-video-embed::before {
  display: none !important;
  padding-top: 0 !important;
}
.clsave-widget .clsave-results-html iframe,
.clsave-results-html iframe,
.clsave-widget .clsave-results-html embed,
.clsave-results-html embed,
.clsave-widget .clsave-results-html object,
.clsave-results-html object {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 220px;
  aspect-ratio: 16 / 9;
  border: 0;
}
.clsave-widget .clsave-results-html video,
.clsave-results-html video {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
.clsave-widget .clsave-video-embed iframe,
.clsave-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
}
@media (max-width: 575.98px) {
  .clsave-widget .clsave-results-html iframe,
  .clsave-results-html iframe,
  .clsave-widget .clsave-results-html embed,
  .clsave-results-html embed,
  .clsave-widget .clsave-results-html object,
  .clsave-results-html object {
    min-height: 180px;
  }
}


/* v1.1.59 — force video embeds responsive */
.clsave-results-media,
.clsave-results-media .clsave-results-html,
.clsave-results-media .clsave-video-embed {
  width: 100% !important;
  max-width: 100% !important;
}
.clsave-results-media iframe,
.clsave-results-media video,
.clsave-results-media embed,
.clsave-results-media object {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 360px;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 18px;
}
@media (max-width: 575.98px) {
  .clsave-results-media iframe,
  .clsave-results-media video,
  .clsave-results-media embed,
  .clsave-results-media object {
    min-height: 220px;
  }
}


/* v1.1.60 agreement gate */
.clsave-widget .clsave-btn.is-disabled-by-agreement,
.clsave-widget .clsave-btn.is-disabled-by-agreement:hover,
.clsave-widget .clsave-btn.is-disabled-by-agreement:focus {
  background: #ced4da !important;
  border-color: #ced4da !important;
  color: #6c757d !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: not-allowed !important;
}
.clsave-widget .clsave-agreement input:focus-visible {
  outline: 3px solid rgba(255, 122, 26, .32);
  outline-offset: 3px;
}



/* v1.1.61 — video/html result block without inner padding */
.clsave-widget .clsave-results-html,
.clsave-results-html {
  padding: 0 !important;
}


/* v1.1.64 agreement tooltip near checkbox */
.clsave-agreement-box {
  position: relative;
  margin-top: 14px;
}

.clsave-widget .clsave-agreement-box .clsave-agreement {
  margin-top: 0;
}

.clsave-agreement-tooltip {
  position: absolute;
  left: 26px;
  top: calc(100% + 8px);
  z-index: 50;
  max-width: 420px;
  padding: 9px 12px;
  border: 1px solid #f5c6cb;
  border-radius: 12px;
  background: #f8d7da;
  color: #721c24;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  box-shadow: 0 12px 28px rgba(114, 28, 36, .14);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.clsave-agreement-tooltip:before {
  content: "";
  position: absolute;
  left: 14px;
  top: -7px;
  width: 12px;
  height: 12px;
  border-left: 1px solid #f5c6cb;
  border-top: 1px solid #f5c6cb;
  background: #f8d7da;
  transform: rotate(45deg);
}

.clsave-agreement-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.clsave-agreement-box.is-error .clsave-agreement {
  color: #721c24;
}

.clsave-agreement-box.is-error input[type="checkbox"] {
  outline: 2px solid rgba(220, 53, 69, .35);
  outline-offset: 2px;
}

@media (max-width: 575.98px) {
  .clsave-agreement-tooltip {
    left: 0;
    right: 0;
    max-width: none;
  }

  .clsave-agreement-tooltip:before {
    left: 18px;
  }
}


/* v1.1.67: four visible calculator parameters as 2 columns x 2 rows */
.clsave-widget .clsave-param-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.clsave-widget .clsave-param-card {
  min-height: 192px;
}

@media (max-width: 767px) {
  .clsave-widget .clsave-param-grid {
    grid-template-columns: 1fr;
  }

  .clsave-widget .clsave-param-card {
    min-height: 0;
  }
}


/* v1.1.70: main saving block moved under results */
.clsave-widget .clsave-hero {
  grid-template-columns: 1fr;
}

.clsave-widget .clsave-result-hero.is-after-results {
  margin-top: 16px;
}


/* v1.1.72 — responsive modal estimates: keep prices aligned right */
.clsave-modal .clsave-modal-dialog {
  width: min(720px, calc(100vw - 24px));
}

.clsave-modal .clsave-modal-content .clsave-mini-line,
.clsave-modal .clsave-modal-content .clsave-breakdown-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(118px, max-content) !important;
  align-items: start !important;
  column-gap: 12px !important;
}

.clsave-modal .clsave-modal-content .clsave-mini-line > span,
.clsave-modal .clsave-modal-content .clsave-breakdown-line > span {
  min-width: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

.clsave-modal .clsave-modal-content .clsave-mini-line > strong,
.clsave-modal .clsave-modal-content .clsave-breakdown-line > strong {
  justify-self: end !important;
  min-width: 118px !important;
  text-align: right !important;
  white-space: normal !important;
}

.clsave-modal .clsave-modal-content .clsave-period-price {
  align-items: flex-end !important;
  text-align: right !important;
}

.clsave-modal .clsave-modal-content .clsave-period-total,
.clsave-modal .clsave-modal-content .clsave-period-detail {
  text-align: right !important;
}

@media (max-width: 575.98px) {
  .clsave-modal {
    padding: 10px !important;
  }

  .clsave-modal .clsave-modal-dialog {
    width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  .clsave-modal .clsave-modal-kicker {
    margin-right: 42px !important;
    font-size: 11px !important;
  }

  .clsave-modal .clsave-modal-title {
    margin-right: 42px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .clsave-modal .clsave-modal-content {
    font-size: 14px !important;
  }

  .clsave-modal .clsave-modal-content .clsave-mini-line,
  .clsave-modal .clsave-modal-content .clsave-breakdown-line {
    grid-template-columns: minmax(0, 1fr) minmax(92px, max-content) !important;
    column-gap: 8px !important;
  }

  .clsave-modal .clsave-modal-content .clsave-mini-line > strong,
  .clsave-modal .clsave-modal-content .clsave-breakdown-line > strong {
    min-width: 92px !important;
    text-align: right !important;
  }

  .clsave-modal .clsave-modal-content .clsave-period-price {
    align-items: flex-end !important;
  }

  .clsave-modal .clsave-modal-content .clsave-period-total,
  .clsave-modal .clsave-modal-content .clsave-period-detail {
    text-align: right !important;
    white-space: normal !important;
  }
}


/* v1.1.73 — mobile/adaptive order: CMS saving block directly under calculator */
@media (max-width: 991px) {
  .clsave-widget .clsave-grid {
    display: grid;
  }

  .clsave-widget .clsave-grid > .clsave-panel {
    order: 1;
  }

  .clsave-widget .clsave-grid > .clsave-result-hero.is-after-results {
    order: 2;
    margin-top: 0;
  }

  .clsave-widget .clsave-grid > .clsave-results {
    order: 3;
  }
}

/* Automatic recalculation note */
.clsave-widget .clsave-auto-recalc-note {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px dashed var(--orange);
  border-radius: 14px;
  background: rgba(255, 122, 0, .06);
  color: #6f6f6f;
  font-weight: 400;
  line-height: 1.45;
}

@media (max-width: 767px) {
  .clsave-widget .clsave-auto-recalc-note {
    padding: 9px 10px;
    border-radius: 12px;
    font-size: 12.5px;
  }
}

/* v1.1.77 CSP/video fallback */
.clsave-video-fallback {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.35;
  text-align: center;
}
.clsave-video-fallback a {
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* v1.1.78: lead form message field moved from inline style to CSS */
.clsave-widget .clsave-lead-message-field{margin-top:14px}
.clsave-widget textarea.clsave-lead-message{height:96px;padding-top:14px}
