/* Artwork-led refinement: desktop presentation plus short mobile viewport safety. */
.dng-public{background-image:linear-gradient(90deg,rgba(71,4,35,.05),rgba(71,4,35,.14)),url('coin-drop-desktop.webp')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.dng-public:before,.dng-public:after{display:none!important}

@media(min-width:761px){
 .dng-public .public-inner{grid-template-columns:minmax(360px,44%) minmax(540px,56%)!important;grid-template-rows:auto auto auto auto auto auto auto auto auto!important;grid-template-areas:"art brand" "art eyebrow" "art title" "art jackpot" "art charge" "art tickets" "art more" "art trust" "art meta"!important;row-gap:6px!important;column-gap:clamp(35px,5vw,90px)!important}
 .dng-public .brandline,.dng-public .eyebrow,.dng-public h1,.dng-public .jackpot,.dng-public .charge,.dng-public .ticket-rule,.dng-public .more,.dng-public .trust,.dng-public .public-meta,.dng-public .public-winner{grid-column:2!important}
 .dng-public h1{font-size:clamp(48px,4.8vw,86px)!important}
 .dng-public .jackpot{padding:10px 0 12px 28px!important}
 .dng-public .jackpot strong{font-size:clamp(90px,9vw,150px)!important}
 .dng-public .charge{padding:18px 24px!important;border-radius:20px!important;backdrop-filter:blur(18px)!important}
 .dng-public .track{margin:12px 0!important}
 .dng-public .ticket-rule div{padding:14px 18px!important;backdrop-filter:blur(18px)!important}
 .dng-public .public-meta{padding-top:8px!important}
}

@media(max-width:760px){
 .dng-public{background-image:linear-gradient(180deg,rgba(84,3,38,.28),rgba(55,1,28,.42)),url('coin-drop-mobile.webp')!important;background-size:cover!important;background-position:center top!important;padding:10px 14px 8px!important}
 .dng-public .public-inner{justify-content:space-around!important;min-height:0!important}
 .dng-public .brandline{font-size:14px!important}.dng-public .brandmark{width:28px!important;height:28px!important}
 .dng-public .eyebrow{font-size:9px!important;margin:0!important}
 .dng-public h1{font-size:clamp(27px,8vw,38px)!important;line-height:.92!important}
 .dng-public .jackpot{padding:0!important}.dng-public .jackpot span{font-size:9px!important}.dng-public .jackpot strong{font-size:clamp(60px,20vw,86px)!important}.dng-public .jackpot small{font-size:9px!important}
 .dng-public .charge{padding:9px 12px!important;border-radius:14px!important;backdrop-filter:blur(16px)!important}.dng-public .charge-head{font-size:13px!important}.dng-public .track{height:10px!important;margin:6px 0!important}.dng-public .charge p{font-size:11px!important;margin:0!important}
 .dng-public .ticket-rule{margin:0!important}.dng-public .ticket-rule div{padding:6px!important;backdrop-filter:blur(16px)!important}.dng-public .ticket-rule b{font-size:22px!important}.dng-public .ticket-rule span{font-size:10px!important}
 .dng-public .more{font-size:10px!important;margin:0!important}
 .dng-public .trust{display:none!important}
 .dng-public .public-meta{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;margin:0!important;padding:4px 0 0!important;font-size:8.5px!important;line-height:1.1!important;min-height:23px!important}.dng-public .public-meta span{max-width:100%!important}
}

@media(max-width:760px) and (max-height:760px){
 .dng-public{padding-top:6px!important;padding-bottom:5px!important}.dng-public h1{font-size:26px!important}.dng-public .jackpot strong{font-size:58px!important}.dng-public .charge{padding:7px 10px!important}.dng-public .ticket-rule div{padding:5px!important}.dng-public .public-meta{font-size:8px!important}
}

.dng-public .rollover-copy{display:block;margin-top:5px;color:#ffdea0;font-weight:700}
.dng-public .promo-note{display:block;margin-top:5px;color:rgba(255,255,255,.72);font-size:10px;font-weight:600;letter-spacing:.02em}
@media(max-width:760px){.dng-public .rollover-copy{margin-top:2px;font-size:9px;line-height:1.1}}
@media(max-width:760px){.dng-public .promo-note{margin-top:2px;font-size:7.5px;line-height:1.1}}

/* Compact rules access keeps the event artwork within one viewport. */
.dng-public .rules-button{position:fixed;z-index:30;right:clamp(14px,2.4vw,34px);bottom:clamp(14px,2.4vw,30px);border:1px solid rgba(255,222,160,.65);border-radius:999px;padding:10px 17px;background:rgba(83,4,39,.78);color:#fff4dc;font:700 13px/1.1 inherit;letter-spacing:.02em;box-shadow:0 10px 30px rgba(42,0,18,.28);backdrop-filter:blur(14px);cursor:pointer}
.dng-public .rules-button:hover{background:rgba(117,6,50,.92);transform:translateY(-1px)}
.dng-public .rules-button:focus-visible,.dng-public .rules-close:focus-visible{outline:2px solid #ffdc91;outline-offset:3px}
.dng-public .rules-dialog{width:min(680px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));padding:0;border:1px solid rgba(255,222,160,.48);border-radius:24px;background:transparent;color:#fff;box-shadow:0 28px 80px rgba(35,0,16,.55);overflow:auto}
.dng-public .rules-dialog::backdrop{background:rgba(31,0,15,.72);backdrop-filter:blur(7px)}
.dng-public .rules-panel{position:relative;padding:30px 32px 27px;background:linear-gradient(145deg,#c31452 0%,#8b0a3b 58%,#560521 100%)}
.dng-public .rules-kicker{margin:0 0 4px;color:#ffda8a;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.dng-public .rules-panel h2{margin:0 42px 16px 0;color:#fff;font-size:30px;line-height:1.05}
.dng-public .rules-panel h3{margin:19px 0 8px;color:#ffdc91;font-size:13px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.dng-public .rules-panel ol,.dng-public .rules-panel ul{margin:0;padding-left:22px;display:grid;gap:9px;color:#fff8ed;font-size:14px;line-height:1.38}
.dng-public .rules-panel li::marker{color:#ffdc91;font-weight:800}
.dng-public .rules-terms{margin:20px 0 0;padding-top:15px;border-top:1px solid rgba(255,222,160,.32);color:#ffdc91;font-size:12px;font-weight:700;line-height:1.35}
.dng-public .rules-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(61,0,25,.28);color:#fff;font:400 27px/30px Arial,sans-serif;cursor:pointer}
@media(max-width:760px){
 .dng-public .rules-button{right:12px;bottom:10px;padding:8px 13px;font-size:11px}
 .dng-public .rules-dialog{max-height:calc(100dvh - 20px);border-radius:18px}
 .dng-public .rules-panel{padding:23px 21px 20px}
 .dng-public .rules-panel h2{font-size:24px;margin-bottom:12px}
 .dng-public .rules-panel h3{margin:15px 0 7px;font-size:11px}
 .dng-public .rules-panel ol,.dng-public .rules-panel ul{gap:7px;font-size:12px;line-height:1.3}
 .dng-public .rules-terms{margin-top:14px;padding-top:12px;font-size:10.5px}
 .dng-public .rules-close{top:12px;right:12px;width:32px;height:32px;font-size:23px;line-height:27px}
}


/* v0.8.4 conditional Previous Winners entry */
.dng-public .previous-winners-link{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:1px solid rgba(255,222,160,.58);border-radius:999px;background:linear-gradient(135deg,rgba(121,6,51,.72),rgba(180,19,82,.58));color:#fff2d2!important;text-decoration:none;font-size:13px;font-weight:900;box-shadow:0 10px 28px rgba(56,0,24,.18);backdrop-filter:blur(14px);transition:transform .18s ease,background .18s ease}.dng-public .previous-winners-link b{color:#ffdc86}.dng-public .previous-winners-link i{font-style:normal;color:#ffdc86}.dng-public .previous-winners-link:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(145,7,61,.86),rgba(208,24,93,.72))}
@media(max-width:760px){.dng-public .trust.has-winners{display:flex!important;justify-content:center!important;margin:2px 0!important}.dng-public .trust.has-winners>span{display:none!important}.dng-public .previous-winners-link{padding:7px 12px;font-size:10px}}

/* v0.16.4 mobile viewport fix
 * Some Android browsers overlay their bottom toolbar and report a viewport
 * shorter than the campaign's previous fixed 100svh shell. The draw-number
 * and extra-reward additions can therefore be clipped. On phones the page is
 * now allowed to grow and scroll naturally, while desktop remains unchanged.
 */
@media(max-width:760px){
 body.page-id-1022,body.dng-coin-drop-landing{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#65001f!important;
 }
 body.page-id-1022>.wp-site-blocks,body.dng-coin-drop-landing>.wp-site-blocks{
  min-height:100dvh!important;
  gap:0!important;
  background:#65001f!important;
 }
 body.page-id-1022>.wp-site-blocks>main,body.dng-coin-drop-landing>.wp-site-blocks>main{
  margin-block-start:0!important;
  margin-block-end:0!important;
 }
 .dng-public{
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  overflow:hidden!important;
  padding-top:max(10px,env(safe-area-inset-top))!important;
  padding-bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px))!important;
 }
 .dng-public .public-inner{
  height:auto!important;
  min-height:calc(100dvh - max(92px,calc(env(safe-area-inset-bottom) + 82px)))!important;
  justify-content:flex-start!important;
  gap:7px!important;
 }
 .dng-public .rules-button{
  bottom:max(12px,calc(env(safe-area-inset-bottom) + 10px))!important;
 }
}

/* Paint any theme/browser gap above the shortcode in the campaign colour.
 * This removes the thin green strip seen on some mobile WordPress themes.
 */
@supports selector(html:has(body)){
 html:has(body.page-id-1022),html:has(body.dng-coin-drop-landing){
  background:#65001f!important;
 }
}
