/* =========================
   THEME TOKENS (root vars)
   ========================= */
:root{
  --color-primary: #59EF83;               /* merk-groen */
  --color-primary-contrast: #053F48;      /* donker teal (tekst op groen, accenten) */
  --color-secondary: #1D1A55;      
  
  --color-bg-login: #87212e;/* paars/blauw (focus, headings) */

  --color-text: #000000;
  --color-text-muted-1: #666666;
  --color-text-muted-2: #777777;
  --color-text-muted-3: #888888;
  --color-text-muted-4: #AAAAAA;
  --color-text-muted-5: #555555;
  --color-text-inverse: #ffffff;

  --color-bg-page: #f5f5f5;
  --color-bg-soft: #fafafa;
  --color-bg-tile: #ffffff;
  --color-bg-light-1: #eeeeee;
  --color-bg-light-2: #dddddd;
  --color-bg-light-3: #e5e5e5;

  --overlay-50: rgba(0,0,0,0.5);
  --overlay-40: rgba(0,0,0,0.4);
  --shadow-weak: rgba(0,0,0,0.05);

  --focus-border: var(--color-secondary);
  --focus-ring: rgba(29,26,85,0.25);

  --danger: red; /* voor form-warning */
}

/* ============ ORIGINAL CSS (met var() kleuren) ============ */

body{
  background-color: var(--color-bg-page);
}
body.frozen{
  overflow:hidden
}
.btn-default{
  background-color: var(--color-primary-contrast);
  display:inline-block;
  border-radius:30px;
  padding:1rem 2rem;
  color: var(--color-text-inverse);
  font-size:1rem;
  line-height:1;
  text-decoration:none;
  border:none;
}
.btn-default:hover{
  color: var(--color-text-inverse);
  opacity: 0.9;
}
p{
  font-size:1rem;
  line-height:1.6;
}
.container-fluid{
  max-width:1300px;
}
.container-wide{
  max-width:1600px;
}
@media (min-width: 1800px) {
  .col-xxxl-5 {
    flex: 0 0 auto;
    width: 20%;
  }
}
.darken{
  display:none;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index: 98;
  background-color: var(--overlay-50);
}
.btn-to-top {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  background-color: var(--overlay-50);
  color: var(--color-text-inverse) !important;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  text-decoration: none;
  z-index: 97;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.btn-to-top.show {
  opacity: 1;
  visibility: visible;
}
.btn-to-top:hover {
  background-color: var(--overlay-40);
}
h3{
  font-weight:bold;
  font-size:1.5rem;
  color: var(--color-text);
}
h4{
  font-weight:bold;
  font-size:1.2rem;
  color: var(--color-text);
  margin:0 0 1rem 0;
}

/* FORM */
label {
  color: var(--color-text-muted-2);
}
.form-row {
  margin: 0 0 0.5rem 0;
  position: relative;
}
.form-row .helper{
  font-size:0.8rem;
  color: var(--color-text-muted-3);
  padding:5px 0;
  line-height:1.2;
}
.form-group {
  margin: 0 0 1rem 0;
}
.form-control{
  padding:1rem;
  border-radius: 10px;
}
.form-control:focus,
.form-check-input:focus,
.form-select:focus {
  border-color: var(--focus-border);
  box-shadow: 0 0 0 .25rem var(--focus-ring);
}
.form-check-input:checked {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.form-check-input:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3E%3C/svg%3E");
}
.form-floating>label {
  color: var(--color-text-muted-5);
}
.form-label {
  margin-bottom: .2rem;
  font-weight: bold;
}
textarea::placeholder {
  color: var(--color-text-muted-4) !important;
  opacity: 1;
  font-size: 1rem;
}
textarea:-ms-input-placeholder { color: var(--color-text-muted-4) !important; }
textarea::-ms-input-placeholder { color: var(--color-text-muted-4) !important; }
input:focus-visible {
  outline-offset: 0px;
  outline-color: var(--color-secondary);
  outline-width: 2px;
  outline-style: solid;
}
.form-check-label a {
  color: var(--color-text-muted-2);
  line-height: 1.2;
}
.form-form .form-row{
  margin:0;
}
.form-newsletter{
  background-color: var(--color-bg-soft);
  padding:1rem;
}
form .form-warning{
  color: var(--danger);
  font-size:12px;
  line-height: 1;
  padding:5px 0;
  display:none;
}

/* LOGIN */
.login-container{
  background-color: var(--color-bg-login);
  min-height:100vh;
  display:table;
  width:100%;
  padding:0 1rem;
}
.login-container .login-content{
  display:table-cell;
  vertical-align: middle;
}
.login-container .login{
  max-width:110px;
  margin:0 0 2rem 0;
}
.login-container .form-control{
  border:none;
}
.login-container .link-simple{
  color: var(--color-text);
  font-size:0.8rem;
}

/* BAR USER INFO */
.bar-user-info{
  padding:1rem;
  background-color: var(--color-secondary);
}
.bar-user-info .user-info .item{
  display:inline-block;
  padding:0 0 0 1.5rem;
}
.bar-user-info .user-info .item i{
  margin:0 5px 0 0;
  color: var(--color-text-inverse);
}
.bar-user-info .user-info .item a{
  color: var(--color-text-inverse);
  text-decoration:none;
}
.bar-user-info .coin-icon{
  width:38px;
}

/* NAVBAR */
.nav-bar{
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  padding:1rem;
}
.nav-bar .logo-container .logo span{
  font-family:'Cervo Neue Black Neue', sans-serif;
  text-transform: uppercase;
  padding-right:15px;
  font-size:1.5rem;
}
.nav-bar .logo{
  display:inline-block;
  text-decoration: none;
  color: var(--color-primary-contrast);
}
.nav-bar .logo img{
  max-width:50px;
}
.nav-bar .nav-container .btn-open-nav{
  color: var(--color-text);
  font-size:2rem;
}
.nav-bar .items,
.nav-bar .langs-choice{
  display:none;
}
@media(min-width:1200px){
  .nav-bar .items{
    display:inline-block;
  }
  .nav-bar .items a{
    display:inline-block;
    color: var(--color-text);
    text-decoration:none;
    font-size:1.2rem;
    padding:0 0 0 2rem;
  }
  .nav-bar .langs-choice{
    display:inline-block;
    margin:0 0 0 2rem !important;
  }
}
@media(min-width:1200px){
  .nav-bar .logo-container span{
    font-size:2rem;
    line-height: 1;
    position:relative;
    top:10px;
  }
}

/* NAV MOBILE */
.nav-mobile{
  background-color: var(--color-primary);
  position:fixed;
  top:0;
  bottom:0;
  right:-300px;
  width:300px;
  padding:6rem 2rem;
  z-index: 99;
  -webkit-transition: all .1s ease-in-out;
  -moz-transition: all .1s ease-in-out;
  transition: all .1s ease-in-out;
}
.nav-mobile.open{ right:0; }
.nav-mobile .items{ text-align:center; }
.nav-mobile .items a{
  display:block;
  color: var(--color-text);
  text-decoration:none;
  font-size:1.5rem;
  padding:1rem 0;
}
.btn-close-nav-mobile{
  display:block;
  position:absolute;
  top:0;
  right:0;
  font-size:2rem;
  color: var(--color-text);
  padding:1.5rem;
  line-height:1;
}

/* PAGE */
.page-container{
  min-height:300px;
  padding:2rem 1rem 4rem 1rem;
}
@media(min-width:1200px){
  .page-container{
    padding:3rem 1rem 5rem 1rem;
  }
}
.filter{
  padding:1rem 0;
  float:left;
}
.filter a{
  float:left;
  display:inline-block;
  margin:0 0 5px 5px;
  background-color: var(--color-bg-light-2);
  color: var(--color-text);
  text-decoration:none;
  font-size:1rem;
  padding:0.5rem 1rem;
  border-radius: 30px;
}
.filter a:hover{
  background-color: var(--color-bg-light-3);
}
.filter a.active{
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  font-weight:bold;
}
@media(min-width:768px){
  .filter{ float:right; }
}

.reward{
  background-color: var(--color-bg-tile);
  padding:1rem;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 15px 0px var(--shadow-weak);
  box-shadow: 0px 0px 15px 0px var(--shadow-weak);
}
.reward .pic{
  display:block;
  height:210px;
  background-color: var(--color-bg-light-1);
  position:relative;
  border-radius: 10px;
}
.reward .pic .label{
  display:block;
  background-color: var(--color-primary);
  color: var(--color-primary-contrast);
  padding:0.5rem 1rem;
  position: absolute;
  top:10px;
  right:10px;
  border-radius:20px;
  font-size:0.8rem;
  font-weight:bold;
}
.reward .title{
  font-size:1.5rem;
  line-height:1.2;
  font-weight:bold;
  text-decoration: none;
  color: var(--color-text);
  display:block;
  margin:1rem 0 0.5rem 0;
  font-family:'BreveSansText-Book', sans-serif;
}
.reward .short-description{
  font-size:1rem;
  margin:0 0 1rem 0;
}
.reward .price{
  margin:0 0 1rem 0;
  font-size:1rem;
  line-height:1.2;
}
.reward .price span{
  background-color: var(--color-secondary);
  color: var(--color-text-inverse);
  font-weight:bold;
  font-size:1.5rem;
  width:60px;
  height:60px;
  display:inline-block;
  line-height:60px;
  text-align:center;
  border-radius:50%;
}
.reward .price .coin-icon{ width:40px; }
.reward .price .waiting-list{
  background-color: var(--color-secondary);
  color: var(--color-text-inverse);
  text-align:center;
  padding:1rem;
  border-radius:10px;
  line-height:1.2;
}
.coin-container{
  display:inline-block;
  text-align:center;
}
@media(min-width:768px){
  .reward{
    position: relative;
    height:680px;
  }
  .reward .price{
    position: absolute;
    bottom:0;
    left:0;
    right:0;
    padding:1rem;
  }
}
@media(min-width:992px){
  .reward{
    height:600px;
  }
}
@media(min-width:1200px){
  .reward{
    height:700px;
  }
  .reward .pic{ height:280px; }
}
@media(min-width:1400px){
  .reward{
    height:780px;
  }
}
@media(min-width:1500px){
  .reward{
    height:700px;
  }
}

/* REWARD DETAIL */
.carousel .slide-container{ padding:5px; }
.carousel .slide{
  height:210px;
  background-color: var(--color-bg-light-1);
  border-radius:10px;
}
.slick-dots li{ margin:0; }
.slick-dots li button:before{ font-size:12px; }
h2{
  font-size:1.5rem;
  font-weight:bold;
  margin:0 0 0.5rem 0;
  color: var(--color-primary-contrast);
  font-family:'BreveSansText-Book', sans-serif;
}
.dates{ padding:0 0 1.5rem 0; }
.dates span{
  display:block;
  font-weight:bold;
}
.credits{ padding:0 0 1.5rem 0; }
.credits span{
  display:block;
  font-size:2rem;
  color: var(--color-text);
  font-weight:bold;
}
h1{
  font-family:'Cervo Neue Black Neue', sans-serif;
  font-weight:bold;
  font-size:2.5rem;
  line-height:1.2;
  margin:0 0 1rem 0;
  color: var(--color-secondary);
  text-transform: uppercase;
}
p, li{
  color: var(--color-text-muted-1);
  font-size:1rem;
  line-height:1.4;
}
li{
  list-style: disc;
  margin:0 0 5px 0;
}
li ul li{ list-style:circle; }
.page-container .btn-row a{
  display:block;
  font-size:1rem;
  color: var(--color-text);
  font-weight:bold;
  text-decoration:none;
}
.page-container .btn-row a:hover{
  color: var(--color-secondary);
  opacity: 0.9;
}
.info-bits{
  margin:0 0 0.5rem 0;
  display:flex;
  align-items: center;
  font-size:1rem;
  line-height:1.3;
  color: var(--color-text-muted-1);
}
.info-bits p{ margin:0; }
.info-bits.xl{ font-weight:bold; }
.info-bits i,
.info-bits span{ display:inline-block; }
.info-bits i{ width:30px; }
.info-bits span{ width:calc(100% - 30px) }
@media(min-width:768px){
  h1{ font-size:3rem; }
  .info-bits{ margin:0 0 1rem 0; }
  .info-bits.xl{ font-size:1.2rem; }
  .carousel .slide{ height:310px; }
}
@media(min-width:1200px){
  .carousel .slide{ height:340px; }
}

/* FOOTER */
footer{
  padding:1rem 2rem;
  background-color: var(--color-primary-contrast);
  color: var(--color-primary);
  font-size:0.9rem;
}
footer a{
  color: var(--color-primary) !important;
  display:inline-block;
  text-decoration:none;
}
footer a:hover{ opacity: 0.9; }

/* ACCOUNT */
.nav-account{
  position:fixed;
  top:0;
  left:-300px;
  bottom:0;
  width:300px;
  z-index: 99;
  background-color: var(--color-bg-tile);
  -webkit-transition: all .1s ease-in-out;
  -moz-transition: all .1s ease-in-out;
  transition: all .1s ease-in-out;
}
.nav-account.open{ left:0; }
.nav-account .items{ padding:2rem 1rem; }
.nav-account .items a{
  display:block;
  color: var(--color-text);
  display:flex;
  padding:1.5rem;
  text-decoration:none;
  font-size:1.1rem;
  line-height:1;
  border-radius:5px;
}
.nav-account .items a:hover{
  background-color: var(--color-bg-page);
}
.nav-account .items a.current{
  background-color: var(--color-secondary);
  color:var(--color-text-inverse);
}
.nav-account .items a .icon{ display:inline-flex; width:17%; }
.nav-account .items a .title{ display:inline-flex; width:83%; }
.btn-toggle-nav-account{
  position:absolute;
  top:150px;
  right:-50px;
  height:50px;
  width:50px;
  line-height:50px;
  text-align:center;
  background-color: var(--color-primary-contrast);
  color: var(--color-text-inverse) !important;
  border-radius:0 30px 30px 0;
  font-size:1.2rem;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}
.btn-toggle-nav-account.open{ top:45px; }
.btn-toggle-nav-account.open i{
  transform: rotate(-180deg);
  -webkit-transition: all .6s ease-in-out;
  -moz-transition: all .6s ease-in-out;
  transition: all .6s ease-in-out;
}
@media(min-width:768px){
  .nav-account{
    position:sticky;
    left:auto; top:1rem; right:auto; bottom:auto;
    border-radius:10px;
    width: 100%;
    -webkit-box-shadow: 0px 0px 15px 0px var(--shadow-weak);
    box-shadow: 0px 0px 15px 0px var(--shadow-weak);
  }
  .nav-account .items{ padding:1rem; }
  .nav-account .items a{ padding:1.5rem 0.5rem; font-size:1rem; }
}
@media(min-width:992px){
  .nav-account .items a{ padding:1.5rem 1rem; }
}

.account-widget{
  background-color: var(--color-bg-tile);
  padding:1rem;
  border-radius: 10px;
  -webkit-box-shadow: 0px 0px 15px 0px var(--shadow-weak);
  box-shadow: 0px 0px 15px 0px var(--shadow-weak);
}
.balance span{
  display:inline-block;
  font-size:2.5rem;
  line-height:1;
}
.balance .coin-icon{ width:90px; }
.balance .number{
  font-weight:bold;
  padding:0 1rem;
}
.order-widget .pic{
  background-color: var(--color-bg-light-1);
  height:75px;
  border-radius: 5px;
}
.order-widget .title{
  font-weight:bold;
  font-size:1rem;
  line-height:1.2;
  margin:0 0 0.5rem 0;
}
.order-widget .spent{ font-size:0.9rem; }
.order-widget .spent b{ font-size:1.5rem; }
.order-widget .date{
  margin:0.5rem 0 0 0;
  font-size:0.9rem;
}
@media(min-width:992px){
  .order-widget .title{
    font-weight:bold;
    font-size:1.2rem;
    margin:0;
  }
  .account-widget{ padding:2rem; }
}

.slot{
  background-color: var(--color-bg-tile);
  padding:1rem;
  border-radius:10px;
  margin:0 0 0.5rem 0;
  -webkit-box-shadow: 0px 0px 15px 0px var(--shadow-weak);
  box-shadow: 0px 0px 15px 0px var(--shadow-weak);
}
.slot span{ display:block; }
.slot .small-title{
  font-size:12px;
  color: var(--color-text-muted-4);
}
.slot .content{
  font-weight:bold;
  font-size:0.9rem;
}
.slot .info{
  font-size:0.8rem;
  line-height:1.2;
}
.slot .btn-default{
  padding:0.7rem 1rem;
  font-size:0.9rem;
}

@media(min-width:1200px){
  .sticky-div { position: sticky; top: 1rem; }
}

.btn-sold-out{
  background-color: var(--color-bg-light-1) !important;
  color: var(--color-bg-light-2) !important;
  cursor:default !important;
}

.no-results{
  font-style:italic;
  color: var(--color-text-muted-3);
}

.langs-choice{ margin:0 0 2rem 0; }
.langs-choice a{
  display:inline-block;
  text-decoration:none;
  margin:0 1px;
  background-color: rgba(0,0,0,0.1);
  color: var(--color-text);
  width:40px;
  height:40px;
  line-height:40px;
  text-align:center;
  border-radius:50%;
  font-size:1rem;
}
.langs-choice a:hover{
  background-color: rgba(0,0,0,0.2);
}
.langs-choice a.current{
  font-weight:bold;
  color: var(--color-text-inverse);
  background-color: var(--color-primary-contrast);
}

.row-payment{
  padding:15px 0;
  border-bottom:solid 1px #eee;
}
.row-payment:last-child{
  border:none;
}
.p-status{
  display:inline-block;
  padding:5px 10px;
  font-size:12px;
  border-radius:5px;
}
.p-title{
  display:block;
  font-size:12px;
  line-height: 1;
  color:#aaa;
  margin:0 0 5px 0;
}
.p-value{
  display:block;
  font-size:14px;
  line-height:1.4;
  color:#555;
  width: 100%;             /* neemt alle breedte van de parent */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.red{
  background-color:pink;
  color:darkred;
}
.green{
  background-color:lightgreen;
  color:darkgreen;
}
.p-date{
  display:inline-block;
}
.p-reference{
  display:flex;
  flex-direction: column;
}

.intro-chiquita{
  padding:0 0 2rem 0;
}
.intro-chiquita p{
  line-height:1.6;
}
.intro-chiquita img{
  max-width:100%;
}
@media(min-width:768px){
  .intro-chiquita{
    padding:2rem 0;
  }
}

.row-ranking{
  font-size:14px;
  color:#666;
  padding:0 0 0.5rem 0;
}
.row-ranking .position{
  display:inline-block;
  text-align:center;
  width:30px;
  height:30px;
  line-height:30px;
}
.row-ranking.top10 .position{
  background-color:#f4b4cb;
  border-radius:50%;
}
.row-ranking.top10{
   font-weight:bold;
}

input.amount{
  display:inline-block;
  width:60px;
  padding:5px;
  border:solid 1px #ddd;
  border-radius:5px;
  margin:0 10px 0 0;
}

.carousel-incentive .slide{
  height:280px;
}
.carousel-incentive .slick-slide {
  margin: 0 15px;
  border-radius: 10px;
  overflow: hidden;
}
.carousel-incentive .slick-list {
  margin: 0 -15px;
}
@media(min-width:992px){
  .carousel-incentive .slide{
    height:320px;
  }
}