/* Dragon Queen theme */
html,body { margin:0; padding:0; }
body.dq-body {
  background:#100309;
  color:#F3E3D0;
  font-family:Barlow,system-ui,sans-serif;
  min-height:100%;
  overflow-x:hidden;
}
* { box-sizing:border-box; }
a { color:#F7C948; text-decoration:none; }
a:hover { color:#FFE9A3; }
a:focus-visible, button:focus-visible { outline:2px solid #F7C948; outline-offset:2px; }

.dq-shell { max-width:100%; }
.dq-cta-form, .dq-game-form, .dq-jack-form { margin:0; display:inline-flex; }
.dq-game-form, .dq-jack-form { width:100%; }

@keyframes dq-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes dq-pulse { 0%,100% { opacity:.55; } 50% { opacity:1; } }

/* Header */
.dq-header {
  display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(18px,3vw,44px);
  padding:16px clamp(16px,4vw,56px);
  background:linear-gradient(180deg,#2A0714 0%,#1A0510 100%);
  border-bottom:2px solid #7A4A12;
  box-shadow:0 6px 24px rgba(0,0,0,.6);
  position:sticky; top:0; z-index:40;
}
.dq-logo-link { flex:none; display:flex; align-items:center; }
.dq-logo--header {
  width:172px; height:56px; object-fit:contain; display:block;
}
.dq-nav-slot--desktop { margin-right:auto; min-width:0; }
.dq-nav-slot--desktop .dq-main-nav {
  display:flex; align-items:center; gap:clamp(14px,2vw,32px);
  font-family:Cinzel,serif; font-size:13.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
}
.dq-nav-slot--desktop .dq-nav-link { color:#F3E3D0; white-space:nowrap; }
.dq-nav-slot--desktop .dq-nav-link:hover { color:#FFD873; }

.dq-burger {
  display:none; align-items:center; justify-content:center; flex-direction:column; gap:4px;
  width:46px; height:46px; margin-left:auto; border-radius:10px;
  background:rgba(247,201,72,.06); border:1.5px solid #8A5A18; cursor:pointer; padding:0;
}
.dq-burger span { display:block; width:20px; height:2px; background:#F7C948; }
.dq-header-actions { display:flex; align-items:center; gap:12px; }

.dq-nav-slot--mobile {
  display:none; flex-basis:100%; flex-direction:column; gap:2px;
  padding-top:10px; border-top:1px solid rgba(122,74,18,.7);
}
.dq-nav-slot--mobile[hidden] { display:none !important; }
.dq-header.is-open .dq-nav-slot--mobile:not([hidden]) { display:flex; }
.dq-nav-slot--mobile .dq-main-nav {
  display:flex; flex-direction:column; gap:2px;
  font-family:Cinzel,serif; font-size:15px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
}
.dq-nav-slot--mobile .dq-nav-link {
  display:flex; align-items:center; min-height:48px; padding:0 4px; color:#F3E3D0;
}

/* Buttons Example 2 */
.dq-btn {
  font-family:Cinzel,serif; font-weight:700; font-size:14px; letter-spacing:.08em;
  text-transform:uppercase; border-radius:8px; cursor:pointer; padding:11px 22px;
  transition:filter .15s ease, background .15s ease, border-color .15s ease;
}
.dq-btn--ghost {
  color:#F7C948; background:rgba(247,201,72,.06); border:1.5px solid #8A5A18;
}
.dq-btn--ghost:hover { background:rgba(247,201,72,.16); border-color:#F7C948; }
.dq-btn--gold {
  font-weight:900; color:#2A0503;
  background:linear-gradient(180deg,#FFE07A 0%,#F5B622 55%,#D98A05 100%);
  border:1.5px solid #FFF0B8;
  box-shadow:0 4px 0 #8A4E05, 0 8px 22px rgba(245,182,34,.35);
  padding:11px 26px;
}
.dq-btn--gold:hover { filter:brightness(1.08); }
.dq-btn--red {
  font-weight:900; color:#FFF4D6; background:#C1121F; border:2px solid #FFF1BE;
  border-radius:12px; box-shadow:0 6px 0 #6B0A12, 0 14px 40px rgba(193,18,31,.45);
}
.dq-btn--red:hover { filter:brightness(1.1); }
.dq-btn--lg {
  font-size:clamp(14px,1.6vw,22px); letter-spacing:.1em;
  padding:clamp(12px,1.6vw,18px) clamp(24px,3.4vw,46px);
}
.dq-btn--more {
  color:#FFD873;
  background:linear-gradient(180deg,rgba(122,60,201,.5),rgba(43,13,30,.9));
  border:1.5px solid #8A5A18; border-radius:10px; padding:14px 40px;
}
.dq-btn--more:hover { border-color:#F7C948; color:#FFF1BE; }
.dq-more-wrap { display:flex; justify-content:center; margin-top:28px; }
.dq-more-wrap.is-hidden { display:none; }

/* Hero */
.dq-hero-section { position:relative; max-width:1360px; margin:0 auto; padding:0 clamp(16px,4vw,40px); }
.dq-hero-wrap { position:relative; width:100%; margin:24px auto 0; }
.dq-hero {
  position:relative; width:100%; aspect-ratio:1792/896; border-radius:20px; overflow:hidden;
  border:2px solid #8A5A18;
  box-shadow:0 0 0 4px rgba(122,60,201,.18), 0 24px 60px rgba(0,0,0,.7);
  background-color:#100309; background-size:contain; background-repeat:no-repeat; background-position:center;
}
.dq-hero-fade {
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(20,3,10,.92) 0%, rgba(20,3,10,.74) 32%, rgba(20,3,10,.12) 60%, rgba(20,3,10,0) 100%);
}
.dq-hero-copy {
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; text-align:left; max-width:56%; gap:clamp(16px,2.4vw,30px);
  padding:clamp(20px,4vw,56px); z-index:1;
}
.dq-hero-title {
  margin:0; max-width:880px; font-family:Cinzel,serif; font-weight:900;
  font-size:clamp(24px,3.8vw,54px); line-height:1.06; color:#FFFFFF;
  text-shadow:0 3px 0 #6B0F16, 0 10px 30px rgba(0,0,0,.8);
}

/* Sections */
.dq-section { max-width:1360px; margin:0 auto; padding:clamp(40px,5vw,72px) clamp(16px,4vw,40px) 0; }
.dq-section-head { display:flex; align-items:center; gap:18px; margin-bottom:26px; }
.dq-section-title {
  margin:0; font-family:Cinzel,serif; font-weight:900; font-size:clamp(24px,3vw,36px);
  color:#FFD873; text-shadow:0 2px 0 #6B0F16;
}
.dq-section-line { flex:1; height:2px; background:linear-gradient(90deg,#8A5A18,rgba(138,90,24,0)); }
.dq-section-link {
  font-family:Cinzel,serif; font-size:13px; letter-spacing:.1em; text-transform:uppercase;
}

/* Hot carousel */
.dq-hotrow { display:flex; align-items:center; gap:clamp(6px,1.2vw,16px); }
.dq-arrow {
  flex:none; width:clamp(38px,3.4vw,52px); height:clamp(38px,3.4vw,52px); border-radius:50%;
  background:linear-gradient(180deg,#43102A,#1C0512); border:2px solid #B5801F;
  color:#FFD873; font-size:20px; line-height:1; cursor:pointer;
}
.dq-arrow:hover { border-color:#F7C948; color:#FFF1BE; }
.dq-frame {
  flex:1; min-width:0;
  background-size:100% 100%; background-repeat:no-repeat;
  padding:17% 14% 15%;
}
.dq-frame-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(10px,1.6vw,26px); justify-items:center;
}
.dq-game-card {
  position:relative; width:100%; max-width:210px; border-radius:12px; padding:3px;
  cursor:pointer; border:0; background:transparent; display:block;
}
.dq-game-card:hover { filter:brightness(1.07); }
.dq-card-frame { position:absolute; inset:0; border-radius:12px; }
.dq-card-frame--0 { background:linear-gradient(160deg,#FFE07A,#E0A116 45%,#8A5A18); }
.dq-card-frame--1 { background:linear-gradient(160deg,#FF7A8A,#E0202F 45%,#7A0C16); }
.dq-card-frame--2 { background:linear-gradient(160deg,#C79BFF,#7A3CC9 45%,#3B1470); }
.dq-card-frame--3 { background:linear-gradient(160deg,#FFD873,#E0202F 55%,#7A3CC9); }
.dq-card-frame--4 { background:linear-gradient(160deg,#7FE3D0,#1E9E8A 45%,#0B4A42); }
.dq-card-inner {
  position:relative; border-radius:10px; overflow:hidden; background:#1A0510; aspect-ratio:2/3; display:block;
}
.dq-card-inner img { width:100%; height:100%; object-fit:cover; display:block; }

/* carousel: hide non-active slides */
#dq-hot-grid .dq-game-form { display:none; width:100%; max-width:210px; }
#dq-hot-grid .dq-game-form.is-active { display:block; }

/* Ticker */
.dq-ticker-wrap {
  margin-top:clamp(34px,4vw,56px);
  background:linear-gradient(180deg,#2A0714,#1C0410);
  border-top:2px solid #7A4A12; border-bottom:2px solid #7A4A12;
  padding:16px 0; overflow:hidden;
}
.dq-ticker-label-row {
  display:flex; align-items:center; gap:14px; max-width:1360px; margin:0 auto 12px;
  padding:0 clamp(16px,4vw,40px);
}
.dq-ticker-label {
  font-family:Cinzel,serif; font-weight:700; font-size:14px; letter-spacing:.18em;
  text-transform:uppercase; color:#F7C948;
}
.dq-ticker-dot {
  width:7px; height:7px; border-radius:50%; background:#E0202F; animation:dq-pulse 1.4s infinite;
}
.dq-ticker-viewport {
  width:100%; overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.dq-ticker-track { display:flex; width:max-content; gap:14px; animation:dq-marquee 42s linear infinite; }
.dq-ticker-item {
  display:flex; align-items:center; gap:11px; padding:8px 16px 8px 8px; border-radius:10px;
  background:rgba(247,201,72,.06); border:1px solid rgba(138,90,24,.7);
}
.dq-ticker-item img {
  width:38px; height:38px; border-radius:7px; object-fit:cover; border:1.5px solid #B5801F; display:block;
}
.dq-ticker-meta { display:flex; flex-direction:column; gap:2px; }
.dq-ticker-nick { font-size:13px; font-weight:600; color:#E9D6C0; white-space:nowrap; }
.dq-ticker-amount { font-family:Cinzel,serif; font-size:14px; font-weight:700; color:#FFD873; white-space:nowrap; }

/* Content */
.dq-prose-section { max-width:1080px; }
.dq-article {
  background:linear-gradient(180deg,#25081A 0%,#170410 100%);
  border:2px solid #7A4A12; border-radius:18px;
  padding:clamp(24px,3.4vw,56px);
  box-shadow:0 0 0 4px rgba(122,60,201,.15);
}
.dq-content { font-size:16.5px; line-height:1.7; color:#DCC6B0; }
.dq-content h1,.dq-content h2,.dq-content h3 {
  font-family:Cinzel,serif; font-weight:900; color:#FFD873; line-height:1.2;
}
.dq-content h1 { font-size:clamp(24px,3vw,34px); margin:0 0 16px; }
.dq-content h2 { font-size:clamp(22px,2.6vw,28px); margin:28px 0 12px; color:#F7C948; font-weight:700; }
.dq-content h3 { font-size:22px; margin:28px 0 12px; color:#F7C948; font-weight:700; }
.dq-content p { margin:0 0 18px; }
.dq-content ul,.dq-content ol { margin:0 0 22px; padding-left:22px; }
.dq-content li { margin:9px 0; }
.dq-content a { color:#F7C948; }
.dq-content blockquote {
  margin:0 0 26px; padding:20px 24px; border-left:4px solid #E0202F;
  border-radius:0 12px 12px 0;
  background:linear-gradient(90deg,rgba(224,32,47,.16),rgba(122,60,201,.1));
  font-family:Cinzel,serif; font-size:18px; line-height:1.55; color:#FFE08A;
}
.dq-content-cta { margin-top:28px; display:flex; justify-content:center; }

.dq-content table {
  width:100%; border-collapse:collapse; font-size:15px; background:transparent;
}
.dq-content table th,.dq-content table td {
  padding:12px 16px; border:1px solid rgba(122,74,18,.7); text-align:left; color:#E9D6C0;
}
.dq-content table th {
  background:linear-gradient(180deg,#43102A,#2B0D1E);
  font-family:Cinzel,serif; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:#FFD873;
}
@media (max-width: 768px) {
  table {
    display:block !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
}

/* Jackpots */
.dq-jack-form { max-width:210px; }
.dq-jack-card {
  display:flex; flex-direction:column; align-items:center; gap:10px; width:100%;
  background:transparent; border:0; cursor:pointer; padding:0; color:inherit;
}
.dq-jack-amount-wrap {
  width:100%; text-align:center; padding:7px 10px; border-radius:10px;
  background:linear-gradient(180deg,#43102A,#25081A); border:2px solid #D8A62E;
  box-shadow:0 0 18px rgba(247,201,72,.25) inset;
}
.dq-jack-label { display:block; font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:#E0A9B9; }
.dq-jack-amount {
  display:block; font-family:Cinzel,serif; font-weight:900; font-size:clamp(13px,1.3vw,19px);
  color:#FFE08A; text-shadow:0 2px 0 #7A1020; white-space:nowrap;
}
.dq-game-card--static { max-width:100%; pointer-events:none; }

/* All games */
.dq-all-grid {
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(8px,1.3vw,20px);
}
.dq-all-grid .dq-game-form { max-width:none; }
.dq-all-grid .dq-game-card { max-width:none; }
.dq-all-grid .dq-game-form.is-hidden,
.dq-prov-grid .dq-prov-item.is-hidden { display:none !important; }

/* Providers */
.dq-prov-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(clamp(74px,9vw,120px),1fr)); gap:10px;
}
.dq-prov-item {
  display:flex; align-items:center; justify-content:center; height:62px; padding:8px;
}
.dq-prov-item img { max-width:100%; max-height:100%; object-fit:contain; opacity:.85; display:block; }

/* Footer */
.dq-footer {
  margin-top:clamp(48px,5vw,84px);
  background:linear-gradient(180deg,#2A0714,#0D0207);
  border-top:2px solid #7A4A12;
  padding:clamp(34px,4vw,60px) clamp(16px,4vw,40px) 28px;
}
.dq-footer-grid {
  max-width:1360px; margin:0 auto;
  display:grid; grid-template-columns:minmax(220px,1fr) minmax(160px,auto) minmax(260px,auto);
  gap:clamp(24px,4vw,64px); align-items:start;
}
.dq-logo--footer { width:172px; height:56px; object-fit:contain; display:block; }
.dq-footer-blurb { margin:16px 0 0; max-width:280px; font-size:13.5px; line-height:1.6; color:#A98F79; }
.dq-footer-heading {
  display:block; font-family:Cinzel,serif; font-size:12px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:#F7C948; margin-bottom:12px;
}
.dq-nav-slot--footer .dq-footer-nav {
  display:flex; flex-direction:column; gap:11px; font-size:14.5px;
}
.dq-footer-link { color:#F7C948; }
.dq-footer-link:hover { color:#FFE9A3; }
.dq-pay-row { display:flex; flex-wrap:wrap; gap:12px; max-width:440px; }
.dq-pay-item {
  width:72px; height:40px; display:flex; align-items:center; justify-content:center;
  padding:4px 8px; border-radius:8px;
  background:rgba(255,255,255,.08); border:1px solid rgba(138,90,24,.55);
}
.dq-pay-item img { max-width:100%; max-height:100%; object-fit:contain; display:block; }
.dq-footer-bottom {
  max-width:1360px; margin:clamp(26px,3vw,42px) auto 0; padding-top:24px;
  border-top:1px solid rgba(122,74,18,.6);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;
}
.dq-sec-row { display:flex; flex-wrap:wrap; align-items:center; gap:clamp(18px,2.6vw,36px); }
.dq-sec-item { height:38px; display:flex; align-items:center; }
.dq-sec-item img { max-height:38px; max-width:130px; object-fit:contain; opacity:.8; display:block; }
.dq-age {
  display:flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:50%; border:2px solid #E0202F; font-family:Cinzel,serif; font-weight:900;
  font-size:14px; color:#FF7A85;
}
.dq-rg {
  max-width:1360px; margin:20px auto 0; font-size:12.5px; line-height:1.6; color:#8E7663;
}

@media (prefers-reduced-motion:reduce) {
  .dq-ticker-track { animation:none !important; }
  .dq-ticker-dot { animation:none !important; }
}

@media (max-width: 900px) {
  .dq-nav-slot--desktop { display:none !important; }
  .dq-burger { display:flex; }
}
@media (max-width: 720px) {
  .dq-header { gap:10px; padding:12px 14px; }
  .dq-logo--header { width:124px; height:42px; }
  .dq-btn--login { display:none; }
  .dq-header-actions .dq-btn { min-height:44px; }
  .dq-hero { height:auto; aspect-ratio:16/11; background-size:cover; background-position:50% 22%; }
  .dq-hero-fade { background:linear-gradient(180deg, rgba(20,3,10,0) 58%, rgba(20,3,10,.55) 100%); }
  .dq-hero-copy {
    position:static; inset:auto; max-width:100%; align-items:center; text-align:center;
    gap:18px; padding:22px 0 0;
  }
  .dq-hero-title { font-size:27px; }
  .dq-hero-copy .dq-cta-form { width:100%; }
  .dq-hero-copy .dq-btn { width:100%; font-size:16px; padding:15px 38px; }
  .dq-hotrow { flex-wrap:wrap; justify-content:center; }
  .dq-frame { order:1; flex:0 0 100%; background-image:none !important; padding:16px 14px;
    background:linear-gradient(180deg,#2C0A1E 0%,#170410 100%);
    border:2px solid #8A5A18; border-radius:16px;
    box-shadow:0 0 0 3px rgba(122,60,201,.16), inset 0 0 24px rgba(247,201,72,.06);
  }
  .dq-arrow { order:2; width:44px; height:44px; }
  .dq-frame-grid { grid-template-columns:1fr; gap:16px; }
  .dq-game-card { max-width:min(74vw,270px); }
  .dq-all-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .dq-prov-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .dq-more-wrap--prov { display:none; }
  .dq-footer-grid { grid-template-columns:1fr; gap:28px; }
}
