/* 1. Labels - Bold and Pure Black */
.istf-field label {
    display: block !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #000000 !important;
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* 2. Desktop Grid - Clean Horizontal */
.istf-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    align-items: end;
}

/* 3. Action Container - Centered Spacing */
.istf-actions { 
    display: flex;
    justify-content: center; 
    margin-top: 45px; /* Space above the button */
}

/* 4. SEARCH BUTTON - Fixed Size Green & Bold */
.istf-btn-search {
    background: #28a745 !important; 
    color: #ffffff !important;      
    height: 52px;
    width: 240px; /* Fixed professional width */
    font-size: 17px;
    font-weight: 900;
    border-radius: 10px;
    border: none;
    box-shadow: 0 4px 10px rgba(40, 167, 69, 0.25);
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.istf-btn-search:hover {
    background: #218838 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(40, 167, 69, 0.35);
}

/* 5. THE BIG SPACE - 80px Gap before Products */
.istf-results {
    margin-top: 80px !important; 
    border-top: 1px solid #eeeeee;
    padding-top: 50px;
    clear: both;
}

/* Loading Animation for Results */
.istf-results.loading { opacity: 0.5; }

/* Initial Instruction Area */
.istf-instruction {
    text-align: center;
    padding: 60px 20px;
    color: #999;
    font-weight: 600;
}

.istf-icon { font-size: 40px; display: block; margin-bottom: 10px; }

/* Mobile Adjustments */
@media (max-width: 768px) {
    .istf-row { grid-template-columns: 1fr; gap: 20px; }
    .istf-btn-search { width: 100%; } /* Full width on mobile */
    .istf-results { margin-top: 50px !important; }
}