/* ================================================================
   DW2 DATA INTELLIGENCE — dw2-custom.css
   Local FTP: /wp-content/themes/oceanwp-child/dw2-custom.css
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

:root {
  --d-bg:      #07080f;
  --d-surface: #0c0e1c;
  --d-card:    #111427;
  --d-card2:   #161929;
  --d-border:  rgba(255,255,255,0.07);
  --d-border2: rgba(255,255,255,0.13);
  --d-cyan:    #1ab8e8;
  --d-cyan2:   #0e9bc7;
  --d-cyan3:   rgba(26,184,232,0.12);
  --d-gold:    #f5a623;
  --d-green:   #22d3a0;
  --d-red:     #ef4444;
  --d-text:    rgba(255,255,255,0.82);
  --d-muted:   rgba(255,255,255,0.38);
  --d-head:    #ffffff;
  --d-t:       all .24s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }

body, .elementor-widget-container {
  font-family: 'DM Sans', sans-serif !important;
}

/* SCROLLBAR */
body { scrollbar-width: thin; scrollbar-color: #1e2340 #07080f; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #07080f; }
::-webkit-scrollbar-thumb { background: #1e2340; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #1ab8e8; }

/* ── HEADER OCEANWP ──────────────────────────────────────────── */
#site-header {
  background: rgba(7,8,15,0.94) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  transition: var(--d-t) !important;
}
#site-header .inside-header { min-height: 68px !important; }

#site-navigation .nav-link {
  color: rgba(255,255,255,0.48) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  transition: color .2s !important;
}
#site-navigation .nav-link:hover,
#site-navigation .current-menu-item .nav-link {
  color: #1ab8e8 !important;
}

/* ── BOTÃO ACESSAR PORTAL ────────────────────────────────────── */
.dw2-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--d-cyan) !important;
  color: #fff !important;
  border: none;
  border-radius: 9px;
  padding: 9px 22px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--d-t);
  text-decoration: none !important;
  white-space: nowrap;
  line-height: 1;
}
.dw2-nav-btn:hover {
  background: var(--d-cyan2) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(26,184,232,0.34);
  color: #fff !important;
}

/* ── MODAL OVERLAY ───────────────────────────────────────────── */
#dw2Modal {
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(4,5,10,0.84);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;
}
#dw2Modal.open { opacity: 1; pointer-events: all; }

#dw2ModalBox {
  background: var(--d-card);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 22px;
  padding: 44px 40px;
  width: 100%; max-width: 410px;
  position: relative;
  transform: translateY(20px) scale(.97);
  transition: transform .34s cubic-bezier(.34,1.4,.64,1);
  box-shadow: 0 48px 96px rgba(0,0,0,0.7);
}
#dw2Modal.open #dw2ModalBox { transform: translateY(0) scale(1); }
#dw2ModalBox::before {
  content: '';
  position: absolute; top: 0; left: 15%; right: 15%;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--d-cyan) 50%,transparent);
  border-radius: 100px;
}

.dw2m-close {
  position: absolute; top: 14px; right: 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--d-border);
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--d-muted);
  transition: var(--d-t); padding: 0;
}
.dw2m-close:hover { background: rgba(255,255,255,0.1); color: #fff; transform: rotate(90deg); }

.dw2m-logo { display: flex; align-items: center; gap: 11px; justify-content: center; margin-bottom: 26px; }
.dw2m-mark {
  width: 44px; height: 44px;
  background: linear-gradient(135deg,var(--d-cyan),var(--d-gold));
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne',sans-serif; font-weight: 900; font-size: 15px; color: #fff;
  box-shadow: 0 4px 16px rgba(26,184,232,0.28);
}
.dw2m-name { font-family: 'Syne',sans-serif; font-weight: 800; font-size: 20px; color: var(--d-head); display: block; letter-spacing: -.4px; line-height: 1.1; }
.dw2m-sub  { font-size: 9px; color: var(--d-muted); letter-spacing: 2px; text-transform: uppercase; }

.dw2m-title { font-family: 'Syne',sans-serif; font-size: 21px; font-weight: 700; color: var(--d-head); text-align: center; margin: 0 0 6px; letter-spacing: -.4px; }
.dw2m-desc  { font-size: 13px; color: var(--d-muted); text-align: center; margin: 0 0 28px; line-height: 1.5; }

.dw2m-err {
  background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.28);
  border-radius: 8px; padding: 10px 14px;
  font-size: 13px; color: #fca5a5; margin-bottom: 16px; display: none;
}

.dw2m-field { margin-bottom: 16px; }
.dw2m-field label { display: block; font-size: 11px; font-weight: 500; color: var(--d-muted); letter-spacing: .8px; text-transform: uppercase; margin-bottom: 7px; }
.dw2m-field input[type="text"],
.dw2m-field input[type="email"],
.dw2m-field input[type="password"] {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--d-border);
  border-radius: 10px; padding: 12px 14px;
  font-family: 'DM Sans',sans-serif; font-size: 14px; color: var(--d-head);
  transition: var(--d-t); outline: none; -webkit-appearance: none;
}
.dw2m-field input:focus {
  border-color: var(--d-cyan);
  background: rgba(26,184,232,0.05);
  box-shadow: 0 0 0 3px rgba(26,184,232,0.14);
}
.dw2m-field input::placeholder { color: rgba(255,255,255,0.18); }
.dw2m-field-pw { position: relative; }
.dw2m-field-pw input { padding-right: 44px; }
.dw2m-eye {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; color: var(--d-muted); cursor: pointer;
  display: flex; align-items: center; padding: 4px; transition: color .2s;
}
.dw2m-eye:hover { color: var(--d-text); }

.dw2m-row { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; }
.dw2m-row input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--d-cyan); }
.dw2m-row label { font-size: 13px; color: var(--d-muted); cursor: pointer; user-select: none; }

.dw2m-submit {
  width: 100%;
  background: linear-gradient(135deg,var(--d-cyan),var(--d-cyan2));
  border: none; border-radius: 10px; padding: 13px;
  font-family: 'Syne',sans-serif; font-size: 15px; font-weight: 600; color: #fff;
  cursor: pointer; transition: var(--d-t);
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.dw2m-submit:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(26,184,232,0.38); }
.dw2m-submit:disabled { opacity: .65; cursor: not-allowed; }

.dw2m-forgot { display: block; text-align: center; margin-top: 18px; font-size: 13px; color: var(--d-muted); text-decoration: none; transition: color .2s; }
.dw2m-forgot:hover { color: var(--d-cyan); }

@keyframes dw2-spin  { to { transform: rotate(360deg); } }
@keyframes dw2-shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-8px)} 40%{transform:translateX(8px)} 60%{transform:translateX(-5px)} 80%{transform:translateX(5px)} }
.dw2-spinning { animation: dw2-spin .7s linear infinite; }
.dw2-shake    { animation: dw2-shake .38s ease; }

/* ── LOGINPRESS CUSTOM ───────────────────────────────────────── */
body.login { background: #07080f !important; }
body.login #login {
  background: #111427 !important;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px !important;
  box-shadow: 0 40px 80px rgba(0,0,0,0.6) !important;
  padding: 36px !important;
}
body.login #loginform label { color: rgba(255,255,255,0.4) !important; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
body.login #loginform input[type="text"],
body.login #loginform input[type="password"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 10px !important;
  color: #fff !important; padding: 12px 15px !important;
  box-shadow: none !important; font-size: 14px;
}
body.login #loginform input:focus { border-color: #1ab8e8 !important; box-shadow: 0 0 0 3px rgba(26,184,232,0.15) !important; outline: none !important; }
body.login #wp-submit {
  background: linear-gradient(135deg,#1ab8e8,#0e9bc7) !important;
  border: none !important; border-radius: 10px !important;
  box-shadow: none !important; font-weight: 600 !important;
  font-size: 15px !important; padding: 12px 0 !important; width: 100%;
  transition: all .25s !important;
}
body.login #wp-submit:hover { box-shadow: 0 12px 28px rgba(26,184,232,0.4) !important; transform: translateY(-2px); }
body.login #nav a, body.login #backtoblog a { color: rgba(255,255,255,0.4) !important; }
body.login #nav a:hover, body.login #backtoblog a:hover { color: #1ab8e8 !important; }
body.login .login-remember label { color: rgba(255,255,255,0.4) !important; }
body.login #login_error { background: rgba(239,68,68,0.1) !important; border-left: 4px solid #ef4444 !important; color: #fca5a5 !important; }

/* ── REVEAL SCROLL ───────────────────────────────────────────── */
.dw2-rv { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.dw2-rv.on { opacity: 1; transform: translateY(0); }
.dw2-d1 { transition-delay: .1s; } .dw2-d2 { transition-delay: .2s; } .dw2-d3 { transition-delay: .3s; }

/* ── RESPONSIVO ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  #dw2ModalBox { padding: 28px 20px; border-radius: 18px; }
  .dw2m-title { font-size: 19px; }
}
