
.site-announcement-overlay.theme-dreamgame,
.site-announcement-popup.theme-dreamgame {
  --site-announcement-accent: #d4bf63;
  --site-announcement-accent-rgb: 212, 191, 99;
  --site-announcement-accent-soft: rgba(212, 191, 99, 0.34);
  --site-announcement-body-bg: rgba(22, 22, 22, 0.72);
  --site-announcement-management-accent: #9d8430;
  --site-announcement-management-body-bg: rgba(22, 22, 22, 0.72);
  --site-announcement-management-border: rgba(232, 214, 128, 0.40);
  --site-announcement-management-title-color: #fff0ae;
  --site-announcement-confirm: linear-gradient(to bottom, #fff0ae 0%, #d4bf63 36%, #826927 72%, #111111 100%);
  --site-announcement-confirm-hover: linear-gradient(to bottom, #fff7cf 0%, #e2cd72 44%, #564316 100%);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #16a34a);
  --site-announcement-overlay-bg: radial-gradient(circle at 20% 20%, rgba(212, 191, 99, 0.22), transparent 34%), radial-gradient(circle at 80% 12%, rgba(90, 75, 28, 0.30), transparent 32%), rgba(0, 0, 0, 0.70);
  --site-announcement-radius: 20px;
  --site-announcement-shadow: 0 24px 80px rgba(0, 0, 0, 0.56), 0 0 0 1px rgba(232, 214, 128, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  --site-announcement-stripe: linear-gradient(90deg, #0a0a0a, #595959, #d4bf63, #fff0ae, #0a0a0a);
  --site-announcement-surface: linear-gradient(145deg, rgba(5, 5, 5, 0.96), rgba(35, 32, 19, 0.92) 50%, rgba(2, 2, 2, 0.96));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #fff0ae;
}

.site-announcement-popup.theme-dreamgame {
  color: #ffffff !important;
}

.site-announcement-popup.theme-dreamgame .site-announcement-title,
.site-announcement-popup.theme-dreamgame .site-announcement-check {
  color: #fff0ae !important;
}

.site-announcement-popup.theme-dreamgame .site-announcement-check span,
.site-announcement-popup.theme-dreamgame .site-announcement-hide-text {
  color: #fff0ae !important;
}

.site-announcement-popup.theme-dreamgame .site-announcement-body {
  background: rgba(22, 22, 22, 0.72);
  border-color: rgba(232, 214, 128, 0.40);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
  color: #ffffff !important;
}

.site-announcement-popup.theme-dreamgame .site-announcement-body p,
.site-announcement-popup.theme-dreamgame .site-announcement-body li,
.site-announcement-popup.theme-dreamgame .site-announcement-body strong {
  color: #ffffff !important;
}

.site-announcement-popup.theme-dreamgame .site-announcement-lang-btn {
  background: rgba(22, 22, 22, 0.72);
  border-color: rgba(232, 214, 128, 0.34);
  color: #ffffff;
}

.site-announcement-popup.theme-dreamgame .site-announcement-lang-btn.active,
.site-announcement-popup.theme-dreamgame .site-announcement-lang-btn:hover {
  background: linear-gradient(135deg, #fff0ae, #d4bf63, #826927);
  border-color: #fff0ae;
  color: #111111;
}

.site-announcement-popup.theme-dreamgame .site-announcement-confirm {
  border: 1px solid rgba(255, 240, 174, 0.38) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.40), 0 0 22px rgba(212, 191, 99, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.30) !important;
  color: #111111 !important;
  min-width: 160px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.48);
}

.site-announcement-lock {
  overflow: hidden;
}

.site-announcement-overlay.theme-dgvvip,
.site-announcement-popup.theme-dgvvip {
  --site-announcement-accent: #edb544;
  --site-announcement-accent-rgb: 237, 181, 68;
  --site-announcement-accent-soft: rgba(237, 181, 68, 0.30);
  --site-announcement-body-bg: rgba(255, 248, 229, 0.58);
  --site-announcement-management-accent: #7a0807;
  --site-announcement-management-body-bg: rgba(255, 239, 225, 0.58);
  --site-announcement-management-border: rgba(122, 8, 7, 0.24);
  --site-announcement-confirm: linear-gradient(90deg, #edb544, #886011);
  --site-announcement-confirm-hover: linear-gradient(90deg, #886011, #edb544);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #00a843);
  --site-announcement-overlay-bg: radial-gradient(circle at 50% 12%, rgba(237, 181, 68, 0.30), transparent 30%), rgba(27, 13, 13, 0.48);
  --site-announcement-radius: 10px;
  --site-announcement-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 38px rgba(237, 181, 68, 0.20);
  --site-announcement-stripe: linear-gradient(90deg, #edb544, #886011, #7a0807);
  --site-announcement-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 248, 229, 0.54));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #3a2207;
}

.site-announcement-overlay.theme-dg4289,
.site-announcement-popup.theme-dg4289 {
  --site-announcement-accent: #5174b8;
  --site-announcement-accent-rgb: 81, 116, 184;
  --site-announcement-accent-soft: rgba(81, 116, 184, 0.30);
  --site-announcement-body-bg: rgba(232, 240, 253, 0.60);
  --site-announcement-management-accent: #f6821b;
  --site-announcement-management-body-bg: rgba(255, 245, 235, 0.58);
  --site-announcement-management-border: rgba(246, 130, 27, 0.26);
  --site-announcement-confirm: linear-gradient(90deg, #5174b8, #294388);
  --site-announcement-confirm-hover: linear-gradient(90deg, #294388, #5174b8);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #00a843);
  --site-announcement-overlay-bg: radial-gradient(circle at 50% 12%, rgba(81, 116, 184, 0.32), transparent 30%), rgba(0, 29, 64, 0.50);
  --site-announcement-radius: 18px;
  --site-announcement-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 38px rgba(81, 116, 184, 0.20);
  --site-announcement-stripe: linear-gradient(90deg, #5174b8, #294388, #f6821b);
  --site-announcement-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(232, 240, 253, 0.56));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #233b7a;
}

.site-announcement-overlay.theme-huay4d,
.site-announcement-popup.theme-huay4d {
  --site-announcement-accent: #b00000;
  --site-announcement-accent-rgb: 176, 0, 0;
  --site-announcement-accent-soft: rgba(176, 0, 0, 0.26);
  --site-announcement-body-bg: rgba(255, 239, 239, 0.58);
  --site-announcement-management-accent: #6e0000;
  --site-announcement-management-body-bg: rgba(255, 238, 235, 0.58);
  --site-announcement-management-border: rgba(110, 0, 0, 0.24);
  --site-announcement-confirm: linear-gradient(90deg, #b00000, #6e0000);
  --site-announcement-confirm-hover: linear-gradient(90deg, #6e0000, #b00000);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #00a843);
  --site-announcement-overlay-bg: radial-gradient(circle at 50% 12%, rgba(176, 0, 0, 0.30), transparent 30%), rgba(28, 0, 0, 0.50);
  --site-announcement-radius: 14px;
  --site-announcement-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 38px rgba(176, 0, 0, 0.20);
  --site-announcement-stripe: linear-gradient(90deg, #b00000, #6e0000, #f97d1d);
  --site-announcement-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 239, 239, 0.54));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #5f0505;
}

.site-announcement-overlay.theme-huay444,
.site-announcement-popup.theme-huay444 {
  --site-announcement-accent: #ffc107;
  --site-announcement-accent-rgb: 255, 193, 7;
  --site-announcement-accent-soft: rgba(255, 193, 7, 0.30);
  --site-announcement-body-bg: rgba(255, 251, 235, 0.58);
  --site-announcement-management-accent: #886011;
  --site-announcement-management-body-bg: rgba(255, 248, 226, 0.58);
  --site-announcement-management-border: rgba(136, 96, 17, 0.24);
  --site-announcement-confirm: linear-gradient(90deg, #ffc107, #886011);
  --site-announcement-confirm-hover: linear-gradient(90deg, #886011, #ffc107);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #00a843);
  --site-announcement-overlay-bg: radial-gradient(circle at 50% 12%, rgba(255, 193, 7, 0.30), transparent 30%), rgba(34, 24, 4, 0.48);
  --site-announcement-radius: 8px;
  --site-announcement-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 38px rgba(255, 193, 7, 0.20);
  --site-announcement-stripe: linear-gradient(90deg, #ffc107, #f3ba47, #886011);
  --site-announcement-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 251, 235, 0.54));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #654509;
}

.site-announcement-overlay.theme-leng4d,
.site-announcement-popup.theme-leng4d {
  --site-announcement-accent: #2563eb;
  --site-announcement-accent-rgb: 37, 99, 235;
  --site-announcement-accent-soft: rgba(37, 99, 235, 0.28);
  --site-announcement-body-bg: rgba(239, 246, 255, 0.58);
  --site-announcement-management-accent: #1e40af;
  --site-announcement-management-body-bg: rgba(235, 244, 255, 0.58);
  --site-announcement-management-border: rgba(30, 64, 175, 0.24);
  --site-announcement-confirm: linear-gradient(90deg, #38bdf8, #2563eb);
  --site-announcement-confirm-hover: linear-gradient(90deg, #2563eb, #38bdf8);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #00a843);
  --site-announcement-overlay-bg: radial-gradient(circle at 50% 12%, rgba(37, 99, 235, 0.30), transparent 30%), rgba(10, 32, 80, 0.50);
  --site-announcement-radius: 12px;
  --site-announcement-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 38px rgba(37, 99, 235, 0.20);
  --site-announcement-stripe: linear-gradient(90deg, #38bdf8, #2563eb, #1e40af);
  --site-announcement-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(239, 246, 255, 0.54));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #1e3a8a;
}

.site-announcement-overlay.theme-winlotto4d,
.site-announcement-popup.theme-winlotto4d {
  --site-announcement-accent: #15803d;
  --site-announcement-accent-rgb: 21, 128, 61;
  --site-announcement-accent-soft: rgba(21, 128, 61, 0.28);
  --site-announcement-body-bg: rgba(240, 253, 244, 0.58);
  --site-announcement-management-accent: #ca8a04;
  --site-announcement-management-body-bg: rgba(254, 252, 232, 0.58);
  --site-announcement-management-border: rgba(202, 138, 4, 0.24);
  --site-announcement-confirm: linear-gradient(90deg, #22c55e, #15803d);
  --site-announcement-confirm-hover: linear-gradient(90deg, #15803d, #22c55e);
  --site-announcement-line-gradient: linear-gradient(135deg, #06c755, #00a843);
  --site-announcement-overlay-bg: radial-gradient(circle at 50% 12%, rgba(21, 128, 61, 0.30), transparent 30%), rgba(13, 56, 34, 0.50);
  --site-announcement-radius: 16px;
  --site-announcement-shadow: 0 30px 90px rgba(0, 0, 0, 0.34), 0 0 38px rgba(21, 128, 61, 0.20);
  --site-announcement-stripe: linear-gradient(90deg, #22c55e, #15803d, #ca8a04);
  --site-announcement-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(240, 253, 244, 0.54));
  --site-announcement-title-bg: transparent;
  --site-announcement-title-color: #14532d;
}

.site-announcement-overlay {
  align-items: center;
  background: var(--site-announcement-overlay-bg, rgba(15, 23, 42, 0.62));
  backdrop-filter: blur(8px);
  box-sizing: border-box;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 16px;
  position: fixed;
  z-index: 1040;
  -webkit-backdrop-filter: blur(8px);
}

.site-announcement-popup {
  background: var(--site-announcement-surface, #ffffff);
  backdrop-filter: blur(22px) saturate(1.35);
  border: 1px solid rgba(255, 255, 255, 0.48) !important;
  border-radius: var(--site-announcement-radius, 10px) !important;
  box-sizing: border-box;
  box-shadow: var(--site-announcement-shadow, 0 22px 70px rgba(15, 23, 42, 0.28)) !important;
  color: #1f2937 !important;
  max-height: 92vh;
  overflow: hidden;
  padding: 0 !important;
  width: 100%;
  -webkit-backdrop-filter: blur(22px) saturate(1.35);
}

.site-announcement-popup--management {
  border-top: 1px solid rgba(255, 255, 255, 0.56) !important;
}

.site-announcement-popup--welcome {
  border-top: 1px solid rgba(255, 255, 255, 0.56) !important;
}

.site-announcement-popup::before {
  background: var(--site-announcement-stripe, linear-gradient(90deg, #f83600, #fe8c00, #be1818));
  content: "";
  display: block;
  height: 4px;
  opacity: 0.92;
  width: 100%;
}

.site-announcement-title {
  background: var(--site-announcement-title-bg, #ffffff);
  color: var(--site-announcement-title-color, #111827) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 22px 24px 8px !important;
}

.site-announcement-content {
  margin: 0 !important;
  padding: 0 24px 22px !important;
}

.site-announcement-footer {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 0 24px 22px;
  text-align: center;
}

.site-announcement-language {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: center;
  margin: 0 0 12px;
}

.site-announcement-lang-btn {
  background: rgba(255, 255, 255, 0.52);
  border: 1px solid rgba(var(--site-announcement-accent-rgb, 254, 140, 0), 0.24);
  border-radius: 999px;
  color: #374151;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  min-height: 34px;
  min-width: 58px;
  padding: 8px 14px;
}

.site-announcement-lang-btn.active,
.site-announcement-lang-btn:hover {
  background: var(--site-announcement-stripe, linear-gradient(to right, #f83600, #fe8c00));
  border-color: var(--site-announcement-accent, #0f766e);
  color: #fff;
}

.site-announcement-body {
  background: rgba(255, 255, 255, 0.54);
  backdrop-filter: blur(14px);
  border: 1px solid var(--site-announcement-accent-soft, #e5e7eb);
  border-radius: 8px;
  color: #1f2937;
  font-size: 15px;
  line-height: 1.75;
  max-height: 62vh;
  overflow: auto;
  padding: 16px 18px;
  text-align: left;
  -webkit-backdrop-filter: blur(14px);
}

.site-announcement-popup--management .site-announcement-body {
  background: var(--site-announcement-management-body-bg, #fffafa);
  border-color: var(--site-announcement-management-border, #fecaca);
}

.site-announcement-popup--welcome .site-announcement-body {
  background: var(--site-announcement-body-bg, #f8fffd);
  border-color: var(--site-announcement-accent-soft, #99f6e4);
}

.site-announcement-body p {
  margin: 0 0 12px;
}

.site-announcement-body p:last-child {
  margin-bottom: 0;
}

.site-announcement-body ul {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}

.site-announcement-body li {
  margin: 0 0 8px;
}

.site-announcement-actions {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 16px 0 0;
  text-align: center;
}

.site-announcement-line-button {
  align-items: center;
  background: var(--site-announcement-line-gradient, linear-gradient(135deg, #06c755, #00a843));
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0, 168, 67, 0.26);
  color: #fff !important;
  display: inline-flex;
  font-size: 17px;
  font-weight: 700;
  gap: 8px;
  justify-content: center;
  line-height: 1.2;
  max-width: 100%;
  min-width: 190px;
  min-height: 44px;
  padding: 12px 22px;
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
}

.site-announcement-line-button:hover,
.site-announcement-line-button:focus {
  color: #fff !important;
  filter: brightness(1.04);
  text-decoration: none !important;
}

.site-announcement-check {
  align-items: center;
  color: #374151;
  cursor: pointer;
  display: flex;
  font-size: 14px;
  gap: 8px;
  justify-content: center;
  margin: 16px 0 0;
  user-select: none;
}

.site-announcement-check input {
  cursor: pointer;
  height: 16px;
  margin: 0;
  width: 16px;
}

.site-announcement-confirm {
  align-items: center;
  background: var(--site-announcement-confirm, #1d4ed8) !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 15px !important;
  font-weight: 700 !important;
  gap: 7px;
  justify-content: center;
  line-height: 1.2;
  min-height: 44px;
  min-width: 120px;
  padding: 10px 18px !important;
}

.site-announcement-confirm:hover {
  background: var(--site-announcement-confirm-hover, var(--site-announcement-confirm, #1d4ed8)) !important;
  color: #fff !important;
}

.site-announcement-confirm:focus {
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.24) !important;
  color: #fff !important;
}

@media (max-width: 575px) {
  .site-announcement-title {
    font-size: 20px !important;
    padding: 18px 16px 8px !important;
  }

  .site-announcement-content {
    padding: 0 16px 16px !important;
  }

  .site-announcement-footer {
    padding: 0 16px 18px;
  }

  .site-announcement-language {
    flex-wrap: wrap;
  }

  .site-announcement-body {
    font-size: 14px;
    max-height: 58vh;
    padding: 14px;
  }
}
