/* ==================== NISARG AYURVEDA PAGE STYLING ==================== */


/* ==================== MAIN SECTION ==================== */

.nisarg-booking-section {
    width: 100%;
    position: relative;
    padding: 70px 15px;
    background: #f7faf6;
}


/* ==================== FORM WRAPPER ==================== */

.nisarg-modal-overlay {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    background: transparent;
    backdrop-filter: none;

    opacity: 1;
    visibility: visible;

    padding: 0;

    z-index: auto;
}


/* ==================== FORM CONTAINER ==================== */

.nisarg-modal-container {
    background: #ffffff;

    width: 100%;
    max-width: 850px;

    margin: 0 auto;

    border-radius: 28px;

    padding: 40px;

    position: relative;

    box-shadow:
        0 20px 60px rgba(25, 70, 35, 0.10);

    border: 1px solid #dcebd4;

    transform: none;

    max-height: none;

    overflow: visible;
}


/* ==================== CLOSE BUTTON ==================== */

/* Page form ma close button ni jarur nathi */

.nisarg-close-btn {
    display: none;
}


/* ==================== HEADER ==================== */

.nisarg-modal-header {
    text-align: center;
    margin-bottom: 30px;
}


/* Badge */

.nisarg-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    background: #eaf2e8;
    color: #2e7d32;

    padding: 7px 16px;

    border-radius: 30px;

    font-size: 12px;
    font-weight: 700;

    margin-bottom: 12px;
}


/* Heading */

.nisarg-modal-header h2 {
    font-size: 30px;
    line-height: 1.3;

    font-weight: 800;

    color: #1a3022;

    margin: 0 0 8px;
}


/* Paragraph */

.nisarg-modal-header p {
    font-size: 14px;
    line-height: 1.7;

    color: #66756a;

    margin: 0 auto;

    max-width: 600px;
}


/* ==================== FORM ==================== */

.nisarg-booking-form {
    width: 100%;
}


/* ==================== TWO COLUMN ROW ==================== */

.nisarg-grid-row {
    /* display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)); */

    gap: 18px;
}


/* ==================== FIELD ==================== */

.nisarg-field {
    margin-bottom: 20px;
}


/* Labels */

.nisarg-field label {
    display: block;

    font-size: 13px;

    font-weight: 700;

    color: #1a3022;

    margin-bottom: 8px;
}


/* Label Icons */

.nisarg-field label i {
    color: #2e7d32;
    /* margin-right: 6px; */
}



/* ==================== INPUTS ==================== */

.nisarg-field input,
.nisarg-field select {
    width: 100%;

    min-height: 50px;

    padding: 12px 16px;

    border: 2px solid #e2ebd9;

    border-radius: 14px;

    font-size: 14px;

    background: #f9fbf8;

    color: #1a3022;

    outline: none;

    transition: all 0.3s ease;

    box-sizing: border-box;
}


/* Placeholder */

.nisarg-field input::placeholder {
    color: #98a39a;
}


/* Focus */

.nisarg-field input:focus,
.nisarg-field select:focus {
    border-color: #2e7d32;

    background: #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(46, 125, 50, 0.10);
}


/* ==================== SELECT ==================== */

.nisarg-select-wrapper {
    position: relative;
    width: 100%;
}


.nisarg-select-wrapper select {
    appearance: none;
    -webkit-appearance: none;

    padding-right: 45px;

    cursor: pointer;
}


.nisarg-select-wrapper::after {
    content: "\f078";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    color: #2e7d32;
    font-size: 12px;
    pointer-events: none;

    transition: transform 0.3s ease, color 0.3s ease;
}

/* When dropdown is focused */
.nisarg-select-wrapper:focus-within::after {
    transform: translateY(-50%) rotate(180deg);
    color: #1b5e20;
}


/* ==================== DATE ==================== */

.nisarg-field input[type="date"] {
    cursor: pointer;
}


/* ==================== SLOT GRID ==================== */

.nisarg-slots-grid {
display:flex !important;
align-items:center;
justify-content:center !important;
gap: 15px;
}
.wpcf7-form-control-wrap{width:100%;}
.wpcf7-recaptcha{
     display: flex !important;
    align-items: center;
    justify-content: center!important;
}

/* Slot */

.nisarg-slot-box {
    cursor: pointer;

    margin: 0 !important;
}


/* Hide radio button */

.nisarg-slot-box input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


/* ==================== SLOT CONTENT ==================== */

.nisarg-slot-content {
    min-height: 100px;

    background: #f7f9f6;

    border: 2px solid #e2ebd9;

    border-radius: 16px;

    padding: 16px;

    display: flex;

    align-items: center;

    gap: 14px;

    transition: all 0.3s ease;
}


/* Hover */

.nisarg-slot-box:hover
.nisarg-slot-content {
    border-color: #a8cfa3;

    background: #f2f8f0;

    transform: translateY(-2px);
}


/* ==================== SLOT ICON ==================== */

.nisarg-slot-icon {
    width: 45px;
    height: 45px;

    min-width: 45px;

    background: #eaf2e8;

    color: #2e7d32;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 16px;

    transition: all 0.3s ease;
}


/* Slot Heading */

.nisarg-slot-content strong {
    display: block;

    font-size: 14px;

    color: #1a3022;

    font-weight: 700;

    margin-bottom: 4px;
}


/* Slot Time */

.nisarg-slot-content span {
    display: block;

    font-size: 12px;

    color: #66776b;
}


/* ==================== CHECKED SLOT ==================== */

.nisarg-slot-box
input:checked
+
.nisarg-slot-content {
    background: #eaf2e8;

    border-color: #2e7d32;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px
        rgba(46, 125, 50, 0.15);
}


.nisarg-slot-box
input:checked
+
.nisarg-slot-content
.nisarg-slot-icon {
    background: #2e7d32;

    color: #ffffff;
}

.nisarg-slot-box
input:checked
+
.nisarg-slot-content
.nisarg-slot-icon i{
    /* background: #2e7d32; */

    color: #ffffff;
}


/* ==================== SUBMIT BUTTON ==================== */

.nisarg-submit-btn {
    width: 100%;

    min-height: 54px;

    background:
        linear-gradient(
            135deg,
            #2e7d32,
            #43a047
        );

    color: #ffffff;

    border: none;

    padding: 14px 25px;

    border-radius: 50px;

    font-size: 14.5px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 8px 22px
        rgba(46, 125, 50, 0.25);

    transition: all 0.35s ease;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    margin-top: 10px;
}


/* Hover */

.nisarg-submit-btn:hover {
    background:
        linear-gradient(
            135deg,
            #1b5e20,
            #2e7d32
        );

    transform: translateY(-2px);

    box-shadow:
        0 10px 28px
        rgba(46, 125, 50, 0.35);
}


.nisarg-submit-btn i {
    transition: transform 0.3s ease;
}


.nisarg-submit-btn:hover i {
    transform: translateX(5px);
}


/* ==================== TABLET ==================== */

@media (max-width: 768px) {

    .nisarg-booking-section {
        padding: 50px 15px;
    }


    .nisarg-modal-container {
        padding: 30px;
        border-radius: 22px;
    }


    .nisarg-modal-header h2 {
        font-size: 26px;
    }

}


/* ==================== MOBILE ==================== */

@media (max-width: 576px) {

    .nisarg-booking-section {
        padding: 35px 12px;
    }


    .nisarg-modal-container {
        padding: 25px 18px;

        border-radius: 18px;
    }


    .nisarg-modal-header {
        margin-bottom: 24px;
    }


    .nisarg-modal-header h2 {
        font-size: 22px;
    }


    .nisarg-modal-header p {
        font-size: 12.5px;
    }


    .nisarg-grid-row {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .nisarg-field input,
    .nisarg-field select {
        min-height: 48px;

        padding: 11px 14px;

        font-size: 13px;
    }


    .nisarg-slot-content {
        min-height: 90px;

        padding: 14px;
    }


    .nisarg-submit-btn {
        min-height: 50px;

        font-size: 13.5px;
    }

}
