/* Scoped fixes for native consent, message, contract and affiliate layouts. */
.hw-v2 .hw-cart-checkboxes .form-check {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  column-gap:10px;
  align-items:start;
  padding-left:0;
}
.hw-v2 .hw-cart-checkboxes .form-check-input {
  grid-column:1;
  float:none;
  margin:2px 0 0;
}
.hw-v2 .hw-cart-checkboxes .form-check-label {
  grid-column:2;
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}

.hw-v2-footer > .hw-footer-meta {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:12px 20px;
  width:100%;
  min-width:0;
}
.hw-v2-footer > .hw-footer-meta:has(> .hw-service-status) {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.hw-v2-footer .hw-footer-meta > p {
  width:auto;
  min-width:0;
  margin:0;
  font-size:12px;
  line-height:1.5;
}
.hw-v2-footer .hw-footer-meta > .hw-service-status {
  align-items:flex-start;
  justify-content:flex-end;
  margin:0;
  line-height:1.5;
}
.hw-v2-footer .hw-footer-meta .hw-service-status__badge {
  min-width:0;
  align-items:flex-start;
}
.hw-v2-footer .hw-footer-meta .hw-service-status__dot { flex-shrink:0; margin-top:5px; }

.hw-portal-shell .hw-service-header .hw-page-header {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}
.hw-portal-shell .hw-service-header .hw-page-header > h2 {
  margin:0;
  min-width:0;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.hw-portal-shell .hw-service-header .hw-page-header > div { min-width:0; }

.hw-portal-shell .hw-affiliate-program .card-header {
  flex-wrap:wrap;
  gap:12px;
}
.hw-portal-shell .hw-affiliate-program .card-header h5 { min-width:0; margin:0; }
.hw-portal-shell .hw-affiliate-program .card-header .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:100%;
  min-height:36px;
  padding:7px 12px;
  font-size:13px;
  line-height:20px;
  white-space:normal;
}
.hw-portal-shell .hw-affiliate-program .card-header .btn i { margin:0; }

.hw-portal-shell .hw-ticket-messages .card-header { flex-wrap:wrap; gap:8px 12px; }
.hw-portal-shell .hw-ticket-messages .card-header > .badge { margin:0 !important; flex-shrink:0; }
.hw-portal-shell .hw-ticket-messages .card-header > strong { flex:1; min-width:0; overflow-wrap:anywhere; }
.hw-portal-shell .hw-ticket-messages .card-header > small { max-width:100%; margin:0 !important; overflow-wrap:anywhere; }

@media(max-width:700px) {
  .hw-portal-shell .hw-ticket-messages .row > .col-9 { width:100%; }
  .hw-portal-shell .hw-ticket-messages .row > .col-3 { display:none; }
  .hw-portal-shell .hw-ticket-messages .card-header > small { flex-basis:100%; }
  .hw-portal-shell .hw-service-header .hw-page-header { grid-template-columns:44px minmax(0,1fr); gap:12px 16px; }
  .hw-portal-shell .hw-service-header .hw-page-header > div { grid-column:2; }
  .hw-portal-shell .hw-service-header .hw-page-header > div .btn { margin-left:0 !important; max-width:100%; white-space:normal; }
  .hw-portal-shell .hw-affiliate-program .card-header { flex-direction:column; align-items:flex-start !important; }
  .hw-portal-shell .hw-affiliate-program .card-header .btn { min-height:44px; padding-block:11px; }
}
@media(max-width:400px) {
  .hw-portal-shell .hw-ticket-messages .card-header { display:grid !important; grid-template-columns:auto minmax(0,1fr); }
  .hw-portal-shell .hw-ticket-messages .card-header > .badge { grid-column:1; grid-row:1; justify-self:start; }
  .hw-portal-shell .hw-ticket-messages .card-header > small { grid-column:2; grid-row:1; text-align:right; }
  .hw-portal-shell .hw-ticket-messages .card-header > strong { grid-column:1 / -1; grid-row:2; }
}
@media(max-width:600px) {
  .hw-v2-footer .hw-footer-meta { gap:12px; }
  .hw-v2-footer .hw-footer-meta > .hw-service-status { justify-content:flex-start; }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-table > tbody > tr { grid-template-columns:minmax(0,1fr); }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-table > tbody > tr > td { width:auto; text-align:left; }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-table > tbody > tr:not(.hw-mobile-summary) > td:nth-child(3) { overflow-wrap:normal; word-break:normal; }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-table > tbody > tr.hw-mobile-summary { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-summary > td:first-child { grid-column:1 / -1; text-align:left !important; font-weight:600; }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-summary > td:nth-child(2) { overflow-wrap:normal; word-break:normal; }
  .hw-portal-shell [data-hw-mobile-list="service-products"] .hw-mobile-summary > td:last-child { grid-column:2; }
}
