input[type=submit], button, .button {
  display: inline-block;
  background-color: #3c78d8;
  border: 1px solid #1155cc;
  color: #fff;
  padding: 6px 20px;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
}
.space { margin: 15px 0; }
.bold { font-weight: bold; }
.right { text-align: right !important; }
.admin-nav { display: flex; gap: 15px; margin: 15px 0; }
.border-table { border-collapse: collapse; }
.border-table td, .border-table th { border: 1px solid #ccc; }
.admin-quotes { margin-top: 15px !important; }
.max-width-ellipsis300 { max-width: 300px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.max-width-ellipsis600 { max-width: 600px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.flag { display: inline-block; padding: 1px 4px; background: #eee; border-radius: 2px; font-size: 11px; }
.inline-form { display: inline; }
.admin-form-grid { display: grid; grid-template-columns: minmax(180px, 420px); gap: 10px; }
.admin-form-grid label { display: grid; gap: 3px; }
.dpw-id-store .dpw-body h2 { padding: 0; margin: 17px 0; font-size: 21px; }
.dpw-id-store .dpw-body table { width: auto; margin: 0; }
.dpw-id-store .dpw-body td, .dpw-id-store .dpw-body th { text-align: left; padding: 5px; }
.dpw-id-store .dpw-body .invisible-table td, .dpw-id-store .dpw-body .invisible-table th { border: 0; padding: 0; }
.dpw-id-store .dpw-body .invisible-table th { font-weight: normal; white-space: nowrap; padding-right: 10px; }
.quote-items { border-collapse: collapse; width: 100% !important; }
.quote-items td, .quote-items th { border: 1px solid #ccc; padding: 5px; }
.quote-items th { text-align: left; background-color: #f0f0f0; }
.quote-items .right { text-align: right !important; }
.product-item { margin: 5px 0; }
.currencies { display: flex; align-items: stretch; }
.curr-box { margin-right: 10px; cursor: pointer; width: 200px; display: flex; flex-direction: column; }
.curr-box input[type=radio] { display: none; }
.box-content { flex: 1; border: 2px solid #ccc; border-radius: 5px; display: flex; flex-direction: column; }
.curr-box input[type=radio]:checked + .box-content { border-color: #3c78d8; background-color: #f0f8ff; }
.curr-name { font-size: 24px; font-weight: bold; text-align: center; padding: 10px; }
.curr-desc { padding: 10px; color: #666; font-size: 12px; }
.subscription-options label { width: 200px; display: inline-block; }
.subscription-options .plus-amount { float: right; }
.price { width: 100px; }
.checkout-actions { margin-top: 30px; margin-bottom: 40px; text-align: right; }
.vat-input { display: flex; align-items: center; }
.country-code { padding: 4px 10px; border: 1px solid #bbb; border-right: 0; border-radius: 4px 0 0 4px; background: #eee; font-size: 15px; width: 50px; height: 34px; box-sizing: border-box; }
.vat-input input { padding: 6px 10px; width: 350px; }
.label { color: #333; margin-top: 10px; }
#direct-form { margin-bottom: 50px; }
#direct-form input[type="text"] { width: 400px; box-sizing: border-box; }
#direct-form input[type="text"].half { width: 200px; }
#direct-form input[type="text"].second-line { margin-top: 5px; }
#direct-form input.half.space-after { margin-right: 10px; width: 190px; }
.error { margin-left: 10px; color: #c03535; }
.error.no-margin { margin: 0; }
input[readonly], textarea[readonly], select[disabled] { background: #f5f5f5; border: 1px solid #ccc; color: #777; }
input[readonly]:focus, textarea[readonly]:focus, select[disabled]:focus { outline: none; box-shadow: none; }
button[disabled] { background: #ccc; color: #777; cursor: not-allowed; }
.progress-container { width: 100%; background: #eee; height: 20px; border-radius: 5px; overflow: hidden; margin-bottom: 10px; }
.progress-bar { height: 100%; background: #3498db; width: 0; transition: width .2s ease-in-out; }
.quote-actions { margin-top: 30px; text-align: right; }
.qr-payment { margin-top: 20px; }
.qr-payment img { border: 1px solid #ccc; border-radius: 5px; }
.qr-payment div { font-size: 14px; margin-bottom: 5px; }
.invisible-table td:first-child { width: 150px; }
#payment-overlay { position: absolute; inset: 0; background-color: #000; opacity: .8; }
#comgate-container { position: absolute; top: 30px; left: 0; right: 0; width: 450px; height: 700px; margin: 0 auto; }
#payment-overlay[hidden], #comgate-container[hidden] { display: none; }
#comgate-iframe { width: 100%; height: 100%; border: 0; border-radius: 5px; }
@media (max-height: 700px) {
  #comgate-container { position: fixed; height: 100%; top: 0; }
  #comgate-iframe { border-radius: 0; }
}
@media (max-width: 450px) {
  #comgate-container { position: fixed; width: 100%; left: 0; }
  #comgate-iframe { border-radius: 0; }
}
