*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;margin:0;overflow-x:hidden}
#tir42Container{width:100%;max-width:100%;min-width:0}
#tir42Container *{box-sizing:border-box}

.tir42Hidden{display:none!important}
.tir42Visible{display:block}
.tir42Disabled{pointer-events:none}
.tir42Invisible{visibility:hidden}
.tir42Transparent{opacity:0}
.tir42Opaque{opacity:1}

.tir42FadeIn{animation:tir42FadeIn .6s ease forwards}
.tir42FadeOut{animation:tir42FadeOut .6s ease forwards}

@keyframes tir42FadeIn{
from{opacity:0}
to{opacity:1}
}
@keyframes tir42FadeOut{
from{opacity:1}
to{opacity:0}
}

#tir42Intro{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:25px;
width:100%;
max-width:100%;
text-align:center
}

#tir42IntroImage{
width:90%;
max-width:500px;
overflow:hidden;
border:2px solid rgba(214,180,106,.7);
border-radius:18px;
box-shadow:0 0 30px rgba(214,180,106,.25),0 15px 40px rgba(0,0,0,.45);
line-height:0
}

#tir42IntroImage img{display:block;width:100%;height:auto}

#tir42IntroContent{width:100%;max-width:900px;margin:auto}

#tir42IntroTitre{
margin:0 0 20px;
font-size:clamp(2rem,4vw,3rem);
font-weight:normal;
color:#f0d88a
}

#tir42IntroTexte{margin:0;line-height:1.5;font-size:1rem}
#tir42BtnStart{margin-top:30px}
.btntir{display:inline-flex!important;justify-content:center;align-items:center}

#tir42Selection{
display:flex;
justify-content:center;
align-items:flex-start;
gap:clamp(8px,2vw,25px);
width:100%;
max-width:100%;
margin:0
}

.tir42Slot{
flex:0 1 auto;
width:auto;
display:flex;
flex-direction:column;
align-items:center
}

.tir42SlotTitle{
margin:0;
font-size:clamp(.85rem,2vw,1.2rem);
font-weight:normal;
color:#f0d88a;
text-align:center
}

.tir42SelectedCard{
width:clamp(50px,12vw,85px);
aspect-ratio:214/307;
border:2px dashed rgba(255,255,255,.20);
border-radius:10px;
display:flex;
align-items:center;
justify-content:center;
background:rgba(255,255,255,.04);
transition:.4s;
overflow:hidden;
position:relative
}

.tir42SelectedCard img{
display:block;
width:100%;
height:100%;
object-fit:contain;
background:#16130d
}

#tir42Game{
width:100%;
max-width:100%;
min-width:0;
overflow:visible;
text-align:center
}

#tir42InfoBar{
display:inline-block;
width:auto;
max-width:90%;
margin:15px;
padding:14px 18px;
background:rgba(255,255,255,.05);
border:1px solid rgba(216,199,155,.25);
border-radius:8px;
text-align:center
}

#tir42InfoText{
width:100%;
max-width:100%;
margin:0;
overflow-wrap:break-word;
font-size:1rem;
line-height:1.5;
color:#e6d7b2;
transition:opacity .4s ease
}

#tir42RibbonContainer{
width:100%;
max-width:100%;
min-width:0;
overflow:hidden;
margin:15px auto 25px;
padding:35px 0 25px;
display:flex;
justify-content:center;
align-items:flex-end
}

#tir42Ribbon{
display:flex;
align-items:flex-end;
justify-content:center;
    width:max-content;
margin:0;
padding:0;
flex-wrap:nowrap
}

.tir42RibbonCard{
position:relative;
width:45px;
height:64px;
flex:0 0 45px;
margin-left:-35px;
cursor:pointer;
transition:transform .30s ease,margin-bottom .30s ease,filter .30s ease,opacity .30s ease,box-shadow .30s ease;
user-select:none;
z-index:1
}

.tir42RibbonCard img{
display:block;
width:100%;
height:100%;
object-fit:contain;
border-radius:8px;
box-shadow:0 4px 10px rgba(0,0,0,.45);
pointer-events:none
}

.tir42RibbonCard:hover{transform:translateY(-18px);z-index:50}

.tir42RibbonCard.tir42Chosen{
opacity:0;
pointer-events:none;
cursor:default;
transform:none
}

.tir42RibbonCard.tir42Chosen img{visibility:hidden}

#tir42Ribbon.tir42Locked{pointer-events:none}
#tir42Ribbon.tir42Locked .tir42RibbonCard{cursor:default;filter:grayscale(.55)}
#tir42Ribbon.tir42Locked .tir42RibbonCard:hover

#tir42RibbonContainer.tir42RibbonMasque{display:none}

#tir42RibbonContainer.tir42RibbonHide{animation:tir42RibbonHide .8s ease forwards}

@keyframes tir42RibbonHide{
0%{opacity:1;transform:translateY(0)}
60%{opacity:.5}
100%{opacity:0;transform:translateY(20px);visibility:hidden;height:0;margin:0;padding:0}
}



.tir42CardFlip{width:100%;height:100%;perspective:1000px}

.tir42CardInner{
position:relative;
width:100%;
height:100%;
transition:transform .8s;
transform-style:preserve-3d
}

.tir42CardFront,
.tir42CardBack{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border-radius:10px;
overflow:hidden;
backface-visibility:hidden;
-webkit-backface-visibility:hidden
}

.tir42CardFront img,
.tir42CardBack img{
display:block;
width:100%;
height:100%;
object-fit:contain
}

.tir42CardBack{transform:rotateY(180deg)}
.tir42Flipped .tir42CardInner{transform:rotateY(180deg)}

#tir42ReadingContent{
display:flex;
align-items:flex-start;
justify-content:center;
gap:clamp(30px,5vw,70px);
width:100%;
max-width:100%;
margin-top:0
}

.ORTIR-container{padding:0!important}
#tir42CardTitle h2{margin-bottom:0!important}

#tir42ReadingCard{
flex:0 0 300px;
padding-top:40px;
	margin: 10px;
display:flex;
flex-direction:column;
align-items:center
}

#tir42BigCardContainer{
padding:0;
border-radius:18px;
background:radial-gradient(circle,rgba(240,216,138,.35),rgba(240,216,138,0) 70%);
border:1px solid rgba(216,199,155,.35);
box-shadow:0 0 35px rgba(214,180,106,.25)
}

#tir42BigCardImage{
width:300px;
height:auto;
display:block;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,.55)
}

#tir42CardTitle{
text-align:center;
color:#f0d88a;
font-size:clamp(.9rem,1.8vw,1.4rem);
font-weight:normal;
letter-spacing:2px;
text-transform:uppercase
}

#tir42ReadingText{flex:1;}

#tir42DefinitionBlock,
#tir42AnswerBlock,
.tir42ReadingBlock{
background:rgba(255,255,255,.05);
border:1px solid rgba(216,199,155,.25);
border-radius:14px;
box-shadow:0 8px 25px rgba(0,0,0,.25)
}

#tir42DefinitionBlock,
#tir42AnswerBlock{padding:15px}

#tir42AnswerBlock{margin-top:15px}

.tir42ReadingBlock{
padding:15px;
margin:10px
}

.tir42ReadingBlock:first-of-type

.tir42BlockTitle{
margin:0;
color:#f0d88a;
font-size:1.25rem;
font-weight:normal;
letter-spacing:1px
}

#tir42DefinitionText,
#tir42AnswerText,
.tir42ReadingBlock>div{
line-height:1.5;
color:#e6d7b2;
font-size:1rem
}

.tir42ReadingBlock .tir42BlockTitle{
margin:0 0 8px;
font-size:1.15rem
}

.tir42ReadingBlock>div{overflow-wrap:break-word}

.tir42MotsclesListe{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px
}

.tir42MotCle{display:inline-block}

@media (max-width:1270px){
#tir42RibbonContainer{
padding-left:0;
padding-right:0
}

.tir42RibbonCard{
/* width:clamp(38px,4.8vw,52px); */
flex:0 0 clamp(38px,4.8vw,52px);
margin-left:clamp(-45px,-4vw,-30px)
}

}

@media (max-width:900px){
.tir42RibbonCard{
width:40px;
flex:0 0 40px;
margin-left:-31px
}
}

@media (max-width:800px){
#tir42BtnStart{margin-bottom:80px!important}
#tir42AnswerBlock{margin-bottom:70px}
#tir42InfoBar{margin:15px auto 50px!important}

#tir42ReadingContent{
flex-direction:column;
align-items:center;
gap:30px;
height:auto
}

#tir42ReadingCard{
width:325px;
flex:0 0 auto;
align-self:center;
padding-top:40px;
margin-left:auto;
margin-right:auto
}

#tir42ReadingText{
flex:0 0 auto;
width:100%;
max-width:100%;
min-width:0;
height:auto
}

#tir42DefinitionBlock,
#tir42AnswerBlock,
.tir42ReadingBlock{
padding:18px;
margin:10px
}
}

@media (max-width:700px){
#tir42RibbonContainer{touch-action:pan-x}

.tir42RibbonCard{
width:36px;
flex:0 0 36px;
margin-left:-30px
}
}

@media (max-width:500px){
.tir42RibbonCard{
width:34px;
flex:0 0 34px;
margin-left:-29px
}
}

@media (max-width:420px){
.tir42RibbonCard{
width:32px;
flex:0 0 32px;
margin-left:-28px
}
}

@media (max-width:380px){
#tir42CardTitle{font-size:1.1rem}
}

@media (max-width:360px){
#tir42Selection{gap:5px}

.tir42SelectedCard{width:58px}

.tir42SlotTitle{font-size:.75rem}

.tir42RibbonCard{
width:30px;
flex:0 0 30px;
margin-left:-27px
}
}

@media (max-width: 770px) {

  .ORACLES-CONTENEUR {
    padding-bottom: 220px !important;
    box-sizing: border-box !important;
  }

  .ORTIR-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;

    z-index: 999999 !important;

    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    padding: 10px !important;
    gap: 8px !important;

    background: #17111f !important;
  }

  .ORTIR-bar .btntir,
  .ORTIR-bar .ORTIR-paypal-btntir {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
  }

  .ORTIR-paypal-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ORTIR-fullscreen {
    display: none !important;
  }
}
