  #m7-order .m7-table { width: 100%; margin-bottom: 0; }
  #m7-order .m7-table th {
    font-weight: 400; color: #111; font-size: 11px;
    text-transform: uppercase; letter-spacing: 2px;
    border-bottom: 1px solid #ddd; padding: 10px 12px;
  }
  #m7-order .m7-table td { padding: 8px 12px; vertical-align: middle; color: #555; }
  /* Explicit alignment: Bootstrap's th inherits text-align from the (possibly centered) page content */
  #m7-order .m7-table th,
  #m7-order .m7-table td { text-align: left; }
  #m7-order .m7-table .m7-name { padding-left: 12px !important; padding-right: 12px; }
  #m7-order .m7-table tbody + tbody tr:first-child td { border-top: 2px solid #ddd !important; }
  #m7-order .m7-table .m7-price { text-align: right; white-space: nowrap; }
  #m7-order .m7-table .m7-qty-col { width: 1%; text-align: center; }
  #m7-order .m7-table .m7-total-label { text-align: right; }
  #m7-order .form select.m7-qty { width: 50px; height: 34px; color: #111; font-size: 13px; padding-left: 5px; padding-right: 0; }
  #m7-order .form input.m7-line-field,
  #m7-order .form input.m7-total-field { width: 100px; height: 34px; color: #111; font-size: 13px; }
  #m7-order .form input.m7-line-field,
  #m7-order .form input.m7-total-field { text-align: right; background: #f8f8f8; cursor: default; }
  #m7-order .form input.m7-total-field { font-weight: 600; }
  #m7-order .m7-table tfoot td { border-top: 2px solid #ddd !important; }
  #m7-order .m7-total-label { text-align: right; color: #111; font-size: 11px; text-transform: uppercase; letter-spacing: 2px; }
  #m7-order .m7-footer { margin-top: 30px; text-align: center; }
  #m7-order .m7-hint { display: none; margin-top: 15px; color: #e41919; font-size: 14px; text-align: center; }
  #m7-order .m7-hint.m7-show { display: block; }
  #m7-order .m7-note { font-size: 13px; color: #777; margin-top: 20px; text-align: center; }
  #m7-order .m7-spacer { padding: 30px; }
  #m7-order .m7-details { margin-top: 40px; }
  #m7-order .m7-details h3 {
    font-size: 11px; font-weight: 400; color: #111; text-transform: uppercase;
    letter-spacing: 2px; margin: 0 0 15px; padding-bottom: 10px; border-bottom: 1px solid #ddd;
  }
  #m7-order .m7-check { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 10px; color: #111; cursor: pointer; }
  #m7-order .m7-check input { margin-top: 5px; width: 16px; height: 16px; flex: none; cursor: pointer; accent-color: #222; }
  #m7-order .m7-panel { margin: 0 0 20px 26px; padding: 15px; border: 1px solid #eee; background: #fcfcfc; }
  #m7-order .m7-panel label,
  #m7-order .m7-field label { display: block; margin-bottom: 5px; color: #555; font-size: 13px; }
  #m7-order .m7-field { margin-bottom: 15px; }
  #m7-order .m7-details input[type="text"],
  #m7-order .m7-details input[type="tel"],
  #m7-order .m7-details input[type="datetime-local"],
  #m7-order .m7-details textarea {
    display: block; width: 100%; max-width: 100%; height: 34px; padding: 4px 10px;
    font-size: 13px; color: #111; letter-spacing: normal;
    border: 1px solid rgba(0,0,0, .1); border-radius: 0; background: #fff;
  }
  #m7-order .m7-details textarea { height: auto; min-height: 70px; resize: vertical; }
  #m7-order .m7-details input:focus,
  #m7-order .m7-details textarea:focus { border-color: rgba(0,0,0, .7); box-shadow: 0 0 3px rgba(0,0,0, .3); outline: none; }
  #m7-order .m7-details .m7-invalid { border-color: #e41919 !important; }
  #m7-order .m7-ship-table { width: auto; margin: 8px 0 10px; font-size: 13px; color: #555; }
  #m7-order .m7-ship-table td { padding: 2px 20px 2px 0; border: 0 !important; }
  #m7-order .m7-ship-table td + td { text-align: right; padding-right: 0; }
  #m7-order .m7-small { font-size: 12px; color: #777; line-height: 1.5; }
  #m7-order .m7-req { color: #e41919; margin-left: 2px; }
  #m7-order .m7-opt { color: #999; font-size: 12px; margin-left: 4px; }
  #m7-order .m7-legend { font-size: 12px; color: #777; margin-top: -5px; }
  @media (max-width: 575px) {
    #m7-order .m7-table th, #m7-order .m7-table td { padding: 6px 6px; }
    #m7-order .form select.m7-qty { width: 46px; }
    #m7-order .form input.m7-line-field,
    #m7-order .form input.m7-total-field { width: 78px; padding-left: 4px; padding-right: 4px; }
  }
