.wrapper {
    display: flex;
    gap: 20px;
}
.text {
    width: 55%;
    height: fit-content;
    font-size: 1.2vw;
    color: #f0F0F0;
    text-align: justify;
}
.text a {
    color: #f0F0F0;
    text-decoration: none;
}
.collage {
    position: relative;
    width: 45%;
    height: var(--text-height);
    overflow-y: hidden; 
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.gallery-item {
    background-color: #f0f0f0;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    width: calc(50% - 20px);    
    box-sizing: border-box;
}
.gallery-item .img-container {
    position: relative;
    width: 100%;
    padding-top: 133.33%; /* 4/3 * 100% = 133.33% gives a 3:4 ratio */
}
.gallery-item .img-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}
@media (max-width: 1100px) {
    .gallery-item {
      width: 100%;
    }
}
@media (max-width: 1100px) {
    .gallery-item {
        width: calc(50% - 20px);    
    }
}
@media (max-width: 1300px) {
    .text {
        width: 50%;
        font-size: 1.5vw;
    }
    .collage {
        width: 49%;
    }
}
@media (max-width: 1100px) {
    .text {
        width: 60%;
        font-size: 2vw;
    }
    .collage {
        width: 39%;
    }
}
@media (max-width: 1000px) {
    .wrapper {
        display: block;
    }
    .text {
        width: 100%;
    }
    .collage {
        width: 100%;
        height: 100vh;
    }
}
@media (max-width: 700px) {
    .text {
        font-size: 3vw;
    }
}
@media (max-width: 500px) {
    .text {
        font-size: 4vw;
    }
    .collage {
        height: 70vh;
    }
}

/* form */
.order {
    margin: 50px 0 50px 25%;
    padding: 50px;
    text-align: center;
    background-color: #f0F0F0;
    border-radius: 20px;
    box-sizing: border-box;
    width: 50%;
}
.form-group {
    margin-bottom: 20px;
    position: relative;
}
.order-form input, .order-form textarea {
    width: 90%;
    padding: 10px;
    font-size: 1.2vw;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid #2A2B2E;
    color: #465947;
    outline: none;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
    text-align: center;
}

.order-form input::placeholder, .order-form textarea::placeholder {
    color: #2A2B2E;
}
.order-form input:focus, .order-form textarea:focus {
    border-bottom: 2px solid #465947;
}
.submit-button {
    font-size: 1.5vw;
    padding: 10px 20px;
    cursor: pointer;
    background-color: #2A2B2E;
    color: #fff;
    border-radius: 10px;
    transition: background-color 0.3s ease;
    border: none;
}
.submit-button:hover {
    background-color: #465947;
}
input[type="file"] {
    opacity: 0;
    position: absolute;
    z-index: -1;
}
.custom-file-upload {
    display: inline-block;
    padding: 10px 20px;
    cursor: pointer;
    background-color: #2A2B2E;
    color: #fff;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}
.custom-file-upload:hover {
    background-color: #465947;
}
/* Order Calendar Container */
#orderCalendar {
    max-width: 900px;
    margin: 20px auto;       /* centers the calendar horizontally with some top/bottom margin */
    background-color: #fff;  /* white background */
    border: 1px solid #ddd;  /* light border */
    border-radius: 10px;     /* rounded corners */
    padding: 10px;           /* internal spacing */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* subtle drop shadow */
  }
  .fc-toolbar-title {
    text-transform: capitalize;
}
  
  /* Style the day cells for a smooth hover effect */
  .fc-daygrid-day-frame {
    transition: transform 0.2s ease;
    cursor: pointer; /* indicates clickability */
  }
  
  /* When hovering over a day cell, scale it slightly */
  .fc-daygrid-day-frame:hover {
    transform: scale(1.02);
  }
  
  /* Ensure background events do not block clicks */
  .fc-bg-event {
    pointer-events: none;
  }
  
@media (max-width: 1200px) {
    .order {
        width: 75%;
        margin: 50px 0 50px 12.5%;
    }
    .order-form input,
    .order-form textarea {
         width: 90%;
         font-size: 1.8vw;
    }
    .submit-button {
        font-size: 1.8vw;
    }
}
@media (max-width: 750px) {
    .order {
        width: 100%;
        margin: 50px 0;
    }
    .order-form input,
    .order-form textarea {
         width: 90%;
         font-size: 2.2vw;
    }
    .submit-button {
        font-size: 3vw;
    }
}
@media (max-width: 500px) {
    .order {
        padding: 20px;
    }
    .order-form input,
    .order-form textarea {
         width: 100%;
         font-size: 3.8vw;
    }
    .submit-button {
        font-size: 4.2vw;
    }
}