/* ===========================================================
   Modern renovation layer — non-destructive overrides
   Applied on top of legacy custom.css / bootstrap
   =========================================================== */
:root{
  --m-bg:#0b1220;
  --m-surface:#111a2e;
  --m-surface-2:#0f1729;
  --m-text:#e6ecf5;
  --m-muted:#9aa8bd;
  --m-border:rgba(255,255,255,.08);
  --m-primary:#3b82f6;
  --m-primary-2:#22d3ee;
  --m-accent:#f59e0b;
  --m-success:#10b981;
  --m-danger:#ef4444;
  --m-radius:14px;
  --m-radius-sm:10px;
  --m-shadow:0 10px 30px -12px rgba(0,0,0,.45);
  --m-shadow-lg:0 24px 60px -20px rgba(0,0,0,.55);
  --m-gradient:linear-gradient(135deg,#3b82f6 0%,#22d3ee 100%);
  --m-gradient-warm:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%);
  --m-font:'Inter','Roboto',system-ui,-apple-system,'Segoe UI',sans-serif;
  --m-font-head:'Space Grotesk','Oswald','Inter',sans-serif;
}

/* Base */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--m-font)!important;
  background:var(--m-bg)!important;
  color:var(--m-text)!important;
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4{
  font-family:var(--m-font-head)!important;
  color:var(--m-text)!important;
  font-weight:700!important;
  letter-spacing:-.02em;
  line-height:1.2;
}
h1,.h1{font-size:clamp(2rem,4vw + 1rem,3.75rem)!important;}
h2,.h2{font-size:clamp(1.6rem,2.5vw + 1rem,2.5rem)!important;}
h3,.h3{font-size:clamp(1.25rem,1.5vw + .8rem,1.75rem)!important;}
p{color:var(--m-muted);}
a{color:var(--m-primary-2);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--m-primary);text-decoration:none;}
img{max-width:100%;height:auto;}
::selection{background:var(--m-primary);color:#fff;}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--m-surface-2);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--m-primary),var(--m-primary-2));border-radius:10px;}

/* Header / Nav */
header .navbar,
.navbar.navbar-expand-lg{
  background:rgba(11,18,32,.85)!important;
  backdrop-filter:saturate(140%) blur(14px);
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--m-border);
  padding:.85rem 1.5rem!important;
  transition:background .3s ease,box-shadow .3s ease;
}
.navbar.scrolled{box-shadow:var(--m-shadow);}
.navbar-brand img{max-height:44px;width:auto;}
.navbar .nav-link,.navbar a{
  color:var(--m-text)!important;
  font-weight:500;
  position:relative;
  padding:.5rem .9rem!important;
  transition:color .2s ease;
}
.navbar .nav-link:hover,.navbar a:hover{color:var(--m-primary-2)!important;}
.navbar .nav-link::after{
  content:"";position:absolute;left:.9rem;right:.9rem;bottom:.3rem;height:2px;
  background:var(--m-gradient);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease;border-radius:2px;
}
/*.navbar .nav-link:hover::after{transform:scaleX(1);}*/
.navbar-toggler{border:1px solid var(--m-border)!important;padding:.4rem .6rem;}
.navbar-toggler-icon{filter:invert(1);}
.dropdown-menu{
  background:var(--m-surface)!important;
  border:1px solid var(--m-border)!important;
  border-radius:var(--m-radius-sm)!important;
  box-shadow:var(--m-shadow-lg);
  padding:.5rem;
}
.dropdown-menu .dropdown-item{
  color:var(--m-text)!important;border-radius:8px;padding:.55rem .8rem;
}
.dropdown-menu .dropdown-item:hover{
  background:rgba(59,130,246,.12)!important;color:var(--m-primary-2)!important;
}

/* Main containers / sections */
main,.website-content{background:transparent!important;}
/*section,.section{padding:clamp(2.5rem,5vw,5rem) 0;}*/
.container-fluid.menu-image{min-height:60vh;background-position:center;background-size:cover;position:relative;}
.container-fluid.menu-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgb(38 216 140) 0%, rgb(255 255 255 / 4%) 100%);
}
.container-fluid.menu-image>*{position:relative;z-index:1;}

/* Cards */
.card,.box,.panel{
  background:var(--m-surface)!important;
  border:1px solid var(--m-border)!important;
  border-radius:var(--m-radius)!important;
  box-shadow:var(--m-shadow);
  color:var(--m-text)!important;
  overflow:hidden;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.card:hover,.box:hover{
  transform:translateY(-4px);
  box-shadow:var(--m-shadow-lg);
  border-color:rgba(59,130,246,.35)!important;
}
.card-body{padding:1.5rem;}
.card-title{color:var(--m-text)!important;}

/* Buttons */
.btn{
  border-radius:999px!important;
  padding:.7rem 1.6rem!important;
  font-weight:600!important;
  letter-spacing:.01em;
  border:1px solid transparent!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease!important;
  text-transform:none!important;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary,.btn-success,.btn-info{
  background:var(--m-gradient)!important;
  color:#fff!important;
  border:none!important;
  box-shadow:0 8px 22px -8px rgba(59,130,246,.6);
}
.btn-primary:hover{box-shadow:0 14px 30px -8px rgba(59,130,246,.75)!important;}
.btn-warning,.btn-danger{
  background:var(--m-gradient-warm)!important;color:#fff!important;border:none!important;
  box-shadow:0 8px 22px -8px rgba(245,158,11,.55);
}
.btn-outline-primary,.btn-outline-light,.btn-outline-secondary{
  background:transparent!important;
  color:var(--m-text)!important;
  border:1px solid var(--m-border)!important;
}
.btn-outline-primary:hover{
  background:rgba(59,130,246,.12)!important;border-color:var(--m-primary)!important;color:#fff!important;
}

/* Forms */
.form-control,.form-select,input[type="text"],input[type="email"],input[type="password"],
input[type="tel"],input[type="number"],select,textarea{
  background:var(--m-surface-2)!important;
  color:var(--m-text)!important;
  border:1px solid var(--m-border)!important;
  border-radius:var(--m-radius-sm)!important;
  padding:.75rem 1rem!important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.form-control:focus,input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:var(--m-primary)!important;
  box-shadow:0 0 0 4px rgba(59,130,246,.18)!important;
  background:var(--m-surface)!important;
}
label{color:var(--m-muted);font-weight:500;margin-bottom:.4rem;}
::placeholder{color:rgba(154,168,189,.65)!important;}

/* Tables */
.table{color:var(--m-text)!important;border-color:var(--m-border)!important;}
.table thead th{
  background:var(--m-surface)!important;color:var(--m-text)!important;
  border-bottom:1px solid var(--m-border)!important;font-weight:600;
  text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;
}
.table td,.table th{border-color:var(--m-border)!important;padding:.9rem 1rem!important;}
.table-striped tbody tr:nth-of-type(odd){background:rgba(255,255,255,.02)!important;}
.table-hover tbody tr:hover{background:rgba(59,130,246,.08)!important;}

/* Footer */
footer,.footer{
  background:linear-gradient(180deg,var(--m-surface-2) 0%,#070c17 100%)!important;
  color:var(--m-muted)!important;
  border-top:1px solid var(--m-border);
  padding:3rem 1rem 1.5rem!important;
  
}
footer a,.footer a{color:var(--m-muted)!important;transition:color .2s ease;}
footer a:hover,.footer a:hover{color:var(--m-primary-2)!important;}
footer h1,footer h2,footer h3,footer h4,footer h5{color:var(--m-text)!important;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1rem;}

/* FCA badge */
.fca-regulation{max-height:22px;margin-top:.4rem;opacity:.9;}

/* Utility */
.rounded{border-radius:var(--m-radius)!important;}
.shadow,.shadow-sm{box-shadow:var(--m-shadow)!important;}
.text-white,.text-light{color:var(--m-text)!important;}
.text-muted{color:var(--m-muted)!important;}
.bg-white,.bg-light{background:var(--m-surface)!important;color:var(--m-text)!important;}
.bg-dark,.bg-primary{background:var(--m-surface-2)!important;}

/* Owl carousel dots */
.owl-dots .owl-dot span{background:var(--m-border)!important;transition:background .2s;}
.owl-dots .owl-dot.active span{background:var(--m-gradient)!important;width:22px!important;border-radius:6px!important;}

/* Reveal-on-scroll animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform;}
.reveal.in{opacity:1;transform:none;}

/* Focus visible for accessibility */
:focus-visible{outline:2px solid var(--m-primary-2)!important;outline-offset:3px;border-radius:6px;}

/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  html{scroll-behavior:auto;}
}

/* Responsive tweaks */
@media (max-width:991.98px){
  .navbar-collapse{
    background:var(--m-surface);border:1px solid var(--m-border);
    border-radius:var(--m-radius);margin-top:.75rem;padding:.75rem;
  }
  .navbar .nav-link::after{display:none;}
}
@media (max-width:575.98px){
  .btn{width:100%;}
  .container,.container-fluid{padding-left:1rem;padding-right:1rem;}
}

/* Fix any hardcoded white backgrounds inside legacy content blocks */
[style*="background: white"],[style*="background:#fff"],[style*="background: #fff"],
[style*="background-color: white"],[style*="background-color:#fff"]{
  background:var(--m-surface)!important;color:var(--m-text)!important;
}
[style*="color: black"],[style*="color:#000"]{color:var(--m-text)!important;}

/* ===== Rebrand override: red -> emerald (v2) ===== */
:root{
  --m-brand:#10b981;
  --m-brand-2:#34d399;
  --m-brand-dark:#047857;
  --m-gradient:linear-gradient(135deg,#10b981 0%,#22d3ee 100%);
  --m-gradient-warm:linear-gradient(135deg,#10b981 0%,#f59e0b 100%);
  --m-primary:#10b981;
  --m-primary-2:#34d399;
}
/* Neutralize legacy red backgrounds/text from custom.css */
.btn-danger,.btn-primary,.bg-danger,.bg-red,
[class*="btn-red"],[class*="red-btn"]{
  background:var(--m-gradient)!important;
  color:#fff!important;border:none!important;
  box-shadow:0 8px 22px -8px rgba(16,185,129,.55)!important;
}
.text-danger,.text-red,.red,h1.red,h2.red,h3.red{color:var(--m-brand-2)!important;}
.border-danger,.border-red{border-color:var(--m-brand)!important;}
/* Inline red styles */
[style*="color: red"],[style*="color:#f00"],[style*="color:#ff0000"],
[style*="color: #e"],[style*="color:#e01"],[style*="color:#e21"],
[style*="color:#c00"],[style*="color:#b00"]{color:var(--m-brand-2)!important;}
[style*="background: red"],[style*="background:#f00"],[style*="background:#ff0000"],
[style*="background-color: red"],[style*="background-color:#f00"],
[style*="background-color:#e"],[style*="background:#e0"],[style*="background:#c0"]{
  background:var(--m-brand)!important;color:#fff!important;
}
[style*="border-color: red"],[style*="border-color:#f00"]{border-color:var(--m-brand)!important;}
/* Common utility classes that ship red in legacy custom.css */
.deposit,.deposit-btn,.floating-deposit,.side-deposit,
a.deposit,button.deposit{
  background:var(--m-gradient)!important;color:#fff!important;
  border:none!important;border-radius:0 999px 999px 0!important;
  box-shadow:var(--m-shadow-lg)!important;
}
/* Section title underlines / accents */
hr,.divider,.section-title::after{background:var(--m-gradient)!important;border-color:var(--m-brand)!important;}

/* ===== Direct legacy selector overrides (register/login/deposit) ===== */
#registerLink,.qst-login-header-user-details-btn a,.create-account-link a{
  background:var(--m-gradient)!important;
  color:#fff!important;border:none!important;
  border-radius:999px!important;padding:.55rem 1.4rem!important;
  box-shadow:0 8px 22px -10px rgba(16,185,129,.55);
  transition:transform .2s ease,box-shadow .2s ease!important;
}
#registerLink:hover,.qst-login-header-user-details-btn a:hover,.create-account-link a:hover{
  background:var(--m-brand-dark)!important;color:#fff!important;
}
#loginLink,.qst-login-header-logoff-btn a{
  background:transparent!important;color:var(--m-text)!important;
  border:1px solid var(--m-brand)!important;border-radius:999px!important;
  padding:.55rem 1.4rem!important;transition:all .2s ease!important;
}
#loginLink:hover{background:rgba(16,185,129,.12)!important;color:#fff!important;}
#nav-toggle{
  background:var(--m-gradient)!important;color:#fff!important;border:none!important;
  border-radius:0 999px 999px 0!important;
  padding:.6rem 1.8rem .6rem 2rem!important;
  box-shadow:var(--m-shadow-lg)!important;
  font-weight:600!important;letter-spacing:.02em!important;
}
#nav-toggle a{color:#fff!important;}
/* Text using legacy red hex */
[style*="#FF0000" i],[style*="#F00" i]{color:var(--m-brand-2)!important;}
