
.ticket{
    --left-width: 25%;
    --radius: 38px;
    --cut-size: 80px;
    --paper-color: #f2f2f2;
    --text: #000;
    --muted: #222;
    --accent-1: #101b58;
    --accent-2: #8f1d70;


    position: relative;
    width: 950px;
    height: 350px;
    display: flex;
    flex-direction: row;
    background: black;
    border-radius: 40px;
    overflow: hidden;


    font-family: AvenirLight;
    color:black;
    margin-bottom: 40px;
}


.ticket-left{
    width: 22%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-radius: 20px;
}

.ticket-left img{
    width: 50%;
    height: auto;
}


.ticket-right{
    position: relative;
    width: 78%;
    height: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    color: var(--text);
    background: var(--paper-color);
    border-left: 1px solid var(--muted);
    border-radius: 20px;
    padding: 30px;
}


.ticket-main-info{
    width: 60%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.ticket-description{
    width: 35%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0px;
    font-family: AvenirLight;
    font-size: 0.8em;
    padding-left: 20px;
}

p{
    margin: 0;
    padding: 0;
    font-weight: bolder;
}


.ticket-description ul{
    margin: 0;
    padding-left: 10px;
}

.ticket-description ul li{
    /* margin: 0;
    padding: 0; */
}

.ticket-split-line{
    position: relative;
    width: 100%;
    height: 1px;
    background: black;
    border-top: 1px solid black;
    margin-bottom: 20px;
}

.ticket-main-info h1{
    font-family: AvenirBold;
    font-size: 2.5em;
    font-weight: bolder;    
    margin: 0;
}

.ticket-main-info h1 span{
    font-size: 0.4em;
    font-weight: lighter;
}

.ticket-price{
    font-family: AvenirBold;
    font-size: 5.0em;
    font-weight: bolder;
}

.ticket-price span{
    font-size: 0.3em;
    font-weight: lighter;
}




.ticket-right::after {
  content: "";
  position: absolute;
  top: 0px;
  left: -12px;
  width: 24px;
  height: 100%;
  background:
    radial-gradient(circle, #000 7px, transparent 8px)
    center 10px / 24px 26px repeat-y;
  z-index: 4;
}


.ticket::before {
  content: "";
  position: absolute;
  left: calc(var(--cut-size) / -1.8);
  top: 50%;
  transform: translateY(-50%);
  width: var(--cut-size);
  height: var(--cut-size);
  background: #000;
  border-radius: 50%;
  z-index: 5;
}

.ticket::after {
  content: "";
  position: absolute;
  right: calc(var(--cut-size) / -1.8);
  top: 50%;
  transform: translateY(-50%);
  width: var(--cut-size);
  height: var(--cut-size);
  background: #000;
  border-radius: 50%;
  z-index: 5;
}

.ticket-disclosure{
    text-align: center;
}


/* .afiches{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.1;
} */

.afiches {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 80%;

    pointer-events: none;
    overflow: hidden;

    z-index: 0;
}

.afiche {
    position: absolute;

    width: 250px;
    height: 350px;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.05;
}

.afiche.left {
    left: -10;
    /* transform: translateX(-25%); */
}

.afiche.center {
    left: 50%;
    transform: translateX(-50%);
}

.afiche.right {
    right: -10px;
    /* transform: translateX(25%); */
}


/* MOBILE DEVICES */
@media (min-width:320px) and (max-width: 480px){
   .ticket{
        width: 100%;
        height: auto;
        border-radius: 20px;
        padding:10px;
        margin : 0px;
    }

    .ticket::before {
        left: -20px;
        width: 40px;
        height: 40px;
    }

    .ticket::after {
        right: -20px;
        width: 40px;
        height: 40px;
    }


    .ticket-main-info h1{
        font-size: 1.5em;
    }
   .ticket-price{
       font-size: 2.0em;
    } 

    .ticket-main-info h1 span{
        font-size: 0.5em;

    }

    .ticket-price span{
        font-size: 0.8em;
    }

    .ticket-description{
        display: none;
    }

    .ticket-main-info {
        width: 80%;
    }

    

    .ticket-right{
        width: 100%;
        padding:   10px;
        padding-left: 20px;
        gap: 0px;
    }

    .ticket-split-line{
        margin-bottom: 10px;
        width: 100%;
    }


    .ticket-right::after {
        background:
            radial-gradient(circle, #000000 3px, transparent 4px)
            center 10px / 24px 10px repeat-y;

    }

    h4{
        padding-left: 10px;
        padding-right: 10px;
    }

}