

/* Cart columns: give the quote controls sufficient horizontal space. */
@media (min-width: 901px) {
  .aio15-cart-page .aio15-cart-grid {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 410px);
  }
}
.aio15-cart-page .aio15-summary {min-width:0;gap:15px}
/* Legacy .aio15-summary > div is a horizontal flex-row intended for totals.
   The freight form is also a direct child div. It MUST NOT inherit that rule. */
.aio15-cart-page .aio15-summary > .aio20-cart {
  display:block;
  width:100%;
  min-width:0;
  margin:4px 0 0;
  padding:20px;
  border:1px solid #dce5f1;
  border-radius:13px;
  background:#f9fbff;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
.aio15-summary .aio20-cart h3 {
  margin:0 0 7px;
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.015em;
}
.aio15-summary .aio20-cart > p:not(.aio20-cart-result) {
  margin:0 0 15px;
  color:#566981;
  font-size:13px;
  line-height:1.55;
}
.aio15-summary .aio20-cart form {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  width:100%;
  min-width:0;
  gap:12px;
  margin:0;
}
.aio15-summary .aio20-cart form label,
.aio15-summary .aio45-cart-optin form > label:not(.aio45-consent) {
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  gap:5px;
  margin:0;
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  color:#1d3555;
}
.aio15-summary .aio20-cart input,
.aio15-summary .aio20-cart select,
.aio15-summary .aio45-cart-optin input[type=email] {
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:43px;
  margin:0;
  padding:10px 12px;
  background:#fff;
  border:1px solid #c7d3e3;
  border-radius:9px;
  color:#142947;
  font:inherit;
  font-size:14px;
}
.aio15-summary .aio20-cart :is(input,select,button):focus-visible,
.aio15-summary .aio45-cart-optin :is(input,button):focus-visible {
  outline:3px solid #99bafa;
  outline-offset:2px;
}
.aio15-summary .aio20-cart form button {
  box-sizing:border-box;
  display:block;
  width:100%;
  min-height:44px;
  padding:11px 12px;
  margin:3px 0 0;
  border:0;
  border-radius:9px;
  background:var(--store-primary,#2760e8);
  color:#fff;
  font-size:13px;
  font-weight:750;
  white-space:normal;
  cursor:pointer;
}
.aio15-summary .aio20-cart-result {
  display:block;
  padding-top:13px;
  margin:13px 0 7px;
  border-top:1px solid #dce5f1;
  font-size:15px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.aio15-summary .aio20-cart > small,
.aio15-summary .aio45-cart-optin small {display:block;line-height:1.55}
.aio15-summary > .aio45-cart-optin {
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  border-top:1px solid #e0e7f0;
  padding-top:20px;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
.aio15-summary > .aio45-cart-optin h3 {margin:0 0 9px;font-size:16px;line-height:1.35}
.aio15-summary > .aio45-cart-optin p {margin:0 0 14px;font-size:13px;line-height:1.6;color:#5b6f88}
.aio15-summary > .aio45-cart-optin form {display:grid;grid-template-columns:minmax(0,1fr);gap:13px;width:100%;margin:0}
.aio15-summary .aio45-cart-optin .aio45-consent {
  display:flex;
  flex-direction:row;
  gap:9px;
  align-items:flex-start;
  line-height:1.45;
  color:#344963;
  font-size:12.5px;
  font-weight:500;
}
.aio15-summary .aio45-cart-optin .aio45-consent input[type=checkbox] {
  box-sizing:border-box;
  flex:0 0 17px;
  width:17px;
  height:17px;
  margin:1px 0 0;
  accent-color:var(--store-primary,#2760e8);
}
.aio15-summary .aio45-cart-optin button {
  display:block;
  width:100%;
  padding:12px 15px;
  margin:0;
  min-height:43px;
  border-radius:9px;
  border:1px solid var(--store-primary,#2760e8);
  background:#fff;
  color:var(--store-primary,#2760e8);
  font-weight:750;
  font-size:13px;
}
.aio15-summary .aio15-primary,.aio15-summary .aio47-checkout-link {
  display:block;width:100%;box-sizing:border-box;margin:0;text-align:center;
  overflow-wrap:anywhere;
}
@media (max-width:900px) {
  .aio15-cart-page .aio15-cart-grid {grid-template-columns:minmax(0,1fr)}
  .aio15-cart-page .aio15-summary {position:static;max-width:650px;width:100%;margin-inline:auto}
}
@media (max-width:480px) {
  .aio15-cart-page .aio15-summary > .aio20-cart {padding:15px}
  .aio15-cart-page .aio15-summary {padding:17px}
}

/* Team and permissions: avoid browser-default narrow inputs spread over 1400px. */
.aio-has-sidebar main.shell .aio45-team-invite,
.aio-has-sidebar main.shell .aio45-team-members,
.aio-has-sidebar main.shell .aio45-team-note {
  box-sizing:border-box;
  width:100%;
  max-width:1050px;
  margin:0 0 20px;
  min-width:0;
}
.aio45-team-invite h2,.aio45-team-members h2 {margin:0 0 22px;font-size:21px;letter-spacing:-.025em}
.aio45-team-invite form {width:100%;max-width:780px;min-width:0}
.aio45-team-invite form .form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  width:100%;
}
.aio45-team-invite form .form-grid > label {
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  font-size:13px;
  font-weight:650;
  color:#345076;
}
.aio45-team-invite form .form-grid input {
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:45px;
  padding:10px 13px;
  font:inherit;
  font-size:14px;
  color:#182d4b;
  background:#fff;
  border:1px solid #cbd7e8;
  border-radius:10px;
}
.aio45-team-invite form .form-grid input:focus-visible {
  outline:3px solid #95bbff;
  outline-offset:2px;
}
.aio45-team-invite form > .btn {margin-top:17px}
.aio45-team-invite > p,.aio45-team-note p {max-width:810px;font-size:13px;line-height:1.65;color:#576c87}
.aio45-team-invite > p {margin:18px 0 0}
.aio45-team-members .aio45-member {min-width:0;padding:19px 0;border-top:1px solid #e5ecf5}
.aio45-team-members .aio45-member h3 {font-size:16px;margin:0;overflow-wrap:anywhere}
.aio45-team-members .aio45-member h3 small {color:#6d83a1;font-size:12px;font-weight:500}
.aio45-team-members .aio45-member p {margin:0;font-size:13px;color:#60748d;overflow-wrap:anywhere}
.aio45-team-members .aio45-member form {max-width:780px;min-width:0}
.aio45-team-members .aio45-acl-table {max-width:760px;width:100%;font-size:13px}
.aio45-team-members .aio45-acl-table th,.aio45-team-members .aio45-acl-table td {vertical-align:middle}
@media (max-width:680px) {
  .aio45-team-invite form .form-grid {grid-template-columns:minmax(0,1fr)}
  .aio45-team-invite h2,.aio45-team-members h2 {font-size:18px}
  .aio45-team-members .aio45-acl-table {font-size:12px}
  .aio45-team-members .aio45-acl-table th,.aio45-team-members .aio45-acl-table td {padding:8px 5px}
}
