Codice PHP:
    $hotel=$rigamenu['hotel'];
    
$hotel=str_replace("HOTEL ","",$hotel);
    
$hotel=str_replace("RESIDENCE ","",$hotel);
      
    
$sql_prezzo="select min(prezzo) as minore from offerte where albergo='$hotel'";

// e poi si trova:

if ($hotel=="HOTEL 4 STELLE SUPERIOR") { 
prova a stampare questa sequenza di manipolazione del campo "hotel" e controlla se la query e' coerente nel where albergo='$hotel' con il contenuto del campo.

Se nel campo hotel della tabella "albergo" ti trovi con "tipologia nome" cioe' con valori non atomici.... beh! alllora prendi in considerazione di sdoppiare il campo.

Non ho letto tutto lo script ma ti suggerisco proprio di stampare tutti i passaggi per vedere cosa succede. tieni presente che min() rende sempre una riga, comunque, con il minimo valore oppure zero se trova nulla.