/* Minimal structural CSS. Visual styling is inherited from the theme's
   existing .ccb-* rules so the calculator looks identical to before. */
.apc-calc .ccb-dropdown { position: relative; }
.apc-calc .ccb-dropdown__input { user-select: none; }
.apc-calc .ccb-dropdown__list { position: absolute; left: 0; right: 0; z-index: 50; }
.apc-calc .ccb-dropdown__list ul { list-style: none; margin: 0; padding: 0; }
.apc-calc .ccb-dropdown__list li { cursor: pointer; }
.apc-calc .ccb-dropdown__list li.apc-ph { display: none; }
.apc-calc .apc-caret { margin-left: auto; opacity: .6; font-size: 14px; }
.apc-calc .apc-dd.apc-open .apc-caret { transform: rotate(180deg); }
.apc-calc .ccb-summary-item { display: flex; justify-content: space-between; }

/* Ensure the calculator never overflows its column on any device. */
.apc-calc, .apc-calc * { box-sizing: border-box; }
.apc-calc .ccb-app-container { width: 100%; max-width: 700px; }

/* Tablet */
@media (max-width: 1024px) {
  .apc-calc .ccb-total-row { padding: 36px 20px !important; }
}

/* Phone — keep the design but make the big Total box + buttons comfortable. */
@media (max-width: 600px) {
  .apc-calc .ccb-app-container { padding: 18px 10px; margin: 16px auto; }
  .apc-calc .ccb-field__title { font-size: 16px !important; }
  .apc-calc .ccb-dropdown__label { font-size: 16px !important; }
  .apc-calc .ccb-dropdown__list ul li .ccb-dropdown--option-label { font-size: 16px !important; }
  .apc-calc .ccb-total-row { padding: 24px 14px !important; }
  .apc-calc .ccb-total-row__name span { font-size: 20px !important; margin-bottom: 12px !important; }
  .apc-calc .ccb-total-row__value span { font-size: 34px !important; }
  .apc-calc .ccb-total-row__item .ccb-total-row__value { padding: 14px !important; }
  .apc-calc .quote-btn { padding: 16px 12px !important; font-size: 16px; }
}
