.wpcf7 .row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px;}
.wpcf7 .col-md-12, .wpcf7 .col-md-6, .wpcf7 .col-md-4, .wpcf7 .col-md-3 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; box-sizing: border-box; }
.csvb-layout-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start !important;
}
@media (min-width: 768px) {
    .wpcf7 .col-md-12 { flex: 0 0 100%; max-width: 100%; }
    .wpcf7 .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .wpcf7 .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .wpcf7 .col-md-3 { flex: 0 0 25%; max-width: 25%; }
}
.wpcf7 .mb-3 { margin-bottom: 24px; }

:where(.wpcf7) .form-label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 14px; }
:where(.wpcf7) input[type="text"], :where(.wpcf7) input[type="email"], :where(.wpcf7) input[type="tel"],
:where(.wpcf7) input[type="url"], :where(.wpcf7) input[type="number"], :where(.wpcf7) input[type="date"],
:where(.wpcf7) textarea, :where(.wpcf7) select { 
    width: 100%; max-width: 100%; padding: 8px 10px; font-size: 15px; line-height: 1.5;
    color: #2c3338; background-color: #fff; border: 1px solid #c3c4c7; border-radius: 4px; box-sizing: border-box; 
}


:where(.wpcf7) input:focus, :where(.wpcf7) textarea:focus, :where(.wpcf7) select:focus { border-color: #2271b1; outline: 0; box-shadow: 0 0 0 1px #2271b1; }
:where(.wpcf7) textarea { min-height: 120px; resize: vertical; }
:where(.wpcf7) input[type="submit"] { background-color: #2271b1; color: #fff; border: none; padding: 12px 28px; font-size: 16px; font-weight: 500; border-radius: 4px; cursor: pointer; }
:where(.wpcf7) input[type="submit"]:hover { background-color: #135e96; }

/* Drag & Drop Zone Styling */
.csvb-file-drop-zone {
    border: 2px dashed #b4b9be;
    background: #fdfdfd;
    padding: 30px;
    text-align: center;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    position: relative;
    margin-bottom: 10px;
}

.csvb-file-drop-zone:hover, 
.csvb-file-drop-zone.csvb-dragover {
    border-color: #2271b1;
    background: #f0f6fc;
}

.csvb-drop-icon {
    display: block;
    font-size: 32px;
    margin-bottom: 10px;
}

.csvb-drop-text {
    font-size: 14px;
    color: #50575e;
}

/* Hide the actual ugly input but keep it clickable */
.csvb-file-drop-zone input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* File List Styling */
.csvb-file-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}

.csvb-file-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #eef5fa; /* Match your screenshot's blue */
    border: 1px solid #d1e4f3;
    padding: 10px 15px;
    margin-bottom: 8px;
    border-radius: 4px;
    font-size: 14px;
    color: #3c434a;
}

.csvb-file-item span:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Remove Button Styling */
.csvb-remove-file {
    font-size: 16px;
    line-height: 1;
    transition: transform 0.1s ease, color 0.1s ease;
    padding: 5px;
}

.csvb-remove-file:hover {
    color: #d63638 !important; /* Strong Red */
    transform: scale(1.2);
}

/* Force the row to behave like a flex container */
.row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-right: -15px;
    margin-left: -15px;
}

/* Define the 50% width for the columns */
.col-md-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-right: 15px;
    padding-left: 15px;
    box-sizing: border-box;
}

/* Ensure the label and required star stay on the same line */
.form-label {
    display: block; /* Label takes full width */
    margin-bottom: 5px;
    font-weight: 500;
}

label .form-label {display:inline !important
}

/* Ensure mobile responsiveness (stack on small screens) */
@media (max-width: 767px) {
    .col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}