/* Innova consolidation calculator (shared by the [innova_calculator] shortcode and landing pages) */
.lp-calc {
    --lp-orange: #f25d21; --lp-orange-dark: #c9481a; --lp-charcoal: #2b2c2e; --lp-ink: #2b2c2e;
    --lp-muted: #5c5f63; --lp-line: #e3e3e1; --lp-soft: #f6f5f3; --lp-white: #ffffff;
    --lp-radius-sm: 4px; --lp-radius-lg: 12px; --lp-gap: clamp(1.5rem, 4vw, 3rem);
    container: lpcalc / inline-size; color: var(--lp-ink); line-height: 1.6;
}
.lp-calc, .lp-calc *, .lp-calc *::before, .lp-calc *::after { box-sizing: border-box; }
.lp-calc p { margin-top: 0; }
.lp-calc--embed { margin: 2rem 0; }
.lp-calc--embed .lp-calc__head { margin-bottom: 1.5rem; }
.lp-calc--embed .lp-calc__title { font-family: var(--font-aeonik, inherit); font-size: 1.5rem; line-height: 1.2; font-weight: 400; margin: 0 0 0.5rem; color: var(--lp-ink); }
.lp-calc--embed .lp-calc__intro { color: var(--lp-muted); margin: 0; }
.lp-calc .lp-h3 { font-family: var(--font-aeonik, inherit); font-size: 1.2rem; line-height: 1.3; font-weight: 400; margin: 0 0 0.4rem; color: var(--lp-ink); }
.lp-calc .lp-btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0.85rem 1.6rem;
    border-radius: var(--lp-radius-sm); font-size: 1.125rem; font-weight: 700; line-height: 1.2; text-decoration: none;
    border: 2px solid transparent; background: var(--lp-orange); color: var(--lp-white); transition: background-color .15s ease;
}
.lp-calc .lp-btn:hover { background: var(--lp-orange-dark); color: var(--lp-white); }
.lp-calc .lp-btn:focus-visible { outline: 3px solid var(--lp-orange); outline-offset: 3px; }

.lp-calc__grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: var(--lp-gap); align-items: start; }
.lp-calc__packages { border: 0; padding: 0; margin: 0 0 1.5rem; }
.lp-calc__packages legend { padding: 0; margin-bottom: 1rem; }
.lp-calc__chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.lp-calc__chip { position: relative; cursor: pointer; }
.lp-calc__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lp-calc__chip span {
    display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; padding: 0.55rem 1rem;
    border: 1.5px solid var(--lp-line); border-radius: 999px; font-weight: 600; font-size: 0.975rem;
    color: var(--lp-ink); background: var(--lp-white); transition: background-color .15s ease, border-color .15s ease;
}
.lp-calc__chip span::before {
    content: ""; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--lp-muted); flex-shrink: 0;
}
.lp-calc__chip input:checked + span { border-color: var(--lp-orange); background: #fff3ed; }
.lp-calc__chip input:checked + span::before {
    border-color: var(--lp-orange);
    background: var(--lp-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.lp-calc__chip input:focus-visible + span { outline: 3px solid var(--lp-orange); outline-offset: 2px; }


.lp-calc__results { background: var(--lp-soft); border-radius: var(--lp-radius-lg); padding: clamp(1.25rem, 3vw, 2rem); }
.lp-calc .lp-calc__empty { padding: 0.9rem 1rem; background: var(--lp-white); border-radius: var(--lp-radius-sm); margin-bottom: 1rem; font-weight: 600; }
.lp-calc.is-empty .lp-calc__compare, .lp-calc.is-empty .lp-calc__headline { opacity: 0.35; }

.lp-calc__compare { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0 0 1.25rem; }
.lp-calc__side { margin: 0; background: var(--lp-white); border-radius: var(--lp-radius-sm); padding: 0.75rem 0.75rem 0.25rem; }
.lp-calc__side figcaption { font-size: 0.875rem; font-weight: 700; color: var(--lp-muted); }
.lp-calc__side--one figcaption { color: var(--lp-orange-dark); }
.lp-calc__net { width: 100%; height: auto; display: block; }
.lp-net__link { stroke: #b9bcc0; stroke-width: 1.2; }
.lp-net__spoke { stroke: var(--lp-ink); stroke-width: 1.2; opacity: 0.35; }
.lp-net__spoke--one { stroke: var(--lp-orange); stroke-width: 3; opacity: 1; }
.lp-net__node { fill: var(--lp-white); stroke: var(--lp-ink); stroke-width: 2; }
.lp-net__node--in { fill: var(--lp-orange); stroke: none; }
.lp-net__hub { fill: #fff3ed; stroke: var(--lp-orange); stroke-width: 2.5; }
.lp-net__you { fill: var(--lp-charcoal); }
.lp-net__label { fill: var(--lp-white); font-size: 9px; font-weight: 700; text-anchor: middle; font-family: inherit; }


.lp-calc__headline { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.lp-calc__big { display: block; font-family: var(--font-aeonik, inherit); font-size: clamp(1.75rem, 3.2vw, 2.4rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--lp-ink); }
.lp-calc__small { display: block; margin-top: 0.35rem; font-size: 0.9rem; color: var(--lp-muted); }
.lp-calc .lp-calc__note { margin: 1rem 0 0; font-size: 0.825rem; color: var(--lp-muted); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@container lpcalc (max-width: 760px) {
    .lp-calc__grid { grid-template-columns: 1fr; }
}
@container lpcalc (max-width: 420px) {
        .lp-calc__compare { grid-template-columns: 1fr; }
}

.lp-calc--landing { background: var(--lp-white); border-top: 1px solid var(--lp-line); }

/* Breakout: full width directly under a two-column block (e.g. the About page POD block) */
.lp-calc--breakout { margin: -1rem 0 0; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--lp-soft); border-radius: var(--lp-radius-lg); width: 100%; }
.lp-calc--breakout .lp-calc__results { background: var(--lp-white); }
.lp-calc--breakout .lp-calc__side { background: var(--lp-soft); }
.lp-calc--breakout .lp-calc__title { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }

/* Numbers under each visual */
.lp-calc__side { display: flex; flex-direction: column; }
.lp-calc__stats { margin: 4px 0 8px; padding: 0; }
.lp-calc__stats div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 2px; border-top: 1px solid var(--lp-line); }
.lp-calc__stats dt { font-size: 13px; line-height: 1.35; color: var(--lp-muted); }
.lp-calc__stats dd { margin: 0; font-size: 1.35rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--lp-ink); }
.lp-calc__side figcaption { min-height: 1.4em; }
.lp-calc__side--one .lp-calc__stats dd { color: var(--lp-orange-dark); }
.lp-calc__compare { margin-bottom: 1.5rem; }

/* Point of difference band */
.lp-calc__pod {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px;
    margin-top: var(--lp-gap); padding: clamp(24px, 3.5vw, 40px); border-radius: var(--lp-radius-lg);
    background: var(--lp-charcoal); color: #fff;
}
.lp-calc__pod-copy { flex: 1 1 420px; max-width: 760px; }
.lp-calc__pod-label { margin: 0 0 8px; font-size: 13px; letter-spacing: .56px; text-transform: uppercase; color: var(--lp-orange); }
.lp-calc__pod-title { margin: 0 0 10px; font-family: var(--font-aeonik, inherit); font-weight: 400; font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.15; color: #fff; }
.lp-calc .lp-calc__pod-text { margin: 0; font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, .82); }
.lp-calc__pod .lp-calc__cta { flex-shrink: 0; }
.lp-calc__cta-row { margin-top: 1.5rem; }

/* Assumptions: always open, clearly editable */
.lp-calc__assump { margin-top: 8px; padding: 22px; border: 1.5px solid var(--lp-orange); border-radius: var(--lp-radius-lg); background: #fff8f4; }
.lp-calc__assump-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; color: var(--lp-orange-dark); }
.lp-calc__assump-head svg { flex-shrink: 0; margin-top: 2px; }
.lp-calc__assump-title { margin: 0; font-family: var(--font-aeonik, inherit); font-weight: 400; font-size: 1.05rem; color: var(--lp-ink); }
.lp-calc .lp-calc__assump-sub { margin: 2px 0 0; font-size: 14px; color: var(--lp-muted); }
.lp-calc__fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr)); align-items: end; gap: 16px 18px; }
.lp-calc__field { display: grid; grid-template-rows: minmax(2.7em, auto) auto auto; align-content: start; gap: 6px; }
.lp-calc__field-label { align-self: end; }
.lp-calc__field-label { font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--lp-ink); }
.lp-calc__stepper { display: flex; align-items: stretch; border: 1.5px solid #d9d4d2; border-radius: 10px; background: #fff; overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease; }
.lp-calc__stepper:hover { border-color: var(--lp-muted); }
.lp-calc__stepper:focus-within { border-color: var(--lp-orange); box-shadow: 0 0 0 3px rgba(242, 93, 33, .2); }
.lp-calc__step { flex-shrink: 0; width: 44px; min-height: 46px; border: 0; background: var(--lp-soft); color: var(--lp-ink); font-size: 1.3rem; line-height: 1; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.lp-calc__step:hover { background: var(--lp-orange); color: #fff; }
.lp-calc__step:focus-visible { outline: 3px solid var(--lp-orange); outline-offset: -3px; }
.lp-calc__input-wrap { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0 6px; cursor: text; }
.lp-calc__input-wrap input { width: 3.2em; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 1.15rem; font-weight: 700; text-align: right; color: var(--lp-ink); font-variant-numeric: tabular-nums; outline: none; -moz-appearance: textfield; }
.lp-calc__input-wrap input::-webkit-outer-spin-button, .lp-calc__input-wrap input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lp-calc__affix { font-size: 13px; color: var(--lp-muted); white-space: nowrap; }
.lp-calc__affix:first-child { font-size: 1.15rem; font-weight: 700; color: var(--lp-ink); }
.lp-calc__field.is-changed .lp-calc__stepper { border-color: var(--lp-orange); }
.lp-calc__field.is-changed .lp-calc__input-wrap input { color: var(--lp-orange-dark); }
.lp-calc__field-hint { font-size: 12.5px; line-height: 1.35; color: var(--lp-muted); }
.lp-calc__fields { align-items: start; }
.lp-calc__reset { margin-top: 14px; padding: 4px 0; border: 0; background: none; color: var(--lp-orange-dark); font: inherit; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.lp-calc__reset[hidden] { display: none; }
.lp-calc--breakout .lp-calc__assump { background: var(--lp-white); }
