.bbv-ui.bbv-calculator { width: 100%; max-width: none; margin: 0; }
.bbv-ui .bbv-calculator__eyebrow { margin: 0 0 .4rem; color: var(--bbv-ui-orange); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bbv-ui.bbv-calculator h2, .bbv-ui.bbv-calculator h3 { margin: 0 0 .5rem; }
.bbv-ui .bbv-calculator__grid { display: grid; grid-template-columns: 1fr .9fr; gap: var(--bbv-ui-section-gap); margin-top: 2rem; }
.bbv-ui .bbv-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bbv-ui-filter-gap); }
.bbv-ui .bbv-fields label { font-weight: 600; }
.bbv-ui .bbv-fields span { display: block; margin: .15rem 0 .4rem; font-size: .85rem; font-weight: 400; color: var(--bbv-ui-muted); }
.bbv-ui .bbv-fields input, .bbv-ui .bbv-fields select { box-sizing: border-box; height: var(--bbv-ui-control-min-height); min-height: var(--bbv-ui-control-min-height); width: 100%; margin-top: .4rem; padding: var(--bbv-ui-filter-padding-y) var(--bbv-ui-filter-padding-x); border: 1px solid var(--bbv-ui-border); border-radius: var(--bbv-ui-filter-radius); background: var(--bbv-ui-white); color: inherit; font: inherit; }
.bbv-ui .bbv-fields input:disabled { cursor: not-allowed; opacity: .65; }
.bbv-ui .bbv-calculator details { margin: 1.5rem 0; }
.bbv-ui .bbv-calculator summary { cursor: pointer; font-weight: 600; }
.bbv-ui .bbv-calculator details .bbv-fields { margin-top: 1rem; }
.bbv-ui .bbv-checkbox { display: flex; gap: .6rem; align-items: flex-start; margin-top: 2rem; font-weight: 600; }
.bbv-ui .bbv-checkbox--hobby { margin-bottom: 1.5rem; }
.bbv-ui .bbv-hobby-note { margin: -1rem 0 1.5rem; padding: .8rem; background: var(--bbv-ui-notice-info-background); border-left: 3px solid var(--bbv-ui-notice-info-accent); font-size: .9rem; }
.bbv-ui .bbv-checkbox input { margin-top: .2rem; }
.bbv-ui .bbv-calculator__result { padding: var(--bbv-ui-card-padding); background: var(--bbv-ui-card-background); border: 1px solid var(--bbv-ui-card-border); border-top: 4px solid var(--bbv-ui-orange); border-radius: var(--bbv-ui-card-radius); box-shadow: var(--bbv-ui-card-shadow); }
.bbv-ui .bbv-calculator__result h3 { margin: .2rem 0 .4rem; }
.bbv-ui .bbv-calculator__result dl { margin: 0; }
.bbv-ui .bbv-calculator__result dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border: 0; }
.bbv-ui .bbv-calculator__result dt { font-weight: 600; }
.bbv-ui .bbv-calculator__result dd { margin: 0; text-align: right; }
.bbv-ui .bbv-total { display: flex; justify-content: space-between; gap: 1rem; font-size: 1.12rem; }
.bbv-ui .bbv-total strong { font-size: 1.35rem; }
.bbv-ui .bbv-note { padding: .8rem; background: var(--bbv-ui-notice-warning-background); border-left: 3px solid var(--bbv-ui-notice-warning-accent); }
.bbv-ui .bbv-calculator__notice { max-width: var(--bbv-ui-prose-max-width); margin: 2rem 0 0; font-size: .88rem; color: var(--bbv-ui-muted); }
.bbv-ui .bbv-field--full { grid-column: 1 / -1; }
.bbv-ui .bbv-calculator__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.bbv-ui .bbv-ui-button { min-height: var(--bbv-ui-control-min-height); padding: var(--bbv-ui-filter-padding-y) var(--bbv-ui-filter-padding-x); border: 1px solid var(--bbv-ui-navy); border-radius: var(--bbv-ui-filter-radius); background: var(--bbv-ui-navy); color: var(--bbv-ui-white); font: inherit; font-weight: var(--bbv-ui-filter-weight); cursor: pointer; }
.bbv-ui .bbv-ui-button:hover, .bbv-ui .bbv-ui-button:focus-visible { background: var(--bbv-ui-blue); }
.bbv-ui .bbv-ui-button--secondary { background: var(--bbv-ui-white); color: var(--bbv-ui-navy); }
.bbv-ui .bbv-ui-button--secondary:hover, .bbv-ui .bbv-ui-button--secondary:focus-visible { background: var(--bbv-ui-filter-hover-background); color: var(--bbv-ui-filter-hover-text); }
.bbv-ui .bbv-cost-group { margin: 24px 0; padding: 0; border: 0; }
.bbv-ui .bbv-cost-group:first-child { margin-top: 0; }
.bbv-ui .bbv-cost-group h4 { margin: 0 0 8px; color: var(--bbv-ui-navy); font-size: 1rem; font-weight: 700; }
.bbv-ui .bbv-cost-line { align-items: flex-start; }
.bbv-ui .bbv-cost-line dt { display: grid; gap: 2px; }
.bbv-ui .bbv-cost-line small { font-size: .82rem; font-weight: 400; color: var(--bbv-ui-muted); }
.bbv-ui .bbv-regular-cost { margin: 16px 0 0; padding: 12px; background: var(--bbv-ui-notice-info-background); border-left: 3px solid var(--bbv-ui-notice-info-accent); }
.bbv-ui .bbv-cost-group__heading { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; color: var(--bbv-ui-navy); font-weight: 700; }
.bbv-ui .bbv-calculator__result .bbv-cost-group { margin: 0 0 24px; padding: 0; border: 0; }
.bbv-ui .bbv-calculator__result .bbv-cost-group:first-child { padding-top: 0; }

@media (max-width: 720px) {
  .bbv-ui .bbv-calculator__grid { grid-template-columns: 1fr; }
  .bbv-ui .bbv-fields { grid-template-columns: 1fr; }
  .bbv-ui .bbv-field--full { grid-column: auto; }
}
