:root {
  --layer-theme-red: #c90d18;
  --layer-theme-red-deep: #750006;
  --layer-theme-red-dark: #510003;
  --layer-theme-gold: #ffd978;
  --layer-theme-gold-deep: #d99a29;
  --layer-theme-cream: #fff4d2;
}

/* Desktop/layui layer dialogs */
body .layui-layer:not(.layui-layer-loading):not(.layui-layer-nobg) {
  overflow: hidden !important;
  border: 2px solid var(--layer-theme-gold) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 235, 158, .34), transparent 31%),
    linear-gradient(145deg, var(--layer-theme-red) 0%, #a0050d 48%, var(--layer-theme-red-deep) 100%) !important;
  box-shadow: 0 18px 46px rgba(67, 0, 4, .52), inset 0 1px 0 rgba(255, 246, 207, .42) !important;
  color: var(--layer-theme-cream) !important;
}

body .layui-layer-title,
body .layui-layer-lan .layui-layer-title,
body .layui-layer-molv .layui-layer-title {
  height: 50px !important;
  padding: 0 54px 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 217, 120, .45) !important;
  background: linear-gradient(180deg, #ae0710, #790006) !important;
  color: var(--layer-theme-gold) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 50px !important;
}

body .layui-layer-content {
  max-width: 100% !important;
  color: var(--layer-theme-cream) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

body .layui-layer-dialog {
  width: min(86vw, 360px) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
}

body .layui-layer-dialog .layui-layer-content {
  padding: 24px 22px 20px !important;
  text-align: center !important;
  overflow-x: hidden !important;
}

body .layui-layer-dialog .layui-layer-padding,
body .layui-layer-msg .layui-layer-content,
body .layui-layer-hui .layui-layer-content {
  padding: 18px 20px !important;
  text-align: center !important;
}

body .layui-layer-dialog .layui-layer-content .layui-layer-ico,
body .layui-layer-msg .layui-layer-content .layui-layer-ico,
body .layui-layer-padding .layui-layer-ico,
body .layui-layer-content [class*="layui-layer-ico"] {
  display: none !important;
}

body .layui-layer-btn {
  display: flex !important;
  gap: 10px !important;
  justify-content: center !important;
  padding: 12px 18px 18px !important;
  border-top: 1px solid rgba(255, 217, 120, .3) !important;
  text-align: center !important;
}

body .layui-layer-btn a,
body .layui-layer-lan .layui-layer-btn a,
body .layui-layer-molv .layui-layer-btn a {
  min-width: 90px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid rgba(255, 217, 120, .72) !important;
  border-radius: 22px !important;
  background: rgba(91, 0, 5, .72) !important;
  color: var(--layer-theme-cream) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 38px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

body .layui-layer-btn .layui-layer-btn0,
body .layui-layer-lan .layui-layer-btn .layui-layer-btn0,
body .layui-layer-molv .layui-layer-btn .layui-layer-btn0 {
  border-color: #ffe49a !important;
  background: linear-gradient(180deg, #fff1b9 0%, var(--layer-theme-gold) 48%, var(--layer-theme-gold-deep) 100%) !important;
  box-shadow: 0 4px 12px rgba(70, 0, 3, .32), inset 0 1px 0 rgba(255, 255, 255, .68) !important;
  color: #6f0808 !important;
  font-weight: 800 !important;
}

body .layui-layer-btn a:active {
  transform: translateY(1px);
}

body .layui-layer-setwin .layui-layer-close1,
body .layui-layer-setwin .layui-layer-close2 {
  opacity: .95 !important;
  filter: sepia(1) saturate(2.2) brightness(1.8);
}

body .layui-layer-prompt .layui-layer-input {
  border: 1px solid var(--layer-theme-gold) !important;
  border-radius: 8px !important;
  background: #fffaf0 !important;
  color: #571114 !important;
}

body .layui-layer-msg,
body .layui-layer-hui {
  min-width: 140px !important;
  max-width: calc(100vw - 32px) !important;
  border: 1px solid var(--layer-theme-gold) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--layer-theme-red), var(--layer-theme-red-deep)) !important;
  color: var(--layer-theme-cream) !important;
}

body .layui-layer-shade,
.layui-layer-shade {
  background-color: #3d0003 !important;
  opacity: .72 !important;
}

body .layui-layer-loading,
body .layui-layer-loading .layui-layer-content {
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Standalone mobile layer dialogs */
.layui-m-layer0 .layui-m-layerchild,
.layui-m-layer1 .layui-m-layerchild,
.layui-m-layer-msg {
  overflow: hidden !important;
  border: 2px solid var(--layer-theme-gold) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 235, 158, .34), transparent 31%),
    linear-gradient(145deg, var(--layer-theme-red) 0%, #a0050d 48%, var(--layer-theme-red-deep) 100%) !important;
  box-shadow: 0 18px 46px rgba(67, 0, 4, .52), inset 0 1px 0 rgba(255, 246, 207, .42) !important;
  color: var(--layer-theme-cream) !important;
}

.layui-m-layer0 .layui-m-layerchild {
  width: min(86vw, 360px) !important;
  max-width: calc(100vw - 32px) !important;
}

.layui-m-layertitle {
  height: 50px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 217, 120, .45) !important;
  background: linear-gradient(180deg, #ae0710, #790006) !important;
  color: var(--layer-theme-gold) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 50px !important;
}

.layui-m-layercont {
  padding: 24px 22px !important;
  color: var(--layer-theme-cream) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

.layui-m-layer-msg {
  width: auto !important;
  min-width: 140px !important;
  max-width: calc(100vw - 32px) !important;
  border-radius: 999px !important;
}

.layui-m-layer-msg .layui-m-layercont {
  padding: 14px 20px !important;
}

.layui-m-layer-msg .layui-m-layercont i,
.layui-m-layer-msg .layui-m-layercont [class*="icon"],
.layui-m-layer .layui-m-layercont [class*="layui-icon"] {
  display: none !important;
}

.layui-m-layerbtn {
  display: flex !important;
  height: 48px !important;
  border-top: 1px solid rgba(255, 217, 120, .38) !important;
  background: var(--layer-theme-red-dark) !important;
}

.layui-m-layerbtn span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  border-color: rgba(255, 217, 120, .3) !important;
  background: rgba(117, 0, 6, .86) !important;
  color: var(--layer-theme-cream) !important;
  font-weight: 700 !important;
  line-height: 48px !important;
}

.layui-m-layerbtn span[yes] {
  background: linear-gradient(180deg, #fff1b9 0%, var(--layer-theme-gold) 48%, var(--layer-theme-gold-deep) 100%) !important;
  color: #6f0808 !important;
  font-weight: 800 !important;
}

.layui-m-layerbtn span:active {
  opacity: .88;
}

.layui-m-layershade {
  background-color: rgba(61, 0, 3, .74) !important;
}

.layui-m-layer2 .layui-m-layerchild,
.layui-m-layer-loading {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Legacy custom payment popups */
body .popup {
  background: rgba(61, 0, 3, .74) !important;
}

body .popup .popup-box {
  overflow: hidden !important;
  border: 2px solid var(--layer-theme-gold) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 235, 158, .3), transparent 31%),
    linear-gradient(145deg, var(--layer-theme-red) 0%, #a0050d 48%, var(--layer-theme-red-deep) 100%) !important;
  box-shadow: 0 18px 46px rgba(67, 0, 4, .52), inset 0 1px 0 rgba(255, 246, 207, .42) !important;
  color: var(--layer-theme-cream) !important;
}

body .popup .popup-box .popup-box-title {
  border-color: rgba(255, 217, 120, .45) !important;
  background: linear-gradient(180deg, #ae0710, #790006) !important;
  color: var(--layer-theme-gold) !important;
  font-weight: 800 !important;
}

body .popup .popup-box .popup-box-content,
body .popup .popup-box .popup-box-content label,
body .popup .popup-box .popup-box-content span,
body .popup .popup-box .popup-box-content p {
  color: var(--layer-theme-cream) !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body .popup .popup-box .popup-box-content input,
body .popup .popup-box .popup-box-content select,
body .popup .popup-box .popup-box-content textarea {
  border-color: var(--layer-theme-gold) !important;
  background: #fffaf0 !important;
  color: #571114 !important;
}

body .popup .popup-box .popup-submit {
  border-color: rgba(255, 217, 120, .38) !important;
  background: var(--layer-theme-red-dark) !important;
}

body .popup .popup-box .popup-submit button,
body .popup .popup-box .popup-submit .cancle-btn {
  border-color: rgba(255, 217, 120, .35) !important;
  background: rgba(117, 0, 6, .86) !important;
  color: var(--layer-theme-cream) !important;
  font-weight: 700 !important;
}

body .popup .popup-box .popup-submit .confirm-btn {
  border-color: #ffe49a !important;
  background: linear-gradient(180deg, #fff1b9 0%, var(--layer-theme-gold) 48%, var(--layer-theme-gold-deep) 100%) !important;
  color: #6f0808 !important;
  font-weight: 800 !important;
}

/* WeUI dialogs used by a few legacy mobile pages */
body .weui-mask,
body .weui-mask_transparent {
  background: rgba(61, 0, 3, .74) !important;
}

body .weui-dialog {
  overflow: hidden !important;
  border: 2px solid var(--layer-theme-gold) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, var(--layer-theme-red), var(--layer-theme-red-deep)) !important;
  box-shadow: 0 18px 46px rgba(67, 0, 4, .52) !important;
  color: var(--layer-theme-cream) !important;
}

body .weui-dialog__hd,
body .weui-dialog__title,
body .weui-dialog__bd {
  border-color: rgba(255, 217, 120, .38) !important;
  background: transparent !important;
  color: var(--layer-theme-cream) !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body .weui-dialog__title {
  color: var(--layer-theme-gold) !important;
  font-weight: 800 !important;
}

body .weui-dialog__ft {
  border-color: rgba(255, 217, 120, .38) !important;
  background: var(--layer-theme-red-dark) !important;
}

body .weui-dialog__btn,
body .weui-dialog__btn_default {
  border-color: rgba(255, 217, 120, .35) !important;
  color: var(--layer-theme-cream) !important;
  font-weight: 700 !important;
}

body .weui-dialog__btn_primary,
body .weui-dialog__btn:last-child {
  background: linear-gradient(180deg, #fff1b9, var(--layer-theme-gold-deep)) !important;
  color: #6f0808 !important;
  font-weight: 800 !important;
}

/* Ant Mobile dialogs from the oldest frontend bundle */
body .am-modal-mask {
  background: rgba(61, 0, 3, .74) !important;
}

body .am-modal-content {
  overflow: hidden !important;
  border: 2px solid var(--layer-theme-gold) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, var(--layer-theme-red), var(--layer-theme-red-deep)) !important;
  box-shadow: 0 18px 46px rgba(67, 0, 4, .52) !important;
  color: var(--layer-theme-cream) !important;
}

body .am-modal-header,
body .am-modal-title,
body .am-modal-body {
  background: transparent !important;
  color: var(--layer-theme-cream) !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body .am-modal-title {
  color: var(--layer-theme-gold) !important;
  font-weight: 800 !important;
}

body .am-modal-footer .am-modal-button-group-h a,
body .am-modal-footer .am-modal-button-group-v a {
  border-color: rgba(255, 217, 120, .35) !important;
  background: var(--layer-theme-red-dark) !important;
  color: var(--layer-theme-cream) !important;
}

body .am-modal-footer a:last-child {
  background: linear-gradient(180deg, #fff1b9, var(--layer-theme-gold-deep)) !important;
  color: #6f0808 !important;
  font-weight: 800 !important;
}
