
.container-fluid {
    max-width: 1200px;
    margin: 40px auto;
    padding: 40px;
    border-radius: 20px;

}

input[type="text"],
input[type="email"],
select,
textarea,
input[type="date"],
input[type="tel"] {
    border-radius: 0.5rem !important;
    padding: 0.6rem;
}

/* Submit button */
button[type="submit"] {
    padding: 0.75rem 2rem;
    font-weight: bold;
    border-radius: 8px;
    border: none;
    transition: background-color 0.3s ease;
}



    #package { display: none; }

    .package-option, .paymentmethod-option {
        transition: 0.2s ease;
    }

    .package-option,.party-option, .paymentmethod-option {         cursor: pointer; width: 250px;    }
    .lesson-card { cursor: pointer; }
    

    
    .party-option {
        transition: 0.2s ease;
    }

    .party-option input[type="checkbox"] {
        display: none;
    }



    .party-content {
        pointer-events: none; /* Prevent nested elements from hijacking click */
    }

    .partyname { font-weight: bolder; }
    .partydate { font-size: 80%;}

    .timeslot-row { padding: 10px 0; }

    #partiescost p { font-size: 90%; margin-top: 5px; }

    #lessons .day-separator, .intro { text-align: center; }
    .intro { margin: 5px 0 20px; padding: 10px 0; font-size: 1.5rem; }
    #lessons .day-separator:first-of-type {
    margin-top: 1rem !important; 
    }

    .lesson-card {
        transition: 0.3s ease;
        opacity: 1;
        text-align:center;
    }

    .lesson-wrapper { padding: 0 5px; }
    .lesson-card.soldout {
        pointer-events: none; /* fully disables click */
        cursor: not-allowed;
        opacity: 0.4;
    }

    .lesson-card:not(.dimmed):not(.selected):hover {
        transition: 0.3s ease;
        opacity: 1;
        text-align:center;
    }

 
    .lesson-card.dimmed {
        opacity: 0.4;
    }

    .lesson-card .card-body div.form-check { display: none; }

    .lesson-card .card-body .discipline { font-weight:normal; font-size:1rem;}
    .lesson-card .card-body .level {  font-weight: normal; font-size: 0.8rem; }
    .lesson-card .card-body .name {  font-size: 1.1rem; }
    .lesson-card .card-body .teachers {  font-size:0.8rem; font-weight: normal; font-style: italic;}

    .lesson-card.soldout {
    position: relative;
    overflow: hidden;
}

.lesson-card .ribbon {
    position: absolute;
    top: 12px;
    right: -45px;
    z-index: 10;
    width: 160px;
    text-align: center;

    transform: rotate(45deg);
    font-size: 0.75rem;
    font-weight: bold;
    padding: 4px 0;
}

input[name="payment_method"] + div {
    cursor: pointer;
}

.language-switcher {
    text-align: right;
    margin-top: 10px;
  }
  .language-switcher a {
    margin: 0 0.5rem;
    text-decoration: none;
    font-weight: bold;
  }