.doctorappoitment .gfield_description{ font-weight:600 !important; padding-bottom:5px !important;}
.doctorappoitment .gfield_validation_message{ font-weight: 400 !important;
    font-size: 14px !important;}

.gform_required_legend{ display:none;}
.gform_wrapper.gravity-theme .ginput_container_date input{ width:100% !important;}
.iconsblock {
    display: flex;
    align-items: center;   /* vertical center */
    gap: 8px; 
	font-weight: 700;             /* image aur text ke beech space */
}
.instruction {
    display: none;
}
/* Base (common for all) */
.gfield.gf-suffix {
    position: relative;
}

.gravity-theme.ui-datepicker .ui-datepicker-header select{background-image:none !important;}
.gfield.gf-suffix input {
    width: 100%;
    padding-right: 60px;
    height: 45px;
}
.bmibox input[type=text]{ border:2px solid #dddddd !important; border-radius:3px !important;}

/* Common suffix box */
.gfield.gf-suffix::after {
    position: absolute;
    right: 0;
    top: 70%;
    transform: translateY(-50%);
    height: 45px;
    width: 60px;
    background: #eee;
    border-left: 1px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    pointer-events: none;
}
.gform_wrapper .gfield.gf-suffix.gfield_error::after {
    top: 50% !important;
}
/* Only content changes */
.gfield.suffix-bpm::after { content: "bpm"; }
.gfield.suffix-kg::after { content: "kg"; }
.gfield.suffix-cm::after { content: "cm"; }
.gfield.suffix-bmi::after { content: "kg/m²"; }
.gfield.suffix-mmHg::after { content: "mmHg"; }

/* ===== SLOT FIELD ===== */
.timeslotcap { position: relative; }
.location-field select{ min-height:45px;}
.center-field select{ min-height:45px;}	
.timeslotcap select {
	min-height:45px;
    opacity: 0;
    visibility: hidden;
    transition: .3s ease;
}

.timeslotcap.loaded select {
    opacity: 1;
    visibility: visible;
}

/* Disabled state � same look but not clickable */
.timeslotcap.waiting select {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none;
    cursor: not-allowed;
    color: #aaa !important;
    background-color: #f5f5f5 !important;
    border-color: #ddd !important;
}

/* ===== LOADER ===== */
.timeslotcap .slot-loader {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #555;
    z-index: 5;
}

.timeslotcap .slot-loader::before {
    content: '';
    width: 18px; height: 18px;
    border: 2px solid #ddd;
    border-top-color: #000;
    border-radius: 50%;
    animation: slotSpin .7s linear infinite;
}

@keyframes slotSpin { to { transform: rotate(360deg); } }
