/* ====== turnament style start  ====== */

.d-grid, #cs-tournament-matches{
    display: grid;
    gap:30px;
}

.grid-column-1, #cs-tournament-matches{
        grid-template-columns: repeat(1, 1fr);
}

@media(min-width: 768px){ 
    .grid-column-md-2, #cs-tournament-matches{
        grid-template-columns: repeat(2, 1fr);
    }
}
/* === PROGRESS BAR WRAPPER ======================= */
#cs-progress-wrapper {
    width: 100%;
    padding: 0;
    max-width: 630px;
    margin: 0 auto;
}

/* === MAIN UL =================================== */
.cs-progress-steps {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  margin: 0;
  position: relative;
}

/* === EACH STEP ================================= */
.cs-progress-steps li {
  position: relative;
  flex: 1;
  text-align: center;
}

/* === CONNECTING LINE =========================== */
.cs-progress-steps li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -50%;
  width: 100%;
  height: 2px;
  background: #F0F0F0;
  z-index: 1;
}
.cs-progress-steps li.active::before {
    background: #57c84d;
}
.cs-progress-steps li:first-child::before {
  display: none;
}

/* === CIRCLE ==================================== */
.cs-step-circle {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffffff;
    color: #707070;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    position: relative;
    z-index: 2;
    border: 2px solid #F0F0F0;
}

/* === COMPLETED STEP ============================ */

.cs-progress-steps li.completed .cs-step-circle {
    background: var(--secondary-color);
    color: #fff;
    overflow: hidden;
    text-indent: -99px;
    position: relative;
}

.cs-progress-steps li.completed .cs-step-circle:after {
    content: '';
    width: 12px;
    height: 6px;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(-45deg);
    position: absolute;
    left: 7px;
    top: 9px;
}
.cs-progress-steps li.completed .cs-step-circle{
    border: 2px solid var(--secondary-color);
}

.cs-progress-steps li.completed::before {
  background: #57c84d;
}

/* === ACTIVE STEP ============================== */
.cs-progress-steps li.active .cs-step-circle {
  background: #fff;
  color: #57c84d;
  border: 2px solid #57c84d;
}


.cs-error-message.active {
    color: red;
    padding: 15px 0px;
}
#cs-progress-indicator {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--secondary-color);
    padding-bottom: 60px;
    margin-bottom: 40px;
    background: linear-gradient(to right, var(--secondary-color), var(--secondary-color)) no-repeat bottom left;
    background-size: 0% 3px;
    transition: background-size 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    margin: 0 -86px;
}

#crowdseek-tournament-form {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

#crowdseek-tournament-form{
     h1, h2, h3, h4, h5{
        color: var(--primary-color);
        font-family: var(--font-family-heading);
        font-weight: 600;
    }
    p{
        color: var(--content-color);
        font-family: var(--font-family-content);
    }

    
    .cs-page{
        max-width: 1060px;
        margin:0 auto;
        border-radius: 20px;
        box-shadow: 0 0 30px 0 rgba(0,0,0,0.1);
        padding: 50px;
        /* text-align: center; */
        h2, h3{
            font-size: 28px;
            margin: 0;
        }
        p{
            font-size: 16px;
            line-height: normal;
        }
        .cs-question-prompt-text {
            font-weight: 400;
            line-height: 26px !important;
        }
        .cs-welcome-details {
                background: #f7f7f7;
                border-radius: 20px;
                padding: 30px 10px;
                margin-top: 30px;
        }
        .cs-welcome-details p {
            font-size: 18px;
            margin: 0 0;
            color: #343434;
            font-weight: 500;
            strong{
                font-weight: 600;
            }
        }
         .cs-welcome-details p + p{
            margin-top: 10px;
         }
         .cs-button-group{
            margin-top: 30px;
            display: grid;
            grid-template-columns: repeat(2, max-content);
            justify-content: space-between;
         }
    }

    .cs-prev-button, .cs-next-button, #cs-submit-button{
        font-size: 16px;
        padding: 12px 26px;
        border-radius: 0px;
        text-align: center;
        border: 1px solid transparent;
        color: var(--white-color);
        display: inline-block;
        text-transform: capitalize;
        line-height: normal;
        cursor: pointer;
        font-weight: 600;
        background: var(--btn-gredient);
        transition: var(--transition);
        background-repeat: no-repeat !important;
        background: var(--btn-gredient);
        width: 100%;
        border-radius: 6px;
    }

    .cs-next-button, #cs-submit-button{
       background: var(--btn-gredient);
    }
    .cs-prev-button{
        background: var(--primary-color);
    }

    .quiz-tree-icon {
        margin-bottom: 20px;
        text-align: center;
    }

    #cs-page-1{
        max-width: 650px;
        padding: 40px 80px;
        text-align: center;
         .cs-button-group{
             grid-template-columns: repeat(1, 1fr);
         }
         
         h2{
            margin-bottom: 10px;
         }

         .cs-intro-text {
            line-height: 26px;
        }
    }

    .cs-question-prompt {
        font-size: 20px !important;
        font-weight: 600;
        color: var(--primary-color) !important;
        text-align: left;
        margin: 15px 0 7px;
    }

      .quiz-grid-outer{
            display: grid;
            grid-template-columns: repeat(1,1fr);
            gap: 15px;
            text-align: left;
            background: #f7f7f7;
            padding:30px;
        }

        #cs-final-form .quiz-grid-outer{
            grid-template-columns: repeat(3,1fr);
        }
        .cs-goal-card.disabled{
            opacity: 0.5;
            pointer-events: none;
            border: 1px solid #b7b7b7;
            background: #f1f1f1;
        }
        .cs-goal-card {
            background: #ffffff;
            border-radius: 15px;
            position: relative;
            padding: 15px;
            border:1px solid transparent;
            display: flex;
            gap: 15px;
            align-items: flex-start;
            .quiz-icon {
                width: 30px;
                flex-shrink: 0;
            }
            [type="radio"]{
                position: absolute;
                width: 100%;
                height: 100%;
                left: 0;
                top: 0;
                opacity: 0;
                cursor: pointer;
                margin:0;
            }
    }
    .cs-goal-card:has([type="radio"]:checked){
        border:1px solid var(--secondary-color);
        /* background: #f0ffee; */
    }

    .cs-goal-card:hover{
        background: #f0ffee;
    }
    
    .cs-goal-card label{
        font-size: 16px;
        color: var(--content-color);
        width:100%;
    }

    .cs-goal-card label strong {
        display: block;
        font-weight: 600;
        margin: 0 0 10px;
        color: #343434;
    }

    .cs-goal-group-outer h4 {
        margin-top: 0px;
        margin-bottom: 0px;
        font-size: 22px;
    }

    .cs-final-goal-header {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .cs-final-goal-header h4 {
        width: 100%; 
    }

    .heading-icon {
        width: 30px;
        flex-shrink: 0;
    }


    .cs-reflection-block textarea,
        input[type="text"], input[type="email"], input[type="url"], 
        input[type="password"], input[type="search"], input[type="tel"],
        input[type="number"], textarea, select {
            width: 100%;
            background: #F8F8F8;
            border: none;
            padding: 10px 20px;
            box-sizing: border-box;
        }

          .cs-reflection-block textarea:focus,
            input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, 
            input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
            input[type="number"]:focus, textarea:focus, select:focus {
                outline: 0;
        }
        
    
     .cs-reflection-block textarea {
        padding: 20px 20px;
        height: 150px;
    }


    #cs-contact-details {
        margin-top: 40px;
    }

    .qiz-form-outer {
        margin-top: 30px;
        padding: 30px;
        max-width: 690px;
        box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
        border-radius: 20px;
        .field-col{
            padding-bottom: 15px;
        }

        label{
            font-size: 16px;
            font-weight: 500;
            margin-bottom: 5px;
            display: inline-block;
            color: #707070;            
        }

        

    #cs-reflection-questions {
        margin-top: 40px;
    }

    p.cs-question-prompt-text {
        line-height: 26px;
        font-weight: 400;
    }
    
    p.cs-question-prompt {
        line-height: 1;
        
    }

    #cs-page-1 {
        h2{
            margin-bottom: 20px;
        }        
    }
}

#cs-confirmation h3 {
    color: var(--secondary-color);
            margin: 0 0 15px;
}
#cs-confirmation p {
    font-size: 18px;
    color: #707070;
    font-weight: 500;
}

.cs-final-goals-summary ol {
    padding-left: 24px;
}

.cs-final-goals-summary li {
    font-size: 18px;
    color: #343434;
    padding: 4px 0;
}

.cs-final-goals-summary + p {
    color: #ff7800 !important;
    font-size: 20px !important;
    font-weight: 500;
    margin: 30px 0 0;
}

.cs-third-place-label {
    margin-top: 20px;
    display: block;
}

.checkbox-field [type="checkbox"] {
            position: absolute;
            left: -2px;
            width: 100%;
            height: 100%;
            z-index: 99;
            opacity: 0;
            cursor: pointer;
            top: 7px;
        }
        
        .checkbox-field label:before {
            content: '';
            width: 12px;
            height: 6px;
            border-left: 2px solid var(--secondary-color);
            border-bottom: 2px solid var(--secondary-color);
            position: absolute;
            left: 4px;
            top: 8px;
            transform: rotate(-45deg);
            opacity: 0;
        }

        .checkbox-field label:after {
            content: '';
            position: absolute;
            left: 0;
            width: 20px;
            height: 20px;
            border: 2px solid var(--secondary-color);
            top: 2px;
        }

        .checkbox-field [type="checkbox"]:checked + label:before {
            opacity: 1;
        }
        .checkbox-field {
            position: relative;
            label{
                padding-left: 40px;
                position: relative;
            }
        }
    }

.cs-page .cs-prompt-text {
    margin-top: 7px;
}

.centerplaced_grid:has(#match-Final){
        grid-template-columns: 1fr !important;
        .cs-goal-group-outer {
            max-width: 500px;
            margin: 0 auto;
        }
}

#cs-goal-ratings .cs-rating-block {
    margin-bottom: 25px;
}


#cs-confirmation .cs-final-goal-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}

#cs-confirmation .cs-final-goal-text strong {
    font-weight: 500;
}

#cs-confirmation .cs-final-goal-text strong .cs-rank-badge {
    display: inline-block;
    margin-right: 6px; 
}

#crowdseek-tournament-form #cs-confirmation  {
    max-width: 500px;
}
 

@media(max-width:991px){
    #cs-progress-wrapper {
        max-width: 50%;
    }

    #crowdseek-tournament-form{
        .cs-page {
            padding: 25px;
        }
    }
}

@media(max-width:767px){
    #crowdseek-tournament-form {
        #cs-page-1 {
            max-width: 650px;
            padding: 30px 20px;
            text-align: center;
        }
        h2, h3 {
            font-size: 24px;
        }

        #cs-final-form .quiz-grid-outer {
            grid-template-columns: repeat(2, 1fr);
        }
        .cs-goal-group-outer h4 {
            font-size: 20px;
        }

        .cs-question-prompt {
            font-size: 18px !important;
            margin-top:10px;
        }
    }

    #crowdseek-tournament-form {
    .cs-page {
            .cs-button-group {
                grid-template-columns: repeat(1, 1fr);
                gap: 10px;
            }
        }
    }
}

@media(max-width:639px){
    #crowdseek-tournament-form {
        #cs-final-form .quiz-grid-outer {
            grid-template-columns: repeat(1, 1fr);
        }
    }
}

#crowdseek-tournament-form {
    .quiz-grid-outer {
        height: 100%;
    }
    .main-wrapper, .cs-question-a, .cs-question-b{
      height: 100%;
      display: flex;
      flex-flow: column;
  }
}


/* REQUIRED FIELD ERROR HIGHLIGHT */
.error-field {
   border: 2px solid #ff00008c !important;
    padding: 14px;
    margin-bottom: 20px;
}

.cs-error-text {
  border: 2px solid #ff00008c !important;
}

