/* =========================================================
   COMPONENT : MusiclicLetter
   Version : 1.0
   Rôle : lettre / correspondance à auteur inconnu
   ========================================================= */

.musiclic-letter{
  position:absolute;
  left:50%;
  top:50%;
  width:min(760px,90%);
  max-height:86%;
  overflow:auto;
  transform:translate(-50%,-50%) rotate(-0.4deg);

  background:
    linear-gradient(rgba(255,255,255,.18),rgba(255,255,255,.04)),
    #ead8b6;

  color:#2b2118;
  padding:30px 36px;
  border-radius:7px;
  box-shadow:0 16px 38px rgba(0,0,0,.38);

  font-family:Georgia,"Times New Roman",serif;
  animation:musiclicLetterArrive .55s ease both;
}

.musiclic-letter::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:7px;
  pointer-events:none;
  box-shadow:inset 0 0 50px rgba(88,55,28,.23);
}

.musiclic-letter > *{
  position:relative;
  z-index:1;
}

.musiclic-letter-header{
  border-bottom:1px solid rgba(43,33,24,.22);
  padding-bottom:14px;
  margin-bottom:22px;
}

.musiclic-letter-kicker{
  display:block;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.18em;
  opacity:.70;
  margin-bottom:5px;
}

.musiclic-letter-title{
  display:block;
  font-size:26px;
  font-weight:normal;
  line-height:1.25;
}

.musiclic-letter-note{
  margin:0 0 20px;
  padding:14px 17px;
  background:rgba(255,255,255,.24);
  border-left:4px solid rgba(112,34,26,.42);
  border-radius:6px;
  font-size:15px;
  line-height:1.55;
}

.musiclic-letter-paper{
  position:relative;
  margin:18px auto 24px;
  padding:30px 34px;
  max-width:610px;

  background:
    linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.04)),
    #f2e4c5;

  border-radius:5px;
  box-shadow:
    0 10px 24px rgba(0,0,0,.20),
    inset 0 0 32px rgba(88,55,28,.16);
}

.musiclic-letter-paper::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:18px;
  height:1px;
  background:rgba(43,33,24,.13);
}

.musiclic-letter-meta{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
  font-size:14px;
  opacity:.78;
}

.musiclic-letter-body{
  font-size:18px;
  line-height:1.75;
}

.musiclic-letter-body p{
  margin:0 0 16px;
}

.musiclic-letter-signature{
  margin-top:24px;
  text-align:right;
  font-style:italic;
  opacity:.72;
}

.musiclic-letter-missing{
  display:inline-block;
  min-width:120px;
  border-bottom:2px solid rgba(43,33,24,.45);
  color:transparent;
}

.musiclic-letter-question{
  margin:22px 0 14px;
  font-size:18px;
  line-height:1.45;
}

.musiclic-letter-choices{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:14px;
}

.musiclic-letter-choice{
  padding:13px 15px;
  border:1px solid rgba(43,33,24,.20);
  border-radius:7px;
  background:rgba(255,255,255,.28);
  color:#2b2118;
  cursor:pointer;
  text-align:left;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.3;
  transition:background .2s ease,transform .18s ease;
}

.musiclic-letter-choice:hover{
  background:rgba(255,255,255,.46);
  transform:translateY(-1px);
}

.musiclic-letter-choice.is-selected{
  background:#4d3421;
  color:#fff;
  border-color:#4d3421;
}

.musiclic-letter-actions{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid rgba(43,33,24,.16);
}

.musiclic-letter-button{
  padding:11px 20px;
  border:0;
  border-radius:6px;
  background:#4d3421;
  color:#fff;
  cursor:pointer;
  font-weight:bold;
  box-shadow:0 6px 14px rgba(0,0,0,.24);
}

.musiclic-letter-button:hover{
  background:#332214;
}

.musiclic-letter-feedback{
  display:none;
  margin-top:16px;
  padding:15px 18px;
  border-radius:7px;
  background:rgba(255,255,255,.25);
  border-left:4px solid rgba(112,34,26,.52);
  line-height:1.5;
}

.musiclic-letter-feedback.is-visible{
  display:block;
}

.musiclic-letter-feedback.is-success{
  border-left-color:rgba(70,112,58,.72);
}

.musiclic-letter-next{
  display:none;
  margin-top:16px;
}

.musiclic-letter-next.is-visible{
  display:block;
}

.musiclic-letter.is-revealed .musiclic-letter-missing{
  color:inherit;
  border-bottom-color:transparent;
}

@keyframes musiclicLetterArrive{
  from{opacity:0;transform:translate(-50%,-43%) rotate(-0.4deg);}
  to{opacity:1;transform:translate(-50%,-50%) rotate(-0.4deg);}
}

@media(max-width:768px){
  .musiclic-letter{
    width:90%;
    padding:22px;
    max-height:84%;
  }

  .musiclic-letter-title{
    font-size:21px;
  }

  .musiclic-letter-paper{
    padding:24px 22px;
  }

  .musiclic-letter-body{
    font-size:16px;
    line-height:1.6;
  }

  .musiclic-letter-meta{
    display:block;
  }

  .musiclic-letter-choices{
    grid-template-columns:1fr;
  }

  .musiclic-letter-button{
    width:100%;
  }
}
