/*
Theme Name: DominoClub Premium Child
Theme URI: https://dominoclub.com.br/
Description: Child theme of DominoClub Premium Neon. Holds site-specific CSS overrides.
Author: DominoClub
Template: dominoclub-premium
Version: 1.0.8
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dominoclub-premium-child
*/

/* DominoClub hero phone mockup fixes (child theme override) */

/* 1) Screen area takes the exact aspect ratio of the game screenshot (887x1698),
      and the phone height follows it, so the image fits with no crop, no distortion
      and no empty bands. The parent combined position:relative with inset:7px/5px,
      which shifted the screen 7px right/down and clipped its right/bottom edge. */
.dc-hero-phone { height: auto; }
.dc-phone-screen {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  aspect-ratio: 887 / 1698;
}
.dc-phone-screen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}

/* 2) Remove the artificial home-indicator bar; the screenshot already has one. */
.dc-hero-phone::after { content: none; display: none; }
/* Show the "Baixar app Android" buttons only on Android (class set early in <head> by the child theme). */
.dc-not-android .dc-platform-apk { display: none !important; }
/* Footer "Baixar APK Android" link: Android only, too. */
.dc-not-android .dc-footer-group a[href*="/baixar-apk/"] { display: none !important; }

/* Launch popup v3: colorful card + effects (overrides parent popup styles). */
@property --dc-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
#dc-launch-popup .dc-popup__confetti { display: none !important; }
#dc-launch-popup .dc-fx-canvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
#dc-launch-popup .dc-popup__dialog {
  z-index: 2;
  width: min(100%, 560px); padding: 34px 30px 26px; border-radius: 22px;
  border: 2px solid transparent !important;
  background:
    radial-gradient(1.4px 1.4px at 6% 4%, rgba(255,255,255,0.55) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 14% 9%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 23% 3%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 31% 7%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 44% 2%, rgba(255,255,255,0.55) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 52% 6%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 63% 3%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 71% 8%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 82% 4%, rgba(255,255,255,0.55) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 91% 7%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 96% 3%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 3% 18%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 97% 22%, rgba(255,255,255,0.55) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 2% 38%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 98% 47%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 4% 63%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 96% 71%, rgba(255,255,255,0.55) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 3% 86%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 97% 91%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 12% 96%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 88% 97%, rgba(255,255,255,0.55) 50%, transparent 100%) padding-box,
    radial-gradient(1.4px 1.4px at 58% 10%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 37% 12%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(1px 1px at 76% 13%, rgba(255,255,255,0.35) 50%, transparent 100%) padding-box,
    radial-gradient(120% 60% at 50% 0%, rgba(56,98,190,.22), transparent 70%) padding-box,
    linear-gradient(170deg, #050A1C 0%, #0A1533 45%, #13306A 100%) padding-box,
    conic-gradient(from var(--dc-angle), #8B5CF6, #EC4899, #F59E0B, #22C55E, #8B5CF6) border-box !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.6), 0 0 34px rgba(99,102,241,.33), 0 0 70px rgba(236,72,153,.16) !important;
  outline: none !important;
  animation: dcBorderSpin 6s linear infinite, dcCardBounce .75s cubic-bezier(.34,1.56,.64,1) both;
}
#dc-launch-popup .dc-popup__dialog::before, #dc-launch-popup .dc-popup__dialog::after { content: none !important; }
@keyframes dcBorderSpin { to { --dc-angle: 360deg; } }
@keyframes dcCardBounce { 0% { opacity: 0; transform: translateY(40px) scale(.86); } 60% { opacity: 1; transform: translateY(-6px) scale(1.02); } 100% { opacity: 1; transform: none; } }
#dc-launch-popup .dc-popup__close { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #eee; }
#dc-launch-popup .dc-popup__close:hover { background: rgba(255,255,255,.16); }
#dc-launch-popup .dc-popup__eyebrow {
  display: inline-flex; padding: 6px 13px; border: 0; border-radius: 999px; background: #F59E0B; color: #1c1100;
  font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .12em; box-shadow: 0 0 0 0 rgba(245,158,11,.55);
  animation: dcBadgePulse 2.2s ease-in-out infinite;
}
@keyframes dcBadgePulse { 0%,100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(245,158,11,.5); } 50% { transform: scale(1.05); box-shadow: 0 0 0 8px rgba(245,158,11,0); } }
#dc-launch-popup .dc-popup__title { color: #fff; -webkit-text-fill-color: #fff; background: none; margin: 14px 0 22px; max-width: none; }
#dc-launch-popup .dc-popup__title .dc-w { display: inline-block; animation: dcWordIn .5s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(.25s + var(--i) * .12s); }
#dc-launch-popup .dc-popup__title .dc-grad {
  background: linear-gradient(90deg, #EC4899, #F59E0B); -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 14px rgba(236,72,153,.55));
  padding-right: .04em;
}
@keyframes dcWordIn { from { opacity: 0; transform: translateY(18px) scale(.9); } to { opacity: 1; transform: none; } }
#dc-launch-popup .dc-popup__text { color: #C8D3EE; font-size: 15px; line-height: 1.5; margin: 0 0 22px; max-width: none; }
#dc-launch-popup .dc-popup__form { gap: 14px; }
#dc-launch-popup .dc-popup__form input[type="email"] { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); color: #fff; box-shadow: none; }
#dc-launch-popup .dc-popup__form input[type="email"]::placeholder { color: #8f9bbd; }
#dc-launch-popup .dc-popup__form input[type="email"]:focus-visible { outline: 2px solid #8B5CF6; outline-offset: 1px; border-color: #8B5CF6; }
#dc-launch-popup .dc-popup__consent span { color: #C8D3EE !important; font-weight: 500 !important; }
#dc-launch-popup .dc-popup__form .dc-btn-popup {
  position: relative; overflow: hidden; background: linear-gradient(135deg, #A3E635, #22C55E); color: #08230d;
  box-shadow: 0 8px 24px rgba(34,197,94,.35); transition: transform .2s ease, box-shadow .2s ease;
}
#dc-launch-popup .dc-popup__form .dc-btn-popup::after {
  content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.65), transparent); transform: skewX(-20deg);
  animation: dcShine 3s ease-in-out infinite;
}
#dc-launch-popup .dc-popup__form .dc-btn-popup:hover { transform: scale(1.04); box-shadow: 0 12px 30px rgba(34,197,94,.5); }
@keyframes dcShine { 0% { left: -60%; } 30%, 100% { left: 130%; } }
#dc-launch-popup .dc-popup__privacy { color: #93A0C0 !important; font-size: 11.5px; line-height: 1.5; margin: 0; }
#dc-launch-popup .dc-popup__success h3 { color: #fff; }
#dc-launch-popup .dc-popup__success p { color: #C8D3EE; }
@media (max-width: 600px) {
  #dc-launch-popup.dc-popup { align-items: center; }
  #dc-launch-popup .dc-popup__dialog { max-height: 70vh; max-height: 70dvh; padding: 22px 18px 20px; overflow-y: auto; }
  #dc-launch-popup .dc-popup__title { margin: 12px 0 16px; }
  #dc-launch-popup .dc-popup__text { margin: 0 0 18px; font-size: 14px; }
  #dc-launch-popup .dc-popup__form { gap: 16px; }
  #dc-launch-popup .dc-popup__community { margin-top: 18px; }
  #dc-launch-popup .dc-popup__privacy { font-size: 11px; }
}

/* Popup v3b: big floating dominoes (same .domino-piece markup/styles as the home hero), always behind the card. */
#dc-launch-popup .dc-pp-bones { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
#dc-launch-popup .dc-pp-bone { position: absolute; left: 0; top: 0; pointer-events: none; --unit: 62px;
  filter: drop-shadow(5px 14px 11px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(139,92,246,.25)); }
#dc-launch-popup .dc-pp-bone > .dc-pp-float { animation: dcBoneFloat 8s ease-in-out infinite; animation-delay: var(--d, 0s); }
#dc-launch-popup .dc-pp-bone .domino-piece { --unit: inherit; transform: rotate(var(--r, 0deg)); }
#dc-launch-popup .dc-pp-bone[hidden] { display: none; }
@keyframes dcBoneFloat { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-14px) rotate(4deg); } }
@media (max-width: 600px) { #dc-launch-popup .dc-pp-bone { --unit: 30px; } }
@media (max-width: 600px) and (max-height: 700px) { #dc-launch-popup .dc-pp-bone { --unit: 24px; } }
@media (prefers-reduced-motion: reduce) { #dc-launch-popup .dc-pp-bone > .dc-pp-float { animation: none !important; } }
@media (prefers-reduced-motion: reduce) {
  #dc-launch-popup .dc-popup__dialog, #dc-launch-popup .dc-popup__eyebrow, #dc-launch-popup .dc-popup__title .dc-w,
  #dc-launch-popup .dc-popup__form .dc-btn-popup::after { animation: none !important; }
  #dc-launch-popup .dc-popup__form .dc-btn-popup::after { display: none; }
  #dc-launch-popup .dc-popup__form .dc-btn-popup:hover { transform: none; }
  #dc-launch-popup .dc-fx-canvas { display: none !important; }
}

/* Popup v3c: whole card fits on phones (no inner scroll); no floating dominoes below 768px. */
@media (max-width: 767px) { #dc-launch-popup .dc-pp-bones { display: none !important; } }
@media (max-width: 600px) {
  #dc-launch-popup.dc-popup { padding: 10px; }
  #dc-launch-popup .dc-popup__dialog { max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); padding: 18px 16px 14px; }
  #dc-launch-popup .dc-popup__close { top: 10px; right: 10px; width: 34px; height: 34px; font-size: 21px; }
  #dc-launch-popup .dc-popup__eyebrow { padding: 4px 10px; font-size: 11px; }
  #dc-launch-popup .dc-popup__title { font-size: 30px; line-height: 1.02; margin: 10px 0 10px; }
  #dc-launch-popup .dc-popup__text { font-size: 13.5px; line-height: 1.4; margin: 0 0 12px; }
  #dc-launch-popup .dc-popup__form { gap: 10px; }
  #dc-launch-popup .dc-popup__form input[type="email"] { height: 44px; min-height: 44px; }
  #dc-launch-popup .dc-popup__consent span { font-size: 12px !important; line-height: 1.35; }
  #dc-launch-popup .dc-popup__form .dc-btn-popup { min-height: 46px; }
  #dc-launch-popup .dc-popup__privacy { font-size: 10px; line-height: 1.35; }
  #dc-launch-popup .dc-popup__community { margin-top: 10px; }
  #dc-launch-popup .dc-popup__community-separator { margin-bottom: 8px; }
}
@media (max-width: 600px) and (max-height: 700px) {
  #dc-launch-popup .dc-popup__dialog { padding: 14px 14px 12px; }
  #dc-launch-popup .dc-popup__title { font-size: 26px; margin: 8px 0 8px; }
  #dc-launch-popup .dc-popup__text { font-size: 13px; margin-bottom: 10px; }
  #dc-launch-popup .dc-popup__form { gap: 8px; }
  #dc-launch-popup .dc-popup__form input[type="email"] { height: 40px; min-height: 40px; }
  #dc-launch-popup .dc-popup__form .dc-btn-popup { min-height: 42px; }
  #dc-launch-popup .dc-popup__community { margin-top: 8px; }
  #dc-launch-popup .dc-popup__community-separator { margin-bottom: 6px; }
}

/* Popup v4: uppercase title (slightly larger) + bonus line under it. Must still fit on phones. */
#dc-launch-popup .dc-popup__title { text-transform: uppercase; font-size: 60px; line-height: .98; margin: 14px 0 10px; }
#dc-launch-popup .dc-popup__title .dc-grad { padding-top: .14em; margin-top: -.14em; }
#dc-launch-popup .dc-popup__sub { margin: 0 0 14px; color: #F1F3F5; font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 700; line-height: 1.4; max-width: none; position: relative; z-index: 2; }
@media (max-width: 600px) {
  #dc-launch-popup .dc-popup__title { font-size: 33px; line-height: 1; margin: 10px 0 6px; }
  #dc-launch-popup .dc-popup__sub { font-size: 13.5px; line-height: 1.35; margin: 0 0 8px; }
}
@media (max-width: 600px) and (max-height: 700px) {
  #dc-launch-popup .dc-popup__title { font-size: 30px; margin: 8px 0 5px; }
  #dc-launch-popup .dc-popup__sub { font-size: 13px; margin: 0 0 6px; }
}

/* Popup v5: floating title (only browsers with the modern `translate` property, i.e. not old iOS/Android),
   pulsing green glow on the main button, countdown under the card (placed by popup-fx.js only when it fits). */
@keyframes dcTitleFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@supports (translate: 0) {
  #dc-launch-popup .dc-popup__title { animation: dcTitleFloat 5s ease-in-out 1.6s infinite; }
}
@keyframes dcBtnGlow {
  0%, 100% { box-shadow: 0 8px 24px rgba(34,197,94,.35), 0 0 0 0 rgba(163,230,53,0); }
  50% { box-shadow: 0 8px 24px rgba(34,197,94,.35), 0 0 18px 3px rgba(163,230,53,.55); }
}
#dc-launch-popup .dc-popup__form .dc-btn-popup { animation: dcBtnGlow 2.4s ease-in-out infinite; }
#dc-launch-popup .dc-pp-cd {
  position: absolute; left: 0; right: 0; z-index: 3; width: max-content; margin: 0 auto; display: none;
  flex-direction: column; align-items: center; gap: 6px; padding: 8px 14px 9px; border-radius: 16px;
  background: linear-gradient(170deg, #181b20, #1F2328); border: 1px solid rgba(245,196,81,.35);
  box-shadow: 0 12px 30px rgba(0,0,0,.45), 0 0 18px rgba(34,197,94,.12); pointer-events: none; white-space: nowrap;
}
#dc-launch-popup .dc-pp-cd.is-on { display: flex; animation: dcCdIn .5s ease .6s both; }
@keyframes dcCdIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#dc-launch-popup .dc-pp-cd__label { font: 700 11px/1 'DM Sans', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #22C55E; }
#dc-launch-popup .dc-pp-cd__units { display: flex; gap: 6px; }
#dc-launch-popup .dc-pp-cd__u { min-width: 50px; padding: 5px 6px 4px; border-radius: 10px; background: #111418; border: 1px solid rgba(255,255,255,.08); text-align: center; }
#dc-launch-popup .dc-pp-cd__u b { display: block; font: 800 22px/1 'Outfit', sans-serif; color: #F5C451; font-variant-numeric: tabular-nums; }
#dc-launch-popup .dc-pp-cd__u small { display: block; margin-top: 3px; font: 600 9.5px/1 'DM Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #A9AEB4; }
#dc-launch-popup .dc-pp-cd__done { padding: 2px 10px 4px; font: 800 22px/1 'Outfit', sans-serif; color: #F5C451; }
@media (prefers-reduced-motion: reduce) {
  #dc-launch-popup .dc-popup__title, #dc-launch-popup .dc-popup__form .dc-btn-popup, #dc-launch-popup .dc-pp-cd.is-on { animation: none !important; }
}
/* Desktop: slightly tighter vertical rhythm (room for the countdown) and a horizontal countdown. */
@media (min-width: 601px) {
  #dc-launch-popup .dc-popup__dialog { padding-top: 28px; padding-bottom: 22px; }
  #dc-launch-popup .dc-popup__title { margin: 10px 0 8px; }
  #dc-launch-popup .dc-popup__text { margin-bottom: 16px; }
  #dc-launch-popup .dc-popup__form { gap: 12px; }
  #dc-launch-popup .dc-pp-cd { flex-direction: row; gap: 12px; padding: 8px 12px; }
  #dc-launch-popup .dc-pp-cd__label { max-width: 92px; white-space: normal; line-height: 1.3; text-align: left; }
}
/* Short desktop/laptop screens (e.g. 1366x768): smaller title and spacing so the card fits without inner scroll. */
@media (min-width: 601px) and (max-height: 820px) {
  #dc-launch-popup .dc-popup__dialog { padding: 20px 26px 16px; }
  #dc-launch-popup .dc-popup__title { font-size: 44px; margin: 8px 0 6px; }
  #dc-launch-popup .dc-popup__sub { margin-bottom: 8px; }
  #dc-launch-popup .dc-popup__text { margin-bottom: 12px; }
  #dc-launch-popup .dc-popup__form { gap: 10px; }
  #dc-launch-popup .dc-popup__community { margin-top: 10px; }
}
/* Mobile: keep the first title line clear of the close button (invisible float on the right of line 1). */
@media (max-width: 600px) {
  #dc-launch-popup .dc-popup__title::before { content: ""; float: right; width: 40px; height: .9em; }
}
