@import url("https://fonts.googleapis.com/css?family=Red+Hat+Display:400,500,900&display=swap");
body, html {
  font-family: Red hat Display, sans-serif;
  font-weight: 400;
  line-height: 1.25em;
  letter-spacing: 0.025em;
  color: #333;
  background: #F7F7F7;
  height:100vh;
}

.welcomeMsg {line-height:1.2em;font-size:1em;}

button {
  font-family: Red hat Display, sans-serif;
  font-size: 13px;
  padding: 10px;
  width:40%;
  min-width: 200px;
  margin-top: 10px;
  background-color: #ffb606;
  border-radius: 0.5rem;
  border: solid 1px #ffb606;
  color: #fff;
  font-weight: 600;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 30px;
  margin-bottom: 30px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

button:hover{
  background-color:#000;
  border-color:#000;
}

a{
  text-decoration: underline;
  color:grey;
}

a:hover{
  color:#ffbb33;
}

.full-height {
  display:none;
  position: absolute;
  width:100%;
  height: 100vh;
  background: rgba(0,0,0,1);
  background-image:url('https://idioma-amigos.com/wp-content/uploads/2024/12/logo-vertical-background-black_letter_v2_white.png');
  background-repeat: no-repeat;
  background-size: contain;    
  background-position: center;
  top:0px;
}

.full-height.visible {
  display: inline;
  z-index: 999999;
}
  .panel{
    margin-top:auto;
    margin-bottom:auto;
    margin-left:auto;
    margin-right:auto;
    position: relative;
    justify-content: center;
    width: 90%;
    z-index: 2;
    box-sizing: border-box;
    border-radius: 1rem;
    background: white;
    box-shadow: 0 0 8rem 0 rgba(0, 0, 0, 0.1), 0rem 2rem 4rem -3rem rgba(0, 0, 0, 0.5);
    padding-top:20px;
    padding-bottom:5%;
    margin-top: 5vh;
    margin-bottom: 5vh;
    max-height: 100%;
    height: calc(100% - 55px);
    text-align: center;
    display: block;
  }

  .panel h2 {
    font-size:24px;
  }

  .panel p{
    margin-bottom: 8px;
    margin:auto;
  }
  .panel .input{
    margin-top:10px;    
  }

  .panel .logo{
    width: 30%;
    margin-left: auto;
    margin-right: auto;
    height:auto;
  }

  .footer{
      height: 45px;
      position:fixed;
      bottom:18px;
      width:100%;
  }
  .header{
    text-align: center;
    padding-top:5px;
    max-height: 100px;    
    height:100px;
  }
  .header img {
    width: 7rem;
    height: 7rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    display: flex;
}


input[type="checkbox"] {
  appearance: none;
  background-color: var(--form-background);
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  transform: translateY(-0.075em);
  display: inline-grid;
  place-content: center;
  vertical-align: middle;
}


input[type="checkbox"]::before {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
  transform: scale(0);
  background-color: green;
}
input[type="checkbox"]:checked::before {
  transform: scale(1);
}
input[type="checkbox"]:hover {
  color: black;
}
img.membership_logo
{
   height: 100px;
    position: absolute;
    left: 0px;
    top: -40px;
}

.hide{
  display:none!important;
}

.playitems-grid {
      margin-top:10px;
      padding-top: 10px;
      display: flex;
      gap: 20px;               /* Espacement entre les badges */
    /*justify-content: center; /* Centre les badges horizontalement */
      align-items: center;     /* Centre verticalement (si utile) */
      flex-wrap: wrap;       /* Pour forcer une seule ligne, ou change en 'wrap' si overflow */
      overflow: scroll;
      /*height:300px;*/
       width: 100%;
       justify-content: center;
      padding-left: calc(50% - 600px);
      max-height: 100%;
      height: 100%;
  }

  .playitem,
  .playitem-no-hover{
    border: solid 1px #ffb606;
    border-radius: 15px;
    padding: 10px;
    width:300px;
    height:300px;
    /*min-height: 200px;
    max-height: 200px;
    min-width: 200px;
    max-width: 200px;*/
  }

  .playitem.recommended,
  .playitem-no-hover.recommended{
      border:2px solid #ffb606;
    }

    .playitem.recommended::before,
    .playitem-no-hover.recommended::before{
      content:"⭐ Recommandé pour commencer";
      position:relative;
      top:-22px;
      
      transform:translateX(-50%);
      background:#ffb606;
      color:#fff;
      font-size:0.75em;
      font-weight:700;
      padding:4px 10px;
      border-radius:999px;
      z-index:2;
    }

  .playitem_img {
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      height: 110px;
      width: 100%;
      margin-bottom:10px;
  }

  .playitem_actions{
    display:flex;
    gap:10px;
    margin-top:auto;
  }

  .playitem_actions_cta{
    flex:1;
    text-align:center;
    padding:14px 18px;
    border-radius:999px;
    background:#ffb606;
    color:#fff;
    font-weight:700;
    text-decoration:none;
    transition:all 0.25s ease;
  }

  .playitem_actions_cta.secondary{
    background:#444;
  }


  .playitem.locked .playitem_img,
  .playitem.locked .playitem_description
  {
    filter:grayscale(1);
    opacity:0.5;
  }

  .playitem.locked{
      cursor: default !important;
  }

  .playitem:hover,
  .playitem-no-hover.hovered {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);    
    border-color:#ffb606!important;
  }

  .playitem.locked:hover {
    transform: none;
    box-shadow: none;
    background: initial;
    color:initial!important;
    border-color:initial;    
  }

  .roleplay-options {
    /*display: flex;
    justify-content: center;
    align-items: center;    
    gap: 0.2rem;
    flex-wrap: wrap;*/
    height: calc(100% - 100px - 30px);
    overflow-y: hidden;
    overflow-x: hidden;
    padding:10px;
    margin-top:10px;
  }

  .hidden{ display:none;}
  
.playitems-section
{
  overflow:scroll;
  position: relative;/*important pour le positionnement de paywall*/
  max-height: 100%;
  height: 100%;
  padding-bottom: 10px;
}
  .playitem_description{
    font-size:1rem;
  }
  .playitem_description p{
    font-style:italic;
    color:#666;
    margin-bottom:12px;
    height:40px;
  }

  .playitem_description li{
    text-align: left;
    list-style-type: none; /* Removes the bullet points */  
    padding: 0; 
    margin: 0; 
  }

  .playitem:hover,
  .playitem-no-hover.hovered {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);    
    border-color:#ffb606!important;
    border-width: 3px;
  }

  .paywall-message::before{
      content: "🔒";  
      font-size: 40px;      
      align-content: center;
      display: block;
      padding: 20px;
  }

 .paywall-message {
      position: relative;
      /*top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);*/
      text-align: center;
      background-color: rgba(255, 255, 255, 0.9);
      padding: 20px 10px;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0,0,0,0.1);
      z-index: 10;
    }

    .cta-button-register {
      margin-top: 10px;
      padding: 10px 20px;
      background-color: #ff9900;
      color: white;
      border: none;
      border-radius: 5px;
      cursor: pointer;
    }
   
    .scrollable-hidden {
        /*overflow: auto;*/
        scrollbar-width: none;       /* Firefox */
        -ms-overflow-style: none;    /* Internet Explorer & Edge */
      }

      .scrollable-hidden::-webkit-scrollbar {
        display: none;               /* Chrome, Safari & Opera */
      }

  @media only screen and (min-width: 1024px) {
  .header{
      max-height: 140px;
      height: 140px;    
  }
  .roleplay-options{
      height: calc(100% - 100px - 45px - 15px);
    }
  }
  @media only screen and (min-width: 820px) {
  .roleplay-options{
      height: calc(100% - 100px - 45px - 15px);
    }
  }

  @media only screen and (max-width: 620px) {
  .footer{
    bottom: 10px;
  }

  .roleplay-options{
    height: calc(100% - 100px - 45px - 15px);
  }

  .panel .logo{
    width: 40%;
  }
.playitem_img
{
  height:115px;
}
    img.membership_logo
    {
        height: 80px;
        top:0px;
    }
    .panel{       
      width:auto;            
    }   
    
    
    .header img {
      width: 5rem;
      height: 5rem;
    }

    .panel h2 {
      font-size:16px;
    }

    .panel .input div{
      flex-direction: column;
      justify-content: center; 
    }

    .panel .input input[type=text],
    .panel .input input[type=password] {
      margin-right:0px;      
    }
}

@media only screen and (max-width: 430px) {
  .playitem_img
  {
    height:115px;
  }
  .playitems-grid {
    max-height: calc(100% - 110px)!important;
  }
}