.ihi-installation-details {
  box-sizing: border-box;
  width: calc(100% - 30px);
  min-width: 0;
  margin: 0 15px;
  padding: 12px 15px 15px;
  overflow-wrap: break-word;
}

.ihi-installation-details .btn {
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  height: auto;
  overflow-wrap: break-word;
}

.ihi-installation-details .form-group label { display: block; width: 100%; }
.ihi-installation-details .ihi-consent { line-height: 1.6; }
.ihi-installation-details [hidden] { display: none !important; }
html[data-ihi-choice-dirty] .payment-options, html[data-ihi-choice-dirty] #payment-confirmation { display: none !important; }
/* Server-rendered guide precedes the native payment list in both supported checkouts. */
.ihi-payment-guide[data-ihi-payment-ready="0"] ~ .payment-options { display: none !important; }
/* Only the native empty-list message waits for page load; provider/form errors stay visible. */
html[data-ihi-payments-loading] .ihi-payment-guide ~ .payment-options > .alert-danger { display: none !important; }
.ihi-pending-choice { display: none; }
html[data-ihi-choice-dirty] .ihi-accepted-summary { display: none !important; }
html[data-ihi-choice-dirty] .ihi-pending-choice { display: block; }

.ihi-payment-guide {
  overflow-wrap: break-word;
}

.ihi-conditions-version {
  overflow-wrap: break-word;
  word-break: break-all;
}

.ihi-modal { position: fixed; inset: 0; z-index: 11000; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; padding: 16px; }
.ihi-modal-dialog { box-sizing: border-box; width: 720px; max-width: 100%; max-height: 90vh; overflow-y: auto; background: #fff; color: #333; padding: 20px; border-radius: 6px; box-shadow: 0 8px 32px rgba(0,0,0,.3); overflow-wrap: break-word; }
.ihi-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.ihi-modal-header h2 { margin: 0; font-size: 22px; }
.ihi-modal-close { flex-shrink: 0; border: 1px solid #aaa; border-radius: 4px; background: #fff; color: #333; padding: 6px 12px; cursor: pointer; }
.ihi-modal-dialog .form-group { margin-bottom: 16px; }
.ihi-modal-dialog .btn { max-width: 100%; white-space: normal; }
.ihi-service-terms { overflow-wrap: break-word; line-height: 1.5; }
.ihi-service-terms ul, .ihi-service-terms ol { padding-left: 24px; list-style-position: outside; }
.ihi-service-terms ul { list-style-type: disc; }
.ihi-service-terms ol { list-style-type: decimal; }
.ihi-modal-dialog [hidden] { display: none !important; }
@media (max-width: 480px) { .ihi-modal { padding: 8px; } .ihi-modal-dialog { padding: 16px; max-height: 95vh; } .ihi-modal-header h2 { font-size: 18px; } }
.ihi-installation-day { display: inline; margin: 0; font-weight: normal; }
